diff --git a/.bazelrc.common b/.bazelrc.common index d93c107637b79..e8cdda8d2ae9a 100644 --- a/.bazelrc.common +++ b/.bazelrc.common @@ -49,12 +49,11 @@ query --incompatible_no_implicit_file_export # Log configs ## different from default common --color=yes -common --show_progress +common --noshow_progress common --show_task_finish common --show_progress_rate_limit=10 build --progress_report_interval=10 -build --show_loading_progress -build --show_result=1 +build --noshow_loading_progress # Specifies desired output mode for running tests. # Valid values are diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index 870c64c6eb745..7a563f067a0f9 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -21,6 +21,9 @@ disabled: - x-pack/test/fleet_cypress/config.ts - x-pack/test/fleet_cypress/visual_config.ts - x-pack/test/functional_enterprise_search/cypress.config.ts + - x-pack/test/defend_workflows_cypress/cli_config.ts + - x-pack/test/defend_workflows_cypress/config.ts + - x-pack/test/defend_workflows_cypress/visual_config.ts - x-pack/test/osquery_cypress/cli_config.ts - x-pack/test/osquery_cypress/config.ts - x-pack/test/osquery_cypress/visual_config.ts @@ -223,6 +226,7 @@ enabled: - x-pack/test/licensing_plugin/config.public.ts - x-pack/test/licensing_plugin/config.ts - x-pack/test/lists_api_integration/security_and_spaces/config.ts + - x-pack/test/monitoring_api_integration/config.ts - x-pack/test/observability_api_integration/basic/config.ts - x-pack/test/observability_api_integration/trial/config.ts - x-pack/test/observability_functional/with_rac_write.config.ts @@ -290,3 +294,4 @@ enabled: - x-pack/performance/journeys/data_stress_test_lens.ts - x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts - x-pack/performance/journeys/ecommerce_dashboard_tsvb_gauge_only.ts + - x-pack/performance/journeys/dashboard_listing_page.ts diff --git a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts index 2468111d6933b..58d58dfe60814 100644 --- a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts +++ b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts @@ -294,14 +294,14 @@ export async function pickTestGroupRunOrder() { groups: [ { type: UNIT_TYPE, - defaultMin: 3, + defaultMin: 4, maxMin: JEST_MAX_MINUTES, overheadMin: 0.2, names: jestUnitConfigs, }, { type: INTEGRATION_TYPE, - defaultMin: 10, + defaultMin: 60, maxMin: JEST_MAX_MINUTES, overheadMin: 0.2, names: jestIntegrationConfigs, @@ -389,7 +389,7 @@ export async function pickTestGroupRunOrder() { label: 'Jest Tests', command: getRequiredEnv('JEST_UNIT_SCRIPT'), parallelism: unit.count, - timeout_in_minutes: 60, + timeout_in_minutes: 120, key: 'jest', agents: { queue: 'n2-4-spot', @@ -409,7 +409,7 @@ export async function pickTestGroupRunOrder() { label: 'Jest Integration Tests', command: getRequiredEnv('JEST_INTEGRATION_SCRIPT'), parallelism: integration.count, - timeout_in_minutes: 60, + timeout_in_minutes: 120, key: 'jest-integration', agents: { queue: 'n2-4-spot', diff --git a/.buildkite/pipelines/fleet/packages_daily.yml b/.buildkite/pipelines/fleet/packages_daily.yml index e64358661d7b9..cecd88a948ddc 100644 --- a/.buildkite/pipelines/fleet/packages_daily.yml +++ b/.buildkite/pipelines/fleet/packages_daily.yml @@ -7,21 +7,15 @@ steps: - wait - - command: .buildkite/scripts/steps/build_kibana.sh - label: Build Kibana Distribution and Plugins - agents: - queue: c2-16 - key: build - if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''" - timeout_in_minutes: 60 - - - wait - - command: .buildkite/scripts/steps/fleet/install_all_packages.sh label: Install All Packages agents: queue: n2-2 - key: linting + env: + # ensure that the FTR logs all output for these tests + DISABLE_CI_LOG_OUTPUT_CAPTURE: 'true' + # disable downloading a kibana build, this step does not use it + KIBANA_BUILD_ID: 'false' timeout_in_minutes: 90 - wait: ~ diff --git a/.buildkite/pipelines/pull_request/defend_workflows.yml b/.buildkite/pipelines/pull_request/defend_workflows.yml new file mode 100644 index 0000000000000..c88679a547ede --- /dev/null +++ b/.buildkite/pipelines/pull_request/defend_workflows.yml @@ -0,0 +1,15 @@ +steps: + - command: .buildkite/scripts/steps/functional/defend_workflows.sh + label: 'Defend Workflows Cypress Tests' + agents: + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '-1' + limit: 3 + - exit_status: '*' + limit: 1 + artifact_paths: + - "target/kibana-security-solution/**/*" diff --git a/.buildkite/pipelines/pull_request/observability_plugin.yml b/.buildkite/pipelines/pull_request/observability_plugin.yml index f994eac1a753c..55ffaf9f5f5f8 100644 --- a/.buildkite/pipelines/pull_request/observability_plugin.yml +++ b/.buildkite/pipelines/pull_request/observability_plugin.yml @@ -5,6 +5,8 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 + artifact_paths: + - 'x-pack/plugins/observability/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/synthetics_plugin.yml b/.buildkite/pipelines/pull_request/synthetics_plugin.yml index 258427e67ed3a..a091dbf3682c6 100644 --- a/.buildkite/pipelines/pull_request/synthetics_plugin.yml +++ b/.buildkite/pipelines/pull_request/synthetics_plugin.yml @@ -5,6 +5,8 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 + artifact_paths: + - 'x-pack/plugins/synthetics/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml b/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml index d418f5f5e8b5a..129baff36e6ef 100644 --- a/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml +++ b/.buildkite/pipelines/pull_request/ux_plugin_e2e.yml @@ -5,6 +5,8 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 + artifact_paths: + - 'x-pack/plugins/ux/e2e/.journeys/**/*' retry: automatic: - exit_status: '-1' diff --git a/.buildkite/scripts/common/env.sh b/.buildkite/scripts/common/env.sh index 54524568436c3..c357b5421a903 100755 --- a/.buildkite/scripts/common/env.sh +++ b/.buildkite/scripts/common/env.sh @@ -108,3 +108,6 @@ export BROWSERSLIST_IGNORE_OLD_DATA=true export TEST_GROUP_TYPE_UNIT="Jest Unit Tests" export TEST_GROUP_TYPE_INTEGRATION="Jest Integration Tests" export TEST_GROUP_TYPE_FUNCTIONAL="Functional Tests" + +# tells the gh command what our default repo is +export GH_REPO=github.com/elastic/kibana diff --git a/.buildkite/scripts/download_build_artifacts.sh b/.buildkite/scripts/download_build_artifacts.sh index 1e793346da33b..1b52e82c2d66b 100755 --- a/.buildkite/scripts/download_build_artifacts.sh +++ b/.buildkite/scripts/download_build_artifacts.sh @@ -4,25 +4,27 @@ set -euo pipefail source "$(dirname "$0")/common/util.sh" -if [[ ! -d "$KIBANA_BUILD_LOCATION/bin" ]]; then - echo '--- Downloading Distribution and Plugin artifacts' +if [[ "${KIBANA_BUILD_ID:-}" != "false" ]]; then + if [[ ! -d "$KIBANA_BUILD_LOCATION/bin" ]]; then + echo '--- Downloading Distribution and Plugin artifacts' - cd "$WORKSPACE" + cd "$WORKSPACE" - download_artifact kibana-default.tar.gz . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" - download_artifact kibana-default-plugins.tar.gz . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" + download_artifact kibana-default.tar.gz . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" + download_artifact kibana-default-plugins.tar.gz . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" - mkdir -p "$KIBANA_BUILD_LOCATION" - tar -xzf kibana-default.tar.gz -C "$KIBANA_BUILD_LOCATION" --strip=1 + mkdir -p "$KIBANA_BUILD_LOCATION" + tar -xzf kibana-default.tar.gz -C "$KIBANA_BUILD_LOCATION" --strip=1 - if is_pr_with_label "ci:build-example-plugins"; then - # Testing against an example plugin distribution is not supported, - # mostly due to snapshot failures when testing UI element lists - rm -rf "$KIBANA_BUILD_LOCATION/plugins" - mkdir "$KIBANA_BUILD_LOCATION/plugins" - fi + if is_pr_with_label "ci:build-example-plugins"; then + # Testing against an example plugin distribution is not supported, + # mostly due to snapshot failures when testing UI element lists + rm -rf "$KIBANA_BUILD_LOCATION/plugins" + mkdir "$KIBANA_BUILD_LOCATION/plugins" + fi - cd "$KIBANA_DIR" + cd "$KIBANA_DIR" - tar -xzf ../kibana-default-plugins.tar.gz + tar -xzf ../kibana-default-plugins.tar.gz + fi fi diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.ts b/.buildkite/scripts/pipelines/pull_request/pipeline.ts index 24eb543701647..b9ac7a2435404 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.ts +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.ts @@ -66,12 +66,14 @@ const uploadPipeline = (pipelineContent: string | object) => { /^x-pack\/plugins\/timelines/, /^x-pack\/plugins\/triggers_actions_ui\/public\/application\/sections\/action_connector_form/, /^x-pack\/plugins\/triggers_actions_ui\/public\/application\/context\/actions_connectors_context\.tsx/, + /^x-pack\/test\/defend_workflows_cypress/, /^x-pack\/test\/security_solution_cypress/, /^fleet_packages\.json/, // It contains reference to prebuilt detection rules, we want to run security solution tests if it changes ])) || GITHUB_PR_LABELS.includes('ci:all-cypress-suites') ) { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/security_solution.yml')); + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/defend_workflows.yml')); } if ( @@ -118,6 +120,7 @@ const uploadPipeline = (pipelineContent: string | object) => { GITHUB_PR_LABELS.includes('ci:all-cypress-suites') ) { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/fleet_cypress.yml')); + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/defend_workflows.yml')); } if ( diff --git a/.buildkite/scripts/steps/checks.sh b/.buildkite/scripts/steps/checks.sh index 0e11ac04eea1d..c7c22d7958edc 100755 --- a/.buildkite/scripts/steps/checks.sh +++ b/.buildkite/scripts/steps/checks.sh @@ -6,18 +6,18 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/bootstrap.sh .buildkite/scripts/steps/checks/precommit_hook.sh -.buildkite/scripts/steps/checks/ftr_configs.sh +.buildkite/scripts/steps/checks/ts_projects.sh .buildkite/scripts/steps/checks/bazel_packages.sh +.buildkite/scripts/steps/checks/verify_notice.sh +.buildkite/scripts/steps/checks/plugin_list_docs.sh .buildkite/scripts/steps/checks/event_log.sh .buildkite/scripts/steps/checks/telemetry.sh -.buildkite/scripts/steps/checks/ts_projects.sh .buildkite/scripts/steps/checks/jest_configs.sh -.buildkite/scripts/steps/checks/plugin_list_docs.sh .buildkite/scripts/steps/checks/bundle_limits.sh .buildkite/scripts/steps/checks/i18n.sh .buildkite/scripts/steps/checks/file_casing.sh .buildkite/scripts/steps/checks/licenses.sh .buildkite/scripts/steps/checks/plugins_with_circular_deps.sh -.buildkite/scripts/steps/checks/verify_notice.sh .buildkite/scripts/steps/checks/test_projects.sh .buildkite/scripts/steps/checks/test_hardening.sh +.buildkite/scripts/steps/checks/ftr_configs.sh diff --git a/.buildkite/scripts/steps/checks/bazel_packages.sh b/.buildkite/scripts/steps/checks/bazel_packages.sh index a8a631ed48ae4..507b0d5bbdc1c 100755 --- a/.buildkite/scripts/steps/checks/bazel_packages.sh +++ b/.buildkite/scripts/steps/checks/bazel_packages.sh @@ -4,10 +4,6 @@ set -euo pipefail source .buildkite/scripts/common/util.sh -echo --- Check Bazel Packages Manifest -node scripts/generate packages_build_manifest -check_for_changed_files 'node scripts/generate packages_build_manifest' true - echo --- Check Codeowners Manifest if [ -f ".github/CODEOWNERS" ]; then node scripts/generate codeowners diff --git a/.buildkite/scripts/steps/checks/ts_projects.sh b/.buildkite/scripts/steps/checks/ts_projects.sh index a98f0f6d90f16..ed0c6890675c1 100755 --- a/.buildkite/scripts/steps/checks/ts_projects.sh +++ b/.buildkite/scripts/steps/checks/ts_projects.sh @@ -4,5 +4,11 @@ set -euo pipefail source .buildkite/scripts/common/util.sh -echo --- Check TypeScript Projects -node scripts/check_ts_projects +echo --- Run TS Project Linter +cmd="node scripts/ts_project_linter" +if is_pr && ! is_auto_commit_disabled; then + cmd="$cmd --fix" +fi + +eval "$cmd" +check_for_changed_files "$cmd" true diff --git a/.buildkite/scripts/steps/fleet/install_all_packages.sh b/.buildkite/scripts/steps/fleet/install_all_packages.sh index b02c930160f12..eb001b4399b86 100755 --- a/.buildkite/scripts/steps/fleet/install_all_packages.sh +++ b/.buildkite/scripts/steps/fleet/install_all_packages.sh @@ -7,5 +7,6 @@ source .buildkite/scripts/steps/functional/common.sh echo '--- Installing all packages' node scripts/functional_tests \ - --debug --bail \ + --debug \ + --bail \ --config x-pack/test/fleet_packages/config.ts diff --git a/.buildkite/scripts/steps/functional/defend_workflows.sh b/.buildkite/scripts/steps/functional/defend_workflows.sh new file mode 100755 index 0000000000000..814a6d0192b29 --- /dev/null +++ b/.buildkite/scripts/steps/functional/defend_workflows.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +.buildkite/scripts/bootstrap.sh +node scripts/build_kibana_platform_plugins.js + +export JOB=kibana-defend-workflows-cypress + +echo "--- Defend Workflows Cypress tests" + +node scripts/functional_tests \ + --debug --bail \ + --config x-pack/test/defend_workflows_cypress/cli_config.ts + diff --git a/.buildkite/tsconfig.json b/.buildkite/tsconfig.json index f40776430f39b..52a8d88f3d85c 100644 --- a/.buildkite/tsconfig.json +++ b/.buildkite/tsconfig.json @@ -1,12 +1,9 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "declarationMap": true, "incremental": false, "composite": false, - "emitDeclarationOnly": true, - "outDir": "./target/types", + "outDir": "target/types", "types": ["node", "mocha"], "paths": { "#pipeline-utils": [".buildkite/pipeline-utils/index.ts"], @@ -19,5 +16,8 @@ "scripts/**/*", "pipelines/flaky_tests/groups.json", "pull_requests.json" + ], + "exclude": [ + "target/**/*", ] } diff --git a/.eslintrc.js b/.eslintrc.js index 5a5648935685a..29956462b0343 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,12 +6,14 @@ * Side Public License, v 1. */ +require('@kbn/babel-register').install(); + const Path = require('path'); const Fs = require('fs'); const normalizePath = require('normalize-path'); const { discoverPackageManifestPaths, Jsonc } = require('@kbn/bazel-packages'); -const { REPO_ROOT } = require('@kbn/utils'); +const { REPO_ROOT } = require('@kbn/repo-info'); const APACHE_2_0_LICENSE_HEADER = ` /* @@ -137,6 +139,7 @@ const DEV_DIRECTORIES = [ '__mocks__', '__stories__', 'e2e', + 'cypress', 'fixtures', 'ftr_e2e', 'integration_tests', @@ -165,7 +168,7 @@ const DEV_FILE_PATTERNS = [ 'mock.{js,ts,tsx}', '_stubs.{js,ts,tsx}', '{testHelpers,test_helper,test_utils}.{js,ts,tsx}', - '{postcss,webpack}.config.js', + '{postcss,webpack,cypress}.config.{js,ts}', ]; /** Glob patterns which describe dev-only code. */ @@ -175,10 +178,10 @@ const DEV_PATTERNS = [ ...DEV_FILE_PATTERNS.map((file) => `{packages,src,x-pack}/**/${file}`), 'packages/kbn-interpreter/tasks/**/*', 'src/dev/**/*', - 'x-pack/{dev-tools,tasks,scripts,test,build_chromium}/**/*', - 'x-pack/plugins/*/server/scripts/**/*', - 'x-pack/plugins/fleet/cypress', + 'x-pack/{dev-tools,tasks,test,build_chromium}/**/*', 'x-pack/performance/**/*', + 'src/setup_node_env/index.js', + 'src/cli/dev.js', ]; /** Restricted imports with suggested alternatives */ @@ -599,6 +602,7 @@ module.exports = { 'x-pack/test/saved_object_api_integration/*/apis/**/*', 'x-pack/test/ui_capabilities/*/tests/**/*', 'x-pack/test/performance/**/*.ts', + '**/cypress.config.{js,ts}', ], rules: { 'import/no-default-export': 'off', diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0e3865ae5b28f..828a9e80f7c01 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -887,10 +887,13 @@ packages/kbn-ambient-ui-types @elastic/kibana-operations packages/kbn-analytics @elastic/kibana-core packages/kbn-apm-config-loader @elastic/kibana-core @vigneshshanmugam packages/kbn-apm-synthtrace @elastic/apm-ui +packages/kbn-apm-synthtrace-client @elastic/apm-ui packages/kbn-apm-utils @elastic/apm-ui packages/kbn-axe-config @elastic/kibana-qa -packages/kbn-babel-plugin-synthetic-packages @elastic/kibana-operations +packages/kbn-babel-plugin-package-imports @elastic/kibana-operations packages/kbn-babel-preset @elastic/kibana-operations +packages/kbn-babel-register @elastic/kibana-operations +packages/kbn-babel-transform @elastic/kibana-operations packages/kbn-bazel-packages @elastic/kibana-operations packages/kbn-bazel-runner @elastic/kibana-operations packages/kbn-cases-components @elastic/response-ops @@ -905,6 +908,7 @@ packages/kbn-config-mocks @elastic/kibana-core packages/kbn-config-schema @elastic/kibana-core packages/kbn-crypto @elastic/kibana-security packages/kbn-crypto-browser @elastic/kibana-core +packages/kbn-cypress-config @elastic/kibana-operations packages/kbn-datemath @elastic/kibana-app-services packages/kbn-dev-cli-errors @elastic/kibana-operations packages/kbn-dev-cli-runner @elastic/kibana-operations @@ -954,6 +958,7 @@ packages/kbn-monaco @elastic/kibana-global-experience packages/kbn-optimizer @elastic/kibana-operations packages/kbn-optimizer-webpack-helpers @elastic/kibana-operations packages/kbn-osquery-io-ts-types @elastic/security-asset-management +packages/kbn-package-map @elastic/kibana-operations packages/kbn-peggy @elastic/kibana-operations packages/kbn-peggy-loader @elastic/kibana-operations packages/kbn-performance-testing-dataset-extractor @elastic/kibana-performance-testing @@ -961,6 +966,8 @@ packages/kbn-plugin-discovery @elastic/kibana-operations packages/kbn-plugin-generator @elastic/kibana-operations packages/kbn-plugin-helpers @elastic/kibana-operations packages/kbn-react-field @elastic/kibana-app-services +packages/kbn-repo-info @elastic/kibana-operations +packages/kbn-repo-path @elastic/kibana-operations packages/kbn-repo-source-classifier @elastic/kibana-operations packages/kbn-repo-source-classifier-cli @elastic/kibana-operations packages/kbn-rison @elastic/kibana-operations @@ -985,13 +992,13 @@ packages/kbn-server-http-tools @elastic/kibana-core packages/kbn-server-route-repository @elastic/apm-ui packages/kbn-shared-svg @elastic/apm-ui packages/kbn-shared-ux-utility @elastic/kibana-global-experience +packages/kbn-slo-schema @elastic/actionable-observability packages/kbn-some-dev-log @elastic/kibana-operations packages/kbn-sort-package-json @elastic/kibana-operations packages/kbn-spec-to-console @elastic/platform-deployment-management packages/kbn-std @elastic/kibana-core packages/kbn-stdio-dev-helpers @elastic/kibana-operations packages/kbn-storybook @elastic/kibana-operations -packages/kbn-synthetic-package-map @elastic/kibana-operations packages/kbn-telemetry-tools @elastic/kibana-core packages/kbn-test @elastic/kibana-operations packages/kbn-test-jest-helpers @elastic/kibana-operations @@ -999,9 +1006,10 @@ packages/kbn-test-subj-selector @elastic/kibana-operations packages/kbn-timelion-grammar @elastic/kibana-visualizations packages/kbn-tinymath @elastic/kibana-visualizations packages/kbn-tooling-log @elastic/kibana-operations -packages/kbn-type-summarizer @elastic/kibana-operations -packages/kbn-type-summarizer-cli @elastic/kibana-operations -packages/kbn-type-summarizer-core @elastic/kibana-operations +packages/kbn-ts-project-linter @elastic/kibana-operations +packages/kbn-ts-project-linter-cli @elastic/kibana-operations +packages/kbn-ts-projects @elastic/kibana-operations +packages/kbn-ts-type-check-cli @elastic/kibana-operations packages/kbn-typed-react-router-config @elastic/apm-ui packages/kbn-ui-framework @elastic/kibana-design packages/kbn-ui-shared-deps-npm @elastic/kibana-operations @@ -1011,6 +1019,7 @@ packages/kbn-user-profile-components @elastic/kibana-security packages/kbn-utility-types @elastic/kibana-core packages/kbn-utility-types-jest @elastic/kibana-operations packages/kbn-utils @elastic/kibana-operations +packages/kbn-web-worker-stub @elastic/kibana-operations packages/kbn-yarn-lock-validator @elastic/kibana-operations packages/shared-ux/avatar/solution @elastic/kibana-global-experience packages/shared-ux/avatar/user_profile/impl @elastic/kibana-global-experience @@ -1063,5 +1072,9 @@ packages/shared-ux/storybook/mock @elastic/kibana-global-experience x-pack/packages/ml/agg_utils @elastic/ml-ui x-pack/packages/ml/aiops_components @elastic/ml-ui x-pack/packages/ml/aiops_utils @elastic/ml-ui +x-pack/packages/ml/is_defined @elastic/ml-ui x-pack/packages/ml/is_populated_object @elastic/ml-ui +x-pack/packages/ml/local_storage @elastic/ml-ui +x-pack/packages/ml/nested_property @elastic/ml-ui x-pack/packages/ml/string_hash @elastic/ml-ui +x-pack/packages/ml/url_state @elastic/ml-ui diff --git a/.gitignore b/.gitignore index e2e526faa5ff9..112d2775f01d6 100644 --- a/.gitignore +++ b/.gitignore @@ -94,8 +94,7 @@ report.asciidoc # Automatically generated and user-modifiable /tsconfig.refs.json -tsconfig.base.type_check.json -tsconfig.type_check.json +*.type_check.json # Yarn local mirror content .yarn-local-mirror @@ -111,5 +110,6 @@ elastic-agent-* fleet-server-* elastic-agent.yml fleet-server.yml -/packages/kbn-synthetic-package-map/synthetic-packages.json - +/packages/kbn-package-map/package-map.json +/packages/kbn-synthetic-package-map/ +**/.synthetics/ diff --git a/BUILD.bazel b/BUILD.bazel index e838d312d8762..02ed0e7a2973d 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -3,11 +3,18 @@ exports_files( [ "tsconfig.base.json", - "tsconfig.bazel.json", "tsconfig.browser.json", "tsconfig.browser_bazel.json", "tsconfig.json", - "package.json" + "package.json", + ".browserslistrc" ], visibility = ["//visibility:public"] ) + +config_setting( + name = "dist", + values = { + "define": "dist=true" + } +) diff --git a/NOTICE.txt b/NOTICE.txt index 5115746affeb2..bbf1204bb1fd8 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Kibana source code with Kibana X-Pack source code -Copyright 2012-2022 Elasticsearch B.V. +Copyright 2012-2023 Elasticsearch B.V. --- Pretty handling of logarithmic axes. @@ -135,6 +135,32 @@ THE SOFTWARE. This product uses Noto fonts that are licensed under the SIL Open Font License, Version 1.1. +--- +This project includes code from the NX project, which is MIT licensed: + +(The MIT License) + +Copyright (c) 2017-2022 Narwhal Technologies Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + --- Vendored copy of `strip-json-comments` so that we can use it when npm modules are not available. https://github.com/sindresorhus/strip-json-comments/tree/34b79cb0f1129aa85ef4b5c3292e8bc546984ef9 diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index 22b480c048a51..16ef1ac715e6e 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -541,9 +541,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -900,9 +900,9 @@ "(source: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -922,9 +922,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1537,9 +1537,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -1823,9 +1823,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -2366,17 +2366,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", @@ -2403,9 +2403,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2429,17 +2429,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", @@ -2466,9 +2466,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3029,78 +3029,6 @@ } ], "interfaces": [ - { - "parentPluginId": "actions", - "id": "def-common.ActionResult", - "type": "Interface", - "tags": [], - "label": "ActionResult", - "description": [], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "actions", - "id": "def-common.ActionResult.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "actions", - "id": "def-common.ActionResult.actionTypeId", - "type": "string", - "tags": [], - "label": "actionTypeId", - "description": [], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "actions", - "id": "def-common.ActionResult.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "actions", - "id": "def-common.ActionResult.config", - "type": "Object", - "tags": [], - "label": "config", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "actions", - "id": "def-common.ActionResult.isPreconfigured", - "type": "boolean", - "tags": [], - "label": "isPreconfigured", - "description": [], - "path": "x-pack/plugins/actions/common/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "actions", "id": "def-common.ActionsPublicConfigType", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 023cf82880b62..413b9153c5283 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Response Ops](https://github.com/orgs/elastic/teams/response-ops) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 226 | 8 | 221 | 24 | +| 220 | 8 | 215 | 24 | ## Client diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 287801ade33b0..5326a453f439a 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index c2e3eb192c2df..f1c2bdd3907df 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 0e4bd7ff4a69f..75f83e3ffe5c6 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -27,9 +27,9 @@ ") => string | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" } ], @@ -567,9 +567,9 @@ ") => Promise<{ filter?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" }, " | ", @@ -662,9 +662,9 @@ ") => Promise<{ filter?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" }, " | ", @@ -1754,9 +1754,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1776,9 +1776,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1802,17 +1802,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", @@ -1839,9 +1839,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1923,9 +1923,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -2111,9 +2111,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -2131,9 +2131,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -2151,9 +2151,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -2224,6 +2224,264 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "alerting", + "id": "def-server.RuleExecutorServices.share", + "type": "Object", + "tags": [], + "label": "share", + "description": [], + "signature": [ + { + "pluginId": "share", + "scope": "server", + "docId": "kibSharePluginApi", + "section": "def-server.SharePluginStart", + "text": "SharePluginStart" + } + ], + "path": "x-pack/plugins/alerting/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "alerting", + "id": "def-server.RuleExecutorServices.dataViews", + "type": "Object", + "tags": [], + "label": "dataViews", + "description": [], + "signature": [ + "{ get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; delete: (indexPatternId: string) => Promise<{}>; create: (spec: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; find: (search: string, size?: number) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]>; getCanSave: () => Promise; getIds: (refresh?: boolean) => Promise; getTitles: (refresh?: boolean) => Promise; getIdsWithTitle: (refresh?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" + }, + "[]>; clearCache: () => void; clearInstanceCache: (id?: string | undefined) => void; getCache: () => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSavedObjectAttrs", + "text": "DataViewSavedObjectAttrs" + }, + ">[] | null | undefined>; getDefault: (displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | null>; getDefaultId: () => Promise; setDefault: (id: string | null, force?: boolean) => Promise; hasUserDataView: () => Promise; getFieldsForWildcard: (options: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + ") => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]>; getFieldsForIndexPattern: (indexPattern: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", options?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + " | undefined) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]>; refreshFields: (dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", displayErrors?: boolean) => Promise; fieldArrayToMap: (fields: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[], fieldAttrs?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" + }, + " | undefined) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" + }, + "; savedObjectToSpec: (savedObject: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + "; createAndSave: (spec: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", override?: boolean, skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; createSavedObject: (dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", override?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; updateSavedObject: (indexPattern: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", saveAttempts?: number, ignoreErrors?: boolean, displayErrors?: boolean) => Promise; getDefaultDataView: (refreshFields?: boolean | undefined) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | null>; }" + ], + "path": "x-pack/plugins/alerting/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "alerting", "id": "def-server.RuleExecutorServices.ruleResultService", @@ -3113,7 +3371,7 @@ "section": "def-server.BulkOperationError", "text": "BulkOperationError" }, - "[]; rules: (", + "[]; total: number; rules: (", { "pluginId": "alerting", "scope": "common", @@ -3123,7 +3381,7 @@ }, " | ", "RuleWithLegacyId", - ")[]; total: number; taskIdsFailedToBeDeleted: string[]; }>; bulkEdit: )[]; taskIdsFailedToBeDeleted: string[]; }>; bulkEdit: & Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ", \"saved_object\">" diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 6d6693e8b7ea7..ba6194d7b8704 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Response Ops](https://github.com/orgs/elastic/teams/response-ops) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 427 | 0 | 418 | 37 | +| 429 | 0 | 420 | 37 | ## Client diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index ade152a680a3a..e266bcd23bd97 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -118,9 +118,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -165,9 +165,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -191,9 +191,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -207,9 +207,9 @@ "; telemetryCollectionEnabled: boolean; metricsInterval: number; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; forceSyntheticSource: boolean; }>>; getApmIndices: () => Promise>; createApmEventClient: ({ request, context, debug, }: { debug?: boolean | undefined; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; context: ", @@ -232,9 +232,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -275,9 +275,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: ", @@ -298,9 +298,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -370,9 +370,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -391,9 +391,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { licensing: Promise<", @@ -466,9 +466,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -549,9 +549,9 @@ ">; }; observability: { setup: { getAlertDetailsConfig(): Readonly<{} & { metrics: Readonly<{} & { enabled: boolean; }>; apm: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; uptime: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { licensing: Promise<", @@ -565,9 +565,9 @@ ">; }, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<{ readonly index: string; create: (createParams: { annotation: { type: string; }; '@timestamp': string; message: string; } & { tags?: string[] | undefined; service?: { name?: string | undefined; environment?: string | undefined; version?: string | undefined; } | undefined; }) => Promise<{ _id: string; _index: string; _source: ", @@ -810,7 +810,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/sorted_and_filtered_services\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/sorted_and_filtered_services\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -875,9 +875,9 @@ "{ \"GET /internal/apm/services/{serviceName}/mobile/filters\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/mobile/filters\", ", @@ -935,9 +935,9 @@ ">; \"GET /internal/apm/services/{serviceName}/agent_instances\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/agent_instances\", ", @@ -995,9 +995,9 @@ ">; \"GET /internal/apm/get_agents_per_service\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/get_agents_per_service\", ", @@ -1059,9 +1059,9 @@ ">; \"GET /internal/apm/settings/labs\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/labs\", undefined, ", @@ -1077,9 +1077,9 @@ ">; \"GET /internal/apm/time_range_metadata\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/time_range_metadata\", ", @@ -1115,9 +1115,9 @@ ">; \"GET /internal/apm/debug-telemetry\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/debug-telemetry\", undefined, ", @@ -1133,9 +1133,9 @@ ">; \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/infrastructure_attributes\", ", @@ -1189,9 +1189,9 @@ ">; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\", ", @@ -1229,9 +1229,9 @@ ">; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\", ", @@ -1313,9 +1313,9 @@ ">; \"GET /internal/apm/storage_explorer/get_services\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_explorer/get_services\", ", @@ -1383,9 +1383,9 @@ ">; \"GET /internal/apm/storage_explorer/is_cross_cluster_search\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_explorer/is_cross_cluster_search\", undefined, ", @@ -1401,9 +1401,9 @@ ">; \"GET /internal/apm/storage_explorer_summary_stats\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_explorer_summary_stats\", ", @@ -1481,9 +1481,9 @@ ">; \"GET /internal/apm/storage_explorer/privileges\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_explorer/privileges\", undefined, ", @@ -1499,9 +1499,9 @@ ">; \"GET /internal/apm/storage_chart\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_chart\", ", @@ -1579,9 +1579,9 @@ ">; \"GET /internal/apm/services/{serviceName}/storage_details\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/storage_details\", ", @@ -1671,9 +1671,9 @@ ">; \"GET /internal/apm/storage_explorer\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/storage_explorer\", ", @@ -1753,9 +1753,9 @@ ">; \"POST /api/apm/agent_keys\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/apm/agent_keys\", ", @@ -1791,9 +1791,9 @@ ">; \"POST /internal/apm/api_key/invalidate\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/api_key/invalidate\", ", @@ -1815,9 +1815,9 @@ ">; \"GET /internal/apm/agent_keys/privileges\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/agent_keys/privileges\", undefined, ", @@ -1833,9 +1833,9 @@ ">; \"GET /internal/apm/agent_keys\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/agent_keys\", undefined, ", @@ -1859,9 +1859,9 @@ ">; \"GET /internal/apm/event_metadata/{processorEvent}/{id}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/event_metadata/{processorEvent}/{id}\", ", @@ -1925,9 +1925,9 @@ ">; \"GET /internal/apm/has_data\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/has_data\", undefined, ", @@ -1943,9 +1943,9 @@ ">; \"GET /internal/apm/fallback_to_transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fallback_to_transactions\", ", @@ -1975,9 +1975,9 @@ ">; \"POST /internal/apm/correlations/p_values/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/correlations/p_values/transactions\", ", @@ -2049,9 +2049,9 @@ ">; \"POST /internal/apm/correlations/significant_correlations/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/correlations/significant_correlations/transactions\", ", @@ -2131,9 +2131,9 @@ ">; \"POST /internal/apm/correlations/field_value_pairs/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/correlations/field_value_pairs/transactions\", ", @@ -2199,9 +2199,9 @@ ">; \"GET /internal/apm/correlations/field_value_stats/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/correlations/field_value_stats/transactions\", ", @@ -2273,9 +2273,9 @@ ">; \"GET /internal/apm/correlations/field_candidates/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/correlations/field_candidates/transactions\", ", @@ -2333,9 +2333,9 @@ ">; \"GET /internal/apm/dependencies/operations/spans\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/operations/spans\", ", @@ -2399,9 +2399,9 @@ ">; \"GET /internal/apm/dependencies/charts/distribution\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/charts/distribution\", ", @@ -2463,9 +2463,9 @@ ">; \"GET /internal/apm/dependencies/operations\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/operations\", ", @@ -2527,9 +2527,9 @@ ">; \"GET /internal/apm/dependencies/charts/error_rate\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/charts/error_rate\", ", @@ -2591,9 +2591,9 @@ ">; \"GET /internal/apm/dependencies/charts/throughput\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/charts/throughput\", ", @@ -2655,9 +2655,9 @@ ">; \"GET /internal/apm/dependencies/charts/latency\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/charts/latency\", ", @@ -2719,9 +2719,9 @@ ">; \"GET /internal/apm/dependencies/metadata\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/metadata\", ", @@ -2751,9 +2751,9 @@ ">; \"GET /internal/apm/dependencies/upstream_services\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/upstream_services\", ", @@ -2839,9 +2839,9 @@ ">; \"GET /internal/apm/dependencies/top_dependencies\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/dependencies/top_dependencies\", ", @@ -2921,9 +2921,9 @@ ">; \"GET /internal/apm/fleet/java_agent_versions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fleet/java_agent_versions\", undefined, ", @@ -2939,9 +2939,9 @@ ">; \"POST /internal/apm/fleet/cloud_apm_package_policy\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/fleet/cloud_apm_package_policy\", undefined, ", @@ -2965,9 +2965,9 @@ ">; \"GET /internal/apm/fleet/migration_check\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fleet/migration_check\", undefined, ", @@ -2991,9 +2991,9 @@ ">; \"GET /internal/apm/fleet/apm_server_schema/unsupported\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fleet/apm_server_schema/unsupported\", undefined, ", @@ -3009,9 +3009,9 @@ ">; \"POST /api/apm/fleet/apm_server_schema\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/apm/fleet/apm_server_schema\", ", @@ -3037,9 +3037,9 @@ ">; \"GET /internal/apm/fleet/agents\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fleet/agents\", undefined, ", @@ -3055,9 +3055,9 @@ ">; \"GET /internal/apm/fleet/has_apm_policies\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/fleet/has_apm_policies\", undefined, ", @@ -3073,9 +3073,9 @@ ">; \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\", undefined, ", @@ -3091,9 +3091,9 @@ ">; \"DELETE /api/apm/sourcemaps/{id}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /api/apm/sourcemaps/{id}\", ", @@ -3115,9 +3115,9 @@ ">; \"POST /api/apm/sourcemaps\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/apm/sourcemaps\", ", @@ -3153,9 +3153,9 @@ ">; \"GET /api/apm/sourcemaps\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/sourcemaps\", ", @@ -3181,9 +3181,9 @@ ">; \"DELETE /internal/apm/settings/custom_links/{id}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /internal/apm/settings/custom_links/{id}\", ", @@ -3205,9 +3205,9 @@ ">; \"PUT /internal/apm/settings/custom_links/{id}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"PUT /internal/apm/settings/custom_links/{id}\", ", @@ -3261,9 +3261,9 @@ ">; \"POST /internal/apm/settings/custom_links\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/settings/custom_links\", ", @@ -3313,9 +3313,9 @@ ">; \"GET /internal/apm/settings/custom_links\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/custom_links\", ", @@ -3345,9 +3345,9 @@ ">; \"GET /internal/apm/settings/custom_links/transaction\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/custom_links/transaction\", ", @@ -3377,9 +3377,9 @@ ">; \"POST /internal/apm/settings/apm-indices/save\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/settings/apm-indices/save\", ", @@ -3407,9 +3407,9 @@ ">; \"GET /internal/apm/settings/apm-indices\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/apm-indices\", undefined, ", @@ -3427,9 +3427,9 @@ ">; \"GET /internal/apm/settings/apm-index-settings\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/apm-index-settings\", undefined, ", @@ -3445,9 +3445,9 @@ ">; \"POST /internal/apm/settings/anomaly-detection/update_to_v3\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/settings/anomaly-detection/update_to_v3\", undefined, ", @@ -3463,9 +3463,9 @@ ">; \"GET /internal/apm/settings/anomaly-detection/environments\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/anomaly-detection/environments\", undefined, ", @@ -3481,9 +3481,9 @@ ">; \"POST /internal/apm/settings/anomaly-detection/jobs\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/settings/anomaly-detection/jobs\", ", @@ -3523,9 +3523,9 @@ ">; \"GET /internal/apm/settings/anomaly-detection/jobs\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/settings/anomaly-detection/jobs\", undefined, ", @@ -3543,9 +3543,9 @@ ">; \"GET /api/apm/settings/agent-configuration/agent_name\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/settings/agent-configuration/agent_name\", ", @@ -3567,9 +3567,9 @@ ">; \"GET /api/apm/settings/agent-configuration/environments\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/settings/agent-configuration/environments\", ", @@ -3591,9 +3591,9 @@ ">; \"POST /api/apm/settings/agent-configuration/search\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/apm/settings/agent-configuration/search\", ", @@ -3625,9 +3625,9 @@ ", ", { "pluginId": "@kbn/es-types", - "scope": "server", + "scope": "common", "docId": "kibKbnEsTypesPluginApi", - "section": "def-server.SearchHit", + "section": "def-common.SearchHit", "text": "SearchHit" }, "<", @@ -3637,9 +3637,9 @@ ">; \"PUT /api/apm/settings/agent-configuration\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"PUT /api/apm/settings/agent-configuration\", ", @@ -3691,9 +3691,9 @@ ">; \"DELETE /api/apm/settings/agent-configuration\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /api/apm/settings/agent-configuration\", ", @@ -3719,9 +3719,9 @@ ">; \"GET /api/apm/settings/agent-configuration/view\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/settings/agent-configuration/view\", ", @@ -3747,9 +3747,9 @@ ">; \"GET /api/apm/settings/agent-configuration\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/settings/agent-configuration\", undefined, ", @@ -3767,9 +3767,9 @@ ">; \"GET /internal/apm/rule_types/transaction_duration/chart_preview\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/rule_types/transaction_duration/chart_preview\", ", @@ -3839,9 +3839,9 @@ ">; \"GET /internal/apm/rule_types/error_count/chart_preview\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/rule_types/error_count/chart_preview\", ", @@ -3911,9 +3911,9 @@ ">; \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\", ", @@ -3983,9 +3983,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\", ", @@ -4057,9 +4057,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\", ", @@ -4129,9 +4129,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\", ", @@ -4205,9 +4205,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\", ", @@ -4269,9 +4269,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/traces/samples\", ", @@ -4341,9 +4341,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/charts/latency\", ", @@ -4429,9 +4429,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\", ", @@ -4527,9 +4527,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\", ", @@ -4601,9 +4601,9 @@ ">; \"GET /internal/apm/traces/{traceId}/spans/{spanId}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}/spans/{spanId}\", ", @@ -4639,9 +4639,9 @@ ">; \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\", ", @@ -4667,9 +4667,9 @@ ">; \"POST /internal/apm/traces/aggregated_critical_path\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/traces/aggregated_critical_path\", ", @@ -4735,9 +4735,9 @@ ">; \"GET /internal/apm/traces/find\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/find\", ", @@ -4797,9 +4797,9 @@ ">; \"GET /internal/apm/transactions/{transactionId}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/transactions/{transactionId}\", ", @@ -4823,9 +4823,9 @@ ">; \"GET /internal/apm/traces/{traceId}/root_transaction\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}/root_transaction\", ", @@ -4849,9 +4849,9 @@ ">; \"GET /internal/apm/traces\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces\", ", @@ -4909,9 +4909,9 @@ ">; \"GET /internal/apm/traces/{traceId}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/traces/{traceId}\", ", @@ -4949,9 +4949,9 @@ ">; \"GET /internal/apm/suggestions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/suggestions\", ", @@ -4987,9 +4987,9 @@ ">; \"GET /internal/apm/service-group/counts\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-group/counts\", undefined, ", @@ -5005,9 +5005,9 @@ ">; \"GET /internal/apm/service-group/services\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-group/services\", ", @@ -5039,9 +5039,9 @@ ">; \"DELETE /internal/apm/service-group\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /internal/apm/service-group\", ", @@ -5063,9 +5063,9 @@ ">; \"POST /internal/apm/service-group\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/service-group\", ", @@ -5111,9 +5111,9 @@ ">; \"GET /internal/apm/service-group\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-group\", ", @@ -5137,9 +5137,9 @@ ">; \"GET /internal/apm/service-groups\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-groups\", undefined, ", @@ -5154,12 +5154,36 @@ "SavedServiceGroup", "[]; }, ", "APMRouteCreateOptions", + ">; \"GET /internal/apm/services/{serviceName}/alerts_count\": ", + { + "pluginId": "@kbn/server-route-repository", + "scope": "public", + "docId": "kibKbnServerRouteRepositoryPluginApi", + "section": "def-public.ServerRoute", + "text": "ServerRoute" + }, + "<\"GET /internal/apm/services/{serviceName}/alerts_count\", ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ serviceName: ", + "StringC", + "; }>; }>, ", + { + "pluginId": "apm", + "scope": "server", + "docId": "kibApmPluginApi", + "section": "def-server.APMRouteHandlerResources", + "text": "APMRouteHandlerResources" + }, + ", { serviceName: string; alertsCount: number; }, ", + "APMRouteCreateOptions", ">; \"GET /internal/apm/sorted_and_filtered_services\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/sorted_and_filtered_services\", ", @@ -5215,9 +5239,9 @@ ">; \"GET /internal/apm/services/{serviceName}/anomaly_charts\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/anomaly_charts\", ", @@ -5273,9 +5297,9 @@ ">; \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/dependencies/breakdown\", ", @@ -5329,9 +5353,9 @@ ">; \"GET /internal/apm/services/{serviceName}/dependencies\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/dependencies\", ", @@ -5407,9 +5431,9 @@ ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\", ", @@ -5513,9 +5537,9 @@ ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\", ", @@ -5591,9 +5615,9 @@ ">; \"GET /internal/apm/services/{serviceName}/throughput\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/throughput\", ", @@ -5663,9 +5687,9 @@ ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\", ", @@ -5717,9 +5741,9 @@ ">; \"POST /api/apm/services/{serviceName}/annotation\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/apm/services/{serviceName}/annotation\", ", @@ -5767,9 +5791,9 @@ ">; \"GET /api/apm/services/{serviceName}/annotation/search\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/apm/services/{serviceName}/annotation/search\", ", @@ -5821,9 +5845,9 @@ ">; \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\", ", @@ -5879,9 +5903,9 @@ ">; \"GET /internal/apm/services/{serviceName}/transaction_types\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/transaction_types\", ", @@ -5909,9 +5933,9 @@ ">; \"GET /internal/apm/services/{serviceName}/agent\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/agent\", ", @@ -5939,9 +5963,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metadata/icons\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metadata/icons\", ", @@ -5971,9 +5995,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metadata/details\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metadata/details\", ", @@ -6003,9 +6027,9 @@ ">; \"POST /internal/apm/services/detailed_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/services/detailed_statistics\", ", @@ -6071,9 +6095,9 @@ ">; \"GET /internal/apm/services\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services\", ", @@ -6134,20 +6158,20 @@ "AgentName", "; } | { serviceName: string; healthStatus: ", "ServiceHealthStatus", - "; }, { serviceName: string; transactionType: string; environments: string[]; agentName: ", + "; } | { serviceName: string; alertsCount: number; }, { serviceName: string; transactionType: string; environments: string[]; agentName: ", "AgentName", "; latency: number | null; transactionErrorRate: number; throughput: number; } & { serviceName: string; environments: string[]; agentName: ", "AgentName", "; } & { serviceName: string; healthStatus: ", "ServiceHealthStatus", - "; }>; }, ", + "; } & { serviceName: string; alertsCount: number; }>; }, ", "APMRouteCreateOptions", ">; \"GET /internal/apm/service-map/dependency\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-map/dependency\", ", @@ -6205,9 +6229,9 @@ ">; \"GET /internal/apm/service-map/service/{serviceName}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-map/service/{serviceName}\", ", @@ -6265,9 +6289,9 @@ ">; \"GET /internal/apm/service-map\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/service-map\", ", @@ -6323,9 +6347,9 @@ ">; \"GET /internal/apm/observability_overview/has_data\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/observability_overview/has_data\", undefined, ", @@ -6343,9 +6367,9 @@ ">; \"GET /internal/apm/observability_overview\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/observability_overview\", ", @@ -6377,9 +6401,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\", ", @@ -6441,9 +6465,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\", ", @@ -6497,9 +6521,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\", ", @@ -6557,9 +6581,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\", ", @@ -6629,9 +6653,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/nodes\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/nodes\", ", @@ -6685,9 +6709,9 @@ ">; \"GET /internal/apm/services/{serviceName}/metrics/charts\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/metrics/charts\", ", @@ -6751,9 +6775,9 @@ ">; \"POST /internal/apm/latency/overall_distribution/transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/latency/overall_distribution/transactions\", ", @@ -6851,9 +6875,9 @@ ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\", ", @@ -6917,9 +6941,9 @@ ">; \"GET /internal/apm/services/{serviceName}/errors/distribution\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/errors/distribution\", ", @@ -6980,15 +7004,15 @@ "Maybe", "; }[]; bucketSize: number; }, ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}\": ", + ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/services/{serviceName}/errors/{groupId}\", ", + "<\"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\", ", "TypeC", "<{ path: ", "TypeC", @@ -6996,6 +7020,8 @@ "StringC", "; groupId: ", "StringC", + "; errorId: ", + "StringC", "; }>; query: ", "IntersectionC", "<[", @@ -7040,14 +7066,72 @@ "Transaction", " | undefined; error: ", "APMError", - "; occurrencesCount: number; }, ", + "; }, ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\": ", + ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\": ", { "pluginId": "@kbn/server-route-repository", + "scope": "public", + "docId": "kibKbnServerRouteRepositoryPluginApi", + "section": "def-public.ServerRoute", + "text": "ServerRoute" + }, + "<\"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\", ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ serviceName: ", + "StringC", + "; groupId: ", + "StringC", + "; }>; query: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"ENVIRONMENT_NOT_DEFINED\">, ", + "LiteralC", + "<\"ENVIRONMENT_ALL\">, ", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">]>; }>, ", + "TypeC", + "<{ kuery: ", + "StringC", + "; }>, ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>]>; }>, ", + { + "pluginId": "apm", + "scope": "server", + "docId": "kibApmPluginApi", + "section": "def-server.APMRouteHandlerResources", + "text": "APMRouteHandlerResources" + }, + ", { errorSampleIds: string[]; occurrencesCount: number; }, ", + "APMRouteCreateOptions", + ">; \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\": ", + { + "pluginId": "@kbn/server-route-repository", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\", ", @@ -7121,9 +7205,9 @@ ">; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\", ", @@ -7185,9 +7269,9 @@ ">; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\", ", @@ -7251,9 +7335,9 @@ ">; \"GET /internal/apm/environments\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/environments\", ", @@ -7293,9 +7377,9 @@ ">; \"GET /internal/apm/data_view/title\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /internal/apm/data_view/title\", undefined, ", @@ -7311,9 +7395,9 @@ ">; \"POST /internal/apm/data_view/static\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /internal/apm/data_view/static\", undefined, ", @@ -7398,9 +7482,9 @@ "(params: { debug?: boolean | undefined; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; context: ", @@ -7448,9 +7532,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7469,9 +7553,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { licensing: Promise<", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 37ec5953662ae..38edc46de6bf8 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 7ba67e919df5c..f28d4acd0ec1e 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.devdocs.json b/api_docs/bfetch.devdocs.json index 5ef66ed9f631c..204bf7ff97932 100644 --- a/api_docs/bfetch.devdocs.json +++ b/api_docs/bfetch.devdocs.json @@ -364,9 +364,9 @@ "(path: string, handler: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -409,9 +409,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -443,17 +443,17 @@ "(path: string, params: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ") => ", @@ -467,25 +467,25 @@ ", method?: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | undefined, pluginRouter?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, "> | undefined, options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, "<\"get\" | \"post\" | \"put\" | \"delete\"> | undefined) => void" @@ -520,17 +520,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ") => ", @@ -573,17 +573,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, "> | undefined" @@ -603,9 +603,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, "<\"get\" | \"post\" | \"put\" | \"delete\"> | undefined" diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 8ffbe05651053..25d1c7750cbf1 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index 4fe5da95779dd..81e24ba147a18 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.devdocs.json b/api_docs/cases.devdocs.json index 6cc0a467a2e00..86e97f6cd258e 100644 --- a/api_docs/cases.devdocs.json +++ b/api_docs/cases.devdocs.json @@ -781,9 +781,9 @@ ".elasticSearchDoc; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "; } | null; type: ", @@ -805,9 +805,9 @@ ".persistableState; owner: string; persistableStateAttachmentTypeId: string; persistableStateAttachmentState: { [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "; }; }" @@ -1222,9 +1222,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -1253,9 +1253,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1669,9 +1669,9 @@ ".elasticSearchDoc; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "; } | null; type: ", @@ -1693,9 +1693,9 @@ ".savedObject; soType: string; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "; } | null; type: ", @@ -1717,9 +1717,9 @@ ".persistableState; owner: string; persistableStateAttachmentTypeId: string; persistableStateAttachmentState: { [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "; }; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; })) & { id: string; version: string; })[] | undefined; }, \"comments\"> & { comments: ", diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 02478d25f4ff5..f3bf0145d8ade 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.devdocs.json b/api_docs/charts.devdocs.json index 3607b005de29b..1feebcea52e15 100644 --- a/api_docs/charts.devdocs.json +++ b/api_docs/charts.devdocs.json @@ -3491,9 +3491,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index b0f4df3e7996c..fecce140a3ce8 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 720a31c2aca9d..59e2a60097d4d 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 7b97f96da4c22..bb5416230cdf9 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 85e0f8816b404..99ef6c845b00c 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 715253aad9610..d957e3f2865fc 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index d32564b3e87d9..054dd5ed22c90 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 69e7e582d4707..24dc57b113283 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.devdocs.json b/api_docs/console.devdocs.json index 5dc1b60796d37..30fe3bbd30164 100644 --- a/api_docs/console.devdocs.json +++ b/api_docs/console.devdocs.json @@ -226,9 +226,9 @@ " extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 69640cb258da2..cd510f9c46f28 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/controls.devdocs.json b/api_docs/controls.devdocs.json index bcd8519dddd92..2ab5f9364ce26 100644 --- a/api_docs/controls.devdocs.json +++ b/api_docs/controls.devdocs.json @@ -552,72 +552,37 @@ }, { "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getCreateControlButton", + "id": "def-public.ControlGroupContainer.openAddDataControlFlyout", "type": "Function", - "tags": [ - "return" - ], - "label": "getCreateControlButton", - "description": [ - "\nReturns a button that allows controls to be created externally using the embeddable" - ], + "tags": [], + "label": "openAddDataControlFlyout", + "description": [], "signature": [ - "(buttonType: ", - "CreateControlButtonTypes", - ", closePopover?: (() => void) | undefined) => JSX.Element" + "(this: ", + { + "pluginId": "controls", + "scope": "public", + "docId": "kibControlsPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + ") => void" ], "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getCreateControlButton.$1", - "type": "CompoundType", - "tags": [], - "label": "buttonType", - "description": [ - "Controls the button styling" - ], - "signature": [ - "CreateControlButtonTypes" - ], - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getCreateControlButton.$2", - "type": "Function", - "tags": [], - "label": "closePopover", - "description": [ - "Closes the create control menu popover when flyout opens - only necessary if `buttonType === 'toolbar'`" - ], - "signature": [ - "(() => void) | undefined" - ], - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [ - "If `buttonType == 'toolbar'`, returns `EuiContextMenuPanel` with input control types as items.\nOtherwise, if `buttonType == 'callout'` returns `EuiButton` with popover containing input control types." - ] + "returnComment": [], + "children": [] }, { "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getCreateTimeSliderControlButton", + "id": "def-public.ControlGroupContainer.getEditControlGroupButton", "type": "Function", "tags": [], - "label": "getCreateTimeSliderControlButton", + "label": "getEditControlGroupButton", "description": [], "signature": [ - "(closePopover?: (() => void) | undefined) => JSX.Element" + "(closePopover: () => void) => JSX.Element" ], "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", "deprecated": false, @@ -625,44 +590,22 @@ "children": [ { "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getCreateTimeSliderControlButton.$1", + "id": "def-public.ControlGroupContainer.getEditControlGroupButton.$1", "type": "Function", "tags": [], "label": "closePopover", "description": [], "signature": [ - "(() => void) | undefined" + "() => void" ], "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] }, - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupContainer.getToolbarButtons", - "type": "Function", - "tags": [ - "return" - ], - "label": "getToolbarButtons", - "description": [ - "\nReturns the toolbar button that is used for creating controls and managing control settings" - ], - "signature": [ - "() => JSX.Element" - ], - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [ - "`SolutionToolbarPopover` button for input controls" - ] - }, { "parentPluginId": "controls", "id": "def-public.ControlGroupContainer.Unnamed", @@ -3372,54 +3315,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "controls", - "id": "def-public.LazyControlsCallout", - "type": "Function", - "tags": [], - "label": "LazyControlsCallout", - "description": [], - "signature": [ - "React.ExoticComponent<", - { - "pluginId": "controls", - "scope": "public", - "docId": "kibControlsPluginApi", - "section": "def-public.CalloutProps", - "text": "CalloutProps" - }, - "> & { readonly _result: ({ getCreateControlButton }: ", - { - "pluginId": "controls", - "scope": "public", - "docId": "kibControlsPluginApi", - "section": "def-public.CalloutProps", - "text": "CalloutProps" - }, - ") => JSX.Element | null; }" - ], - "path": "src/plugins/controls/public/controls_callout/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "controls", - "id": "def-public.LazyControlsCallout.$1", - "type": "Uncategorized", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "controls", "id": "def-public.useControlGroupContainerContext", @@ -3608,36 +3503,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "controls", - "id": "def-public.CalloutProps", - "type": "Interface", - "tags": [], - "label": "CalloutProps", - "description": [], - "path": "src/plugins/controls/public/controls_callout/controls_callout.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "controls", - "id": "def-public.CalloutProps.getCreateControlButton", - "type": "Function", - "tags": [], - "label": "getCreateControlButton", - "description": [], - "signature": [ - "(() => JSX.Element) | undefined" - ], - "path": "src/plugins/controls/public/controls_callout/controls_callout.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - }, { "parentPluginId": "controls", "id": "def-public.CommonControlOutput", @@ -4399,6 +4264,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "controls", + "id": "def-public.OptionsListEmbeddableInput.sort", + "type": "Object", + "tags": [], + "label": "sort", + "description": [], + "signature": [ + "OptionsListSortingType", + " | undefined" + ], + "path": "src/plugins/controls/common/options_list/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "controls", "id": "def-public.OptionsListEmbeddableInput.selectedOptions", @@ -4497,21 +4377,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddableInput.sort", - "type": "Object", - "tags": [], - "label": "sort", - "description": [], - "signature": [ - "SortingType", - " | undefined" - ], - "path": "src/plugins/controls/common/options_list/types.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "controls", "id": "def-public.OptionsListEmbeddableInput.exclude", @@ -5562,9 +5427,9 @@ ", \"id\">) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -5610,9 +5475,9 @@ "(serializable: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => Omit<", @@ -5639,9 +5504,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -5981,6 +5846,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "controls", + "id": "def-common.OptionsListEmbeddableInput.sort", + "type": "Object", + "tags": [], + "label": "sort", + "description": [], + "signature": [ + "OptionsListSortingType", + " | undefined" + ], + "path": "src/plugins/controls/common/options_list/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "controls", "id": "def-common.OptionsListEmbeddableInput.selectedOptions", @@ -6079,21 +5959,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "controls", - "id": "def-common.OptionsListEmbeddableInput.sort", - "type": "Object", - "tags": [], - "label": "sort", - "description": [], - "signature": [ - "SortingType", - " | undefined" - ], - "path": "src/plugins/controls/common/options_list/types.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "controls", "id": "def-common.OptionsListEmbeddableInput.exclude", @@ -6326,9 +6191,9 @@ " & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "; ignoreParentSettings: ", @@ -6336,9 +6201,9 @@ " & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "; }" diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 571c8288c59b3..fad796a1a6e80 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 271 | 0 | 262 | 10 | +| 264 | 0 | 260 | 9 | ## Client diff --git a/api_docs/core.devdocs.json b/api_docs/core.devdocs.json index 18061d568ccfe..5f2c37c14594b 100644 --- a/api_docs/core.devdocs.json +++ b/api_docs/core.devdocs.json @@ -6481,9 +6481,9 @@ ") => void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, " void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, " void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -6773,9 +6773,9 @@ ") => void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -9149,68 +9149,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "core", - "id": "def-public.IHttpFetchError.req", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "req", - "description": [], - "signature": [ - "Request" - ], - "path": "packages/core/http/core-http-browser/src/types.ts", - "deprecated": true, - "removeBy": "8.8.0\n\nNote to maintainers: when looking at usages, mind that typical use could be inside a `catch` block,\nso TS and code-reference navigation might not highlight them.", - "trackAdoption": false, - "references": [ - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/util/errors/errors.test.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/util/errors/errors.test.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - } - ] - }, - { - "parentPluginId": "core", - "id": "def-public.IHttpFetchError.res", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "res", - "description": [], - "signature": [ - "Response | undefined" - ], - "path": "packages/core/http/core-http-browser/src/types.ts", - "deprecated": true, - "removeBy": "8.8.0\n\nNote to maintainers: when looking at usages, mind that typical use could be inside a `catch` block,\nso TS and code-reference navigation might not highlight them.", - "trackAdoption": false, - "references": [ - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - } - ] - }, { "parentPluginId": "core", "id": "def-public.IHttpFetchError.body", @@ -12339,17 +12277,17 @@ "{ mode: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", + "section": "def-common.EnvironmentMode", "text": "EnvironmentMode" }, ">; packageInfo: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", + "section": "def-common.PackageInfo", "text": "PackageInfo" }, ">; }" @@ -12368,9 +12306,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -17043,9 +16981,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -18382,33 +18320,33 @@ "> | undefined; page?: number | undefined; perPage?: number | undefined; sortField?: string | undefined; searchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; namespaces?: string[] | undefined; preference?: string | undefined; }" @@ -18742,17 +18680,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.CspConfig", + "section": "def-common.CspConfig", "text": "CspConfig" }, " implements ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" } ], @@ -18770,9 +18708,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.CspConfig", + "section": "def-common.CspConfig", "text": "CspConfig" } ], @@ -18851,25 +18789,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.EventLoopDelaysMonitor", + "section": "def-common.EventLoopDelaysMonitor", "text": "EventLoopDelaysMonitor" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IEventLoopDelaysMonitor", + "section": "def-common.IEventLoopDelaysMonitor", "text": "IEventLoopDelaysMonitor" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" }, ">" @@ -18909,9 +18847,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" } ], @@ -18972,17 +18910,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, " extends ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaTypeError", + "section": "def-common.SchemaTypeError", "text": "SchemaTypeError" } ], @@ -19062,9 +19000,9 @@ "(error: any) => error is ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19101,9 +19039,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19155,9 +19093,9 @@ "(reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19194,9 +19132,9 @@ "(type: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19233,9 +19171,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19255,9 +19193,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19280,9 +19218,9 @@ "(versionInput?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19319,9 +19257,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19341,9 +19279,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19366,9 +19304,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19420,9 +19358,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19442,9 +19380,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19467,9 +19405,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19521,9 +19459,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19543,9 +19481,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19568,9 +19506,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19622,9 +19560,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19644,9 +19582,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19669,9 +19607,9 @@ "(type?: string | null, id?: string | null) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19723,9 +19661,9 @@ "(alias: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19762,9 +19700,9 @@ "(error: Error, alias: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19816,9 +19754,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -19838,9 +19776,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19863,9 +19801,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19917,9 +19855,9 @@ "(type: string, id: string, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -19986,9 +19924,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -20008,9 +19946,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20033,9 +19971,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20087,9 +20025,9 @@ "(type: string, id: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20141,9 +20079,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -20163,9 +20101,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20188,9 +20126,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20242,9 +20180,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -20264,9 +20202,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20289,9 +20227,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20343,9 +20281,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -20365,9 +20303,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20390,9 +20328,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20444,9 +20382,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -20466,9 +20404,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20491,9 +20429,9 @@ "(type?: string | null, id?: string | null) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -20547,9 +20485,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" }, " extends Error" @@ -20631,9 +20569,9 @@ "(limit: number) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -20678,9 +20616,9 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -20734,9 +20672,9 @@ "[], cause: Error) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -20797,9 +20735,9 @@ "(objectKeys: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -20838,9 +20776,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" }, " extends Error" @@ -20860,9 +20798,9 @@ "(limit: number) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -20899,9 +20837,9 @@ "(nonUniqueEntries: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -20938,9 +20876,9 @@ "(nonUniqueRetryObjects: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -20977,9 +20915,9 @@ "(nonUniqueRetryDestinations: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -21024,9 +20962,9 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -21074,17 +21012,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerInternalPluginApi", - "section": "def-server.SavedObjectsRepository", + "section": "def-common.SavedObjectsRepository", "text": "SavedObjectsRepository" }, " implements ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -21105,9 +21043,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, ") => Promise<", @@ -21164,9 +21102,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" } ], @@ -21191,25 +21129,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -21228,9 +21166,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -21250,9 +21188,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" } ], @@ -21277,25 +21215,25 @@ "(objects?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -21314,9 +21252,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -21336,9 +21274,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -21363,9 +21301,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, ") => Promise<{}>" @@ -21414,9 +21352,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" } ], @@ -21441,25 +21379,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -21478,9 +21416,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -21500,9 +21438,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" } ], @@ -21527,9 +21465,9 @@ "(namespace: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, ") => Promise" @@ -21563,9 +21501,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" } ], @@ -21590,9 +21528,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -21600,9 +21538,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -21621,9 +21559,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -21663,25 +21601,25 @@ "(objects?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -21700,9 +21638,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -21722,9 +21660,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -21749,25 +21687,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -21786,9 +21724,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -21808,9 +21746,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -21835,9 +21773,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", @@ -21894,9 +21832,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -21921,17 +21859,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -21980,9 +21918,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -22007,17 +21945,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -22081,9 +22019,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, "" @@ -22109,25 +22047,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -22146,9 +22084,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -22168,9 +22106,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" } ], @@ -22195,25 +22133,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -22232,9 +22170,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -22284,9 +22222,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" } ], @@ -22311,25 +22249,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -22348,9 +22286,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -22370,9 +22308,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" } ], @@ -22397,17 +22335,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -22456,9 +22394,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" } ], @@ -22483,17 +22421,17 @@ "(type: string, id: string, counterFields: (string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined) => Promise<", @@ -22551,9 +22489,9 @@ "(string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[]" @@ -22573,9 +22511,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined" @@ -22601,9 +22539,9 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, ", internalOptions?: ", @@ -22611,9 +22549,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -22647,9 +22585,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" } ], @@ -22689,9 +22627,9 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -22699,9 +22637,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -22735,9 +22673,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -22778,17 +22716,17 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined, internalOptions?: ", @@ -22796,9 +22734,9 @@ " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -22817,9 +22755,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -22838,9 +22776,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -22968,17 +22906,17 @@ "({ page, perPage, }: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ") => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "" @@ -22997,9 +22935,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -23157,25 +23095,25 @@ "(map1: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ", map2: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -23195,9 +23133,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -23218,9 +23156,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -23246,9 +23184,9 @@ "({ internalClient, log, kibanaVersion, ignoreVersionMismatch, esVersionCheckInterval: healthCheckInterval, }: ", { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.PollEsNodesVersionOptions", + "section": "def-common.PollEsNodesVersionOptions", "text": "PollEsNodesVersionOptions" }, ") => ", @@ -23256,9 +23194,9 @@ "<", { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodesVersionCompatibility", + "section": "def-common.NodesVersionCompatibility", "text": "NodesVersionCompatibility" }, ">" @@ -23277,9 +23215,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.PollEsNodesVersionOptions", + "section": "def-common.PollEsNodesVersionOptions", "text": "PollEsNodesVersionOptions" } ], @@ -23319,9 +23257,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AuditAction", + "section": "def-common.AuditAction", "text": "AuditAction" } ], @@ -23341,9 +23279,9 @@ "signature": [ { "pluginId": "@kbn/ecs", - "scope": "server", + "scope": "common", "docId": "kibKbnEcsPluginApi", - "section": "def-server.EcsEventOutcome", + "section": "def-common.EcsEventOutcome", "text": "EcsEventOutcome" }, " | undefined" @@ -23523,9 +23461,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.AsyncPlugin", + "section": "def-common.AsyncPlugin", "text": "AsyncPlugin" }, "" @@ -23568,9 +23506,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: TPluginsSetup) => TSetup | Promise" @@ -23589,9 +23527,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -23630,9 +23568,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: TPluginsStart) => TStart | Promise" @@ -23651,9 +23589,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -23773,9 +23711,9 @@ "{ location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" } ], @@ -23796,17 +23734,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultAuthenticated", + "section": "def-common.AuthResultAuthenticated", "text": "AuthResultAuthenticated" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" } ], @@ -23824,9 +23762,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".authenticated" @@ -23859,9 +23797,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".notHandled" @@ -23914,9 +23852,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -23937,9 +23875,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -23961,17 +23899,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultRedirected", + "section": "def-common.AuthResultRedirected", "text": "AuthResultRedirected" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthRedirectedParams", + "section": "def-common.AuthRedirectedParams", "text": "AuthRedirectedParams" } ], @@ -23989,9 +23927,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".redirected" @@ -24027,17 +23965,17 @@ "(data?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -24055,9 +23993,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" }, " | undefined" @@ -24083,9 +24021,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -24108,17 +24046,17 @@ "(headers: { location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -24137,9 +24075,9 @@ "{ location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" } ], @@ -24260,9 +24198,9 @@ "(provider: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesProvider", + "section": "def-common.CapabilitiesProvider", "text": "CapabilitiesProvider" }, ") => void" @@ -24281,9 +24219,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesProvider", + "section": "def-common.CapabilitiesProvider", "text": "CapabilitiesProvider" } ], @@ -24308,9 +24246,9 @@ "(switcher: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSwitcher", + "section": "def-common.CapabilitiesSwitcher", "text": "CapabilitiesSwitcher" }, ") => void" @@ -24329,9 +24267,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSwitcher", + "section": "def-common.CapabilitiesSwitcher", "text": "CapabilitiesSwitcher" } ], @@ -24372,17 +24310,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", options?: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.ResolveCapabilitiesOptions", + "section": "def-common.ResolveCapabilitiesOptions", "text": "ResolveCapabilitiesOptions" }, " | undefined) => Promise<", @@ -24409,9 +24347,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -24431,9 +24369,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.ResolveCapabilitiesOptions", + "section": "def-common.ResolveCapabilitiesOptions", "text": "ResolveCapabilitiesOptions" }, " | undefined" @@ -24461,9 +24399,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.CheckAuthorizationResult", + "section": "def-common.CheckAuthorizationResult", "text": "CheckAuthorizationResult" }, "" @@ -24501,9 +24439,9 @@ "Map>" @@ -24607,9 +24545,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -24680,9 +24618,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -24753,9 +24691,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -24826,9 +24764,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -24899,9 +24837,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -24957,9 +24895,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -25357,9 +25295,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServicePreboot", + "section": "def-common.ElasticsearchServicePreboot", "text": "ElasticsearchServicePreboot" } ], @@ -25379,17 +25317,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServicePreboot", + "section": "def-common.HttpServicePreboot", "text": "HttpServicePreboot" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">" @@ -25410,9 +25348,9 @@ "signature": [ { "pluginId": "@kbn/core-preboot-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerPluginApi", - "section": "def-server.PrebootServicePreboot", + "section": "def-common.PrebootServicePreboot", "text": "PrebootServicePreboot" } ], @@ -25446,9 +25384,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRequestHandlerContext", + "section": "def-common.SavedObjectsRequestHandlerContext", "text": "SavedObjectsRequestHandlerContext" } ], @@ -25466,9 +25404,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchRequestHandlerContext", + "section": "def-common.ElasticsearchRequestHandlerContext", "text": "ElasticsearchRequestHandlerContext" } ], @@ -25486,9 +25424,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsRequestHandlerContext", + "section": "def-common.UiSettingsRequestHandlerContext", "text": "UiSettingsRequestHandlerContext" } ], @@ -25506,9 +25444,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsRequestHandlerContext", + "section": "def-common.DeprecationsRequestHandlerContext", "text": "DeprecationsRequestHandlerContext" } ], @@ -25561,9 +25499,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -25658,9 +25596,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSetup", + "section": "def-common.CapabilitiesSetup", "text": "CapabilitiesSetup" } ], @@ -25680,9 +25618,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -25702,9 +25640,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServiceSetup", + "section": "def-common.ElasticsearchServiceSetup", "text": "ElasticsearchServiceSetup" } ], @@ -25724,9 +25662,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -25746,25 +25684,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, "> & { resources: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }" @@ -25807,9 +25745,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggingServiceSetup", + "section": "def-common.LoggingServiceSetup", "text": "LoggingServiceSetup" } ], @@ -25829,9 +25767,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -25851,9 +25789,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceSetup", + "section": "def-common.SavedObjectsServiceSetup", "text": "SavedObjectsServiceSetup" } ], @@ -25873,9 +25811,9 @@ "signature": [ { "pluginId": "@kbn/core-status-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerPluginApi", - "section": "def-server.StatusServiceSetup", + "section": "def-common.StatusServiceSetup", "text": "StatusServiceSetup" } ], @@ -25895,9 +25833,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceSetup", + "section": "def-common.UiSettingsServiceSetup", "text": "UiSettingsServiceSetup" } ], @@ -25917,9 +25855,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsServiceSetup", + "section": "def-common.DeprecationsServiceSetup", "text": "DeprecationsServiceSetup" } ], @@ -25940,9 +25878,9 @@ "() => Promise<[", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", TPluginsStart, TStart]>" @@ -26015,9 +25953,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesStart", + "section": "def-common.CapabilitiesStart", "text": "CapabilitiesStart" } ], @@ -26037,9 +25975,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -26059,9 +25997,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServiceStart", + "section": "def-common.ElasticsearchServiceStart", "text": "ElasticsearchServiceStart" } ], @@ -26081,9 +26019,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -26103,9 +26041,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceStart", + "section": "def-common.HttpServiceStart", "text": "HttpServiceStart" } ], @@ -26125,9 +26063,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -26147,9 +26085,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" } ], @@ -26169,9 +26107,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceStart", + "section": "def-common.UiSettingsServiceStart", "text": "UiSettingsServiceStart" } ], @@ -26265,17 +26203,17 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageData", + "section": "def-common.CoreUsageData", "text": "CoreUsageData" }, " extends ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageStats", + "section": "def-common.CoreUsageStats", "text": "CoreUsageStats" } ], @@ -26293,9 +26231,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreConfigUsageData", + "section": "def-common.CoreConfigUsageData", "text": "CoreConfigUsageData" } ], @@ -26313,9 +26251,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreServicesUsageData", + "section": "def-common.CoreServicesUsageData", "text": "CoreServicesUsageData" } ], @@ -26333,9 +26271,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreEnvironmentUsageData", + "section": "def-common.CoreEnvironmentUsageData", "text": "CoreEnvironmentUsageData" } ], @@ -26374,9 +26312,9 @@ "(usageCounter: ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageCounter", + "section": "def-common.CoreUsageCounter", "text": "CoreUsageCounter" }, ") => void" @@ -26395,9 +26333,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageCounter", + "section": "def-common.CoreUsageCounter", "text": "CoreUsageCounter" } ], @@ -26438,9 +26376,9 @@ "() => Promise<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.ConfigUsageData", + "section": "def-common.ConfigUsageData", "text": "ConfigUsageData" }, ">" @@ -28230,9 +28168,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "" @@ -28269,9 +28207,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -28450,9 +28388,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsClient", + "section": "def-common.DeprecationsClient", "text": "DeprecationsClient" } ], @@ -28487,9 +28425,9 @@ "(deprecationContext: ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.RegisterDeprecationsConfig", + "section": "def-common.RegisterDeprecationsConfig", "text": "RegisterDeprecationsConfig" }, ") => void" @@ -28508,9 +28446,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.RegisterDeprecationsConfig", + "section": "def-common.RegisterDeprecationsConfig", "text": "RegisterDeprecationsConfig" } ], @@ -28579,9 +28517,9 @@ "signature": [ { "pluginId": "@kbn/core-base-common", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreBaseCommonPluginApi", - "section": "def-server.PluginType", + "section": "def-common.PluginType", "text": "PluginType" } ], @@ -28964,9 +28902,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientSslConfig", + "section": "def-common.ElasticsearchClientSslConfig", "text": "ElasticsearchClientSslConfig" }, " | undefined" @@ -29144,9 +29082,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -29197,17 +29135,17 @@ "(type: string, clientConfig?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" } ], @@ -29245,9 +29183,9 @@ "Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined" @@ -29287,9 +29225,9 @@ "(handler: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandler", + "section": "def-common.UnauthorizedErrorHandler", "text": "UnauthorizedErrorHandler" }, ") => void" @@ -29308,9 +29246,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandler", + "section": "def-common.UnauthorizedErrorHandler", "text": "UnauthorizedErrorHandler" } ], @@ -29337,9 +29275,9 @@ "<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IElasticsearchConfig", + "section": "def-common.IElasticsearchConfig", "text": "IElasticsearchConfig" }, ">; }" @@ -29396,9 +29334,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" } ], @@ -29419,17 +29357,17 @@ "(type: string, clientConfig?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" } ], @@ -29467,9 +29405,9 @@ "Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined" @@ -29555,9 +29493,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, "" @@ -29611,9 +29549,9 @@ "Map>" @@ -29734,9 +29672,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, " | undefined" @@ -29757,9 +29695,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -30211,6 +30149,132 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest", + "type": "Interface", + "tags": [], + "label": "FakeRawRequest", + "description": [ + "\nRepresents a fake raw request.\nCan be used to instantiate a `KibanaRequest`." + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.headers", + "type": "CompoundType", + "tags": [], + "label": "headers", + "description": [ + "The headers associated with the request." + ], + "signature": [ + "{ accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; allow?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; date?: string | string[] | undefined; etag?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; from?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; location?: string | string[] | undefined; origin?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; range?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; warning?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.path", + "type": "string", + "tags": [], + "label": "path", + "description": [ + "The path of the request" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.method", + "type": "string", + "tags": [], + "label": "method", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.url", + "type": "Object", + "tags": [], + "label": "url", + "description": [], + "signature": [ + "URL", + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.app", + "type": "Object", + "tags": [], + "label": "app", + "description": [], + "signature": [ + "Record | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.auth", + "type": "Object", + "tags": [], + "label": "auth", + "description": [], + "signature": [ + "{ isAuthenticated?: boolean | undefined; } | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.FakeRawRequest.route", + "type": "Object", + "tags": [], + "label": "route", + "description": [], + "signature": [ + "{ settings?: { tags?: string[] | undefined; app?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRouteOptions", + "text": "KibanaRouteOptions" + }, + " | undefined; payload?: ", + "RouteOptionsPayload", + " | undefined; } | undefined; } | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.FakeRequest", @@ -30264,9 +30328,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -30284,9 +30348,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -30321,17 +30385,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => { status: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthStatus", + "section": "def-common.AuthStatus", "text": "AuthStatus" }, "; state: T; }" @@ -30351,9 +30415,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -30377,9 +30441,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -30399,9 +30463,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -30441,33 +30505,33 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRequestHandler", + "section": "def-common.HttpResourcesRequestHandler", "text": "HttpResourcesRequestHandler" }, ") => void" @@ -30486,9 +30550,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -30508,9 +30572,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRequestHandler", + "section": "def-common.HttpResourcesRequestHandler", "text": "HttpResourcesRequestHandler" }, "" @@ -30551,9 +30615,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -30591,17 +30655,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -30620,9 +30684,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined" @@ -30648,17 +30712,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -30677,9 +30741,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined" @@ -30705,17 +30769,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -30734,9 +30798,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -30761,17 +30825,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -30790,9 +30854,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -30817,17 +30881,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -30846,9 +30910,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -30906,9 +30970,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -31019,9 +31083,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServicePreboot", + "section": "def-common.HttpServicePreboot", "text": "HttpServicePreboot" }, "" @@ -31043,9 +31107,9 @@ "(path: string, callback: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, ") => void) => void" @@ -31080,9 +31144,9 @@ "(router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, ") => void" @@ -31107,9 +31171,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -31130,9 +31194,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -31157,9 +31221,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, "" @@ -31181,17 +31245,17 @@ "(cookieOptions: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, ") => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, ">" @@ -31212,9 +31276,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "" @@ -31240,9 +31304,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingHandler", + "section": "def-common.OnPreRoutingHandler", "text": "OnPreRoutingHandler" }, ") => void" @@ -31263,9 +31327,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingHandler", + "section": "def-common.OnPreRoutingHandler", "text": "OnPreRoutingHandler" } ], @@ -31290,9 +31354,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthHandler", + "section": "def-common.OnPreAuthHandler", "text": "OnPreAuthHandler" }, ") => void" @@ -31313,9 +31377,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthHandler", + "section": "def-common.OnPreAuthHandler", "text": "OnPreAuthHandler" } ], @@ -31340,9 +31404,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthenticationHandler", + "section": "def-common.AuthenticationHandler", "text": "AuthenticationHandler" }, ") => void" @@ -31363,9 +31427,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthenticationHandler", + "section": "def-common.AuthenticationHandler", "text": "AuthenticationHandler" } ], @@ -31390,9 +31454,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthHandler", + "section": "def-common.OnPostAuthHandler", "text": "OnPostAuthHandler" }, ") => void" @@ -31413,9 +31477,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthHandler", + "section": "def-common.OnPostAuthHandler", "text": "OnPostAuthHandler" } ], @@ -31440,9 +31504,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseHandler", + "section": "def-common.OnPreResponseHandler", "text": "OnPreResponseHandler" }, ") => void" @@ -31463,9 +31527,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseHandler", + "section": "def-common.OnPreResponseHandler", "text": "OnPreResponseHandler" } ], @@ -31489,9 +31553,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -31511,9 +31575,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" } ], @@ -31534,9 +31598,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -31560,17 +31624,17 @@ ">(contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextContainer", + "section": "def-common.IContextContainer", "text": "IContextContainer" } ], @@ -31603,9 +31667,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, "" @@ -31631,9 +31695,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -31669,9 +31733,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -31691,9 +31755,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpAuth", + "section": "def-common.HttpAuth", "text": "HttpAuth" } ], @@ -31714,9 +31778,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -32876,9 +32940,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => string" @@ -32897,9 +32961,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -32925,9 +32989,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", requestSpecificBasePath: string) => void" @@ -32946,9 +33010,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -34275,17 +34339,17 @@ "(request: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ScopeableRequest", + "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" }, ") => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -34303,9 +34367,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ScopeableRequest", + "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" } ], @@ -34346,17 +34410,17 @@ "(pluginOpaqueId: symbol, contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, ") => this" @@ -34411,9 +34475,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, "" @@ -34441,49 +34505,49 @@ "(pluginOpaqueId: symbol, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -34521,25 +34585,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -34637,17 +34701,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" }, " extends ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" } ], @@ -34688,9 +34752,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IEventLoopDelaysMonitor", + "section": "def-common.IEventLoopDelaysMonitor", "text": "IEventLoopDelaysMonitor" }, "" @@ -34922,9 +34986,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -34968,9 +35032,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -35231,6 +35295,22 @@ "path": "packages/core/http/core-http-server/src/router/socket.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "core", + "id": "def-server.IKibanaSocket.remoteAddress", + "type": "string", + "tags": [], + "label": "remoteAddress", + "description": [ + "\nThe string representation of the remote IP address. For example,`'74.125.127.100'` or\n`'2001:4860:a005::68'`. Value may be `undefined` if the socket is destroyed (for example, if\nthe client disconnected)." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/socket.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -35354,9 +35434,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -35391,25 +35471,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -35431,9 +35511,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -35455,33 +35535,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -35515,9 +35595,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -35557,25 +35637,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -35597,9 +35677,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -35621,33 +35701,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -35681,9 +35761,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -35723,25 +35803,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -35763,9 +35843,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -35787,33 +35867,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -35847,9 +35927,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -35889,25 +35969,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -35929,9 +36009,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -35953,33 +36033,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -36013,9 +36093,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -36055,25 +36135,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -36095,9 +36175,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -36119,33 +36199,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -36179,9 +36259,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -36221,57 +36301,57 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -36294,25 +36374,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -36346,9 +36426,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -36505,9 +36585,9 @@ ">(descriptor: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EncryptedObjectDescriptor", + "section": "def-common.EncryptedObjectDescriptor", "text": "EncryptedObjectDescriptor" }, ", attributes: T) => Promise" @@ -36528,9 +36608,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EncryptedObjectDescriptor", + "section": "def-common.EncryptedObjectDescriptor", "text": "EncryptedObjectDescriptor" } ], @@ -36592,9 +36672,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" }, ") => Promise<", @@ -36615,9 +36695,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" } ], @@ -36644,9 +36724,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" }, ") => Promise<", @@ -36667,9 +36747,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" } ], @@ -36712,9 +36792,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportOptions", + "section": "def-common.SavedObjectsImportOptions", "text": "SavedObjectsImportOptions" }, ") => Promise<", @@ -36741,9 +36821,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportOptions", + "section": "def-common.SavedObjectsImportOptions", "text": "SavedObjectsImportOptions" } ], @@ -36770,9 +36850,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsResolveImportErrorsOptions", + "section": "def-common.SavedObjectsResolveImportErrorsOptions", "text": "SavedObjectsResolveImportErrorsOptions" }, ") => Promise<", @@ -36799,9 +36879,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsResolveImportErrorsOptions", + "section": "def-common.SavedObjectsResolveImportErrorsOptions", "text": "SavedObjectsResolveImportErrorsOptions" } ], @@ -36828,9 +36908,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -36852,9 +36932,9 @@ "() => AsyncGenerator<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ", any, unknown>" @@ -36918,9 +36998,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", @@ -36983,9 +37063,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -37016,25 +37096,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -37055,9 +37135,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -37079,9 +37159,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -37109,25 +37189,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -37148,9 +37228,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -37172,9 +37252,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -37204,9 +37284,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined) => Promise<{}>" @@ -37261,9 +37341,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined" @@ -37289,25 +37369,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -37328,9 +37408,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -37352,9 +37432,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined" @@ -37382,9 +37462,9 @@ "(namespace: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " | undefined) => Promise" @@ -37422,9 +37502,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " | undefined" @@ -37467,9 +37547,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -37477,9 +37557,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -37500,9 +37580,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -37549,25 +37629,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -37588,9 +37668,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -37612,9 +37692,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -37644,25 +37724,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -37683,9 +37763,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -37707,9 +37787,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -37739,9 +37819,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", @@ -37804,9 +37884,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -37836,17 +37916,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -37901,9 +37981,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -37935,17 +38015,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -38017,9 +38097,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined" @@ -38047,25 +38127,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -38086,9 +38166,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -38110,9 +38190,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined" @@ -38140,25 +38220,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -38179,9 +38259,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -38237,9 +38317,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined" @@ -38270,25 +38350,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -38309,9 +38389,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -38333,9 +38413,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined" @@ -38363,17 +38443,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -38428,9 +38508,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined" @@ -38458,17 +38538,17 @@ "(type: string, id: string, counterFields: (string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined) => Promise<", @@ -38532,9 +38612,9 @@ "(string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[]" @@ -38556,9 +38636,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined" @@ -38589,9 +38669,9 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -38599,9 +38679,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -38639,9 +38719,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined" @@ -38687,9 +38767,9 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -38697,9 +38777,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -38737,9 +38817,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -38785,25 +38865,25 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -38824,9 +38904,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -38847,9 +38927,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -38893,17 +38973,17 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.CheckAuthorizationResult", + "section": "def-common.CheckAuthorizationResult", "text": "CheckAuthorizationResult" }, ">" @@ -38924,9 +39004,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, "" @@ -38954,9 +39034,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, ") => void" @@ -38977,9 +39057,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, "" @@ -39005,9 +39085,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AddAuditEventParams", + "section": "def-common.AddAuditEventParams", "text": "AddAuditEventParams" }, ") => void" @@ -39028,9 +39108,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AddAuditEventParams", + "section": "def-common.AddAuditEventParams", "text": "AddAuditEventParams" } ], @@ -39055,9 +39135,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, ") => ", @@ -39086,9 +39166,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, "" @@ -39132,17 +39212,17 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined) => boolean" @@ -39163,9 +39243,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -39186,9 +39266,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined" @@ -39214,25 +39294,25 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, "" @@ -39253,9 +39333,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -39276,9 +39356,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined" @@ -39304,17 +39384,17 @@ "(savedObj: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -39334,9 +39414,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, "" @@ -39602,9 +39682,9 @@ "(type: string) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, " | undefined" @@ -39644,9 +39724,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -39670,9 +39750,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -39696,9 +39776,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -42935,9 +43015,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -43001,25 +43081,25 @@ "{ readonly path: string; readonly method: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "; readonly options: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestRouteOptions", + "section": "def-common.KibanaRequestRouteOptions", "text": "KibanaRequestRouteOptions" }, ">; }" @@ -43057,6 +43137,19 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "core", + "id": "def-server.KibanaRequest.isFakeRequest", + "type": "boolean", + "tags": [], + "label": "isFakeRequest", + "description": [ + "\nAllows identifying requests that were created using a {@link FakeRawRequest}\nEven if the API facade is the same, fake requests have some stubbed functionalities." + ], + "path": "packages/core/http/core-http-server/src/router/request.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "core", "id": "def-server.KibanaRequest.socket", @@ -43069,9 +43162,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaSocket", + "section": "def-common.IKibanaSocket", "text": "IKibanaSocket" } ], @@ -43091,9 +43184,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestEvents", + "section": "def-common.KibanaRequestEvents", "text": "KibanaRequestEvents" } ], @@ -43113,9 +43206,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestAuth", + "section": "def-common.KibanaRequestAuth", "text": "KibanaRequestAuth" } ], @@ -43253,9 +43346,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestRoute", + "section": "def-common.KibanaRequestRoute", "text": "KibanaRequestRoute" }, "" @@ -43300,17 +43393,17 @@ "Method extends \"options\" | \"get\" ? Required, \"body\">> : Required<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, ">" @@ -43348,17 +43441,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -43417,17 +43510,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -43486,17 +43579,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -43555,17 +43648,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -43624,17 +43717,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -43693,17 +43786,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -43800,9 +43893,9 @@ "(...childContextPaths: string[]) => ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -43910,17 +44003,17 @@ "Record | Map | undefined" @@ -43939,9 +44032,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerConfigType", + "section": "def-common.LoggerConfigType", "text": "LoggerConfigType" }, "[] | undefined" @@ -43979,9 +44072,9 @@ "(...contextParts: string[]) => ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -44040,9 +44133,9 @@ "<", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerContextConfigInput", + "section": "def-common.LoggerContextConfigInput", "text": "LoggerContextConfigInput" }, ">) => void" @@ -44063,9 +44156,9 @@ "<", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerContextConfigInput", + "section": "def-common.LoggerContextConfigInput", "text": "LoggerContextConfigInput" }, ">" @@ -44122,9 +44215,9 @@ "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsMetrics", + "section": "def-common.OpsMetrics", "text": "OpsMetrics" }, ">" @@ -44163,9 +44256,9 @@ "signature": [ { "pluginId": "@kbn/core-node-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerPluginApi", - "section": "def-server.NodeRoles", + "section": "def-common.NodeRoles", "text": "NodeRoles" } ], @@ -44264,9 +44357,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" }, "[]" @@ -44285,9 +44378,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" }, "[]" @@ -44348,9 +44441,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" } ], @@ -44387,9 +44480,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" } ], @@ -44427,9 +44520,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -44493,9 +44586,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -44546,17 +44639,17 @@ "(responseRender: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseRender", + "section": "def-common.OnPreResponseRender", "text": "OnPreResponseRender" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" } ], @@ -44574,9 +44667,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseRender", + "section": "def-common.OnPreResponseRender", "text": "OnPreResponseRender" } ], @@ -44601,17 +44694,17 @@ "(responseExtensions?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseExtensions", + "section": "def-common.OnPreResponseExtensions", "text": "OnPreResponseExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" } ], @@ -44629,9 +44722,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseExtensions", + "section": "def-common.OnPreResponseExtensions", "text": "OnPreResponseExtensions" }, " | undefined" @@ -44671,9 +44764,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" } ], @@ -44696,9 +44789,9 @@ "(url: string) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" } ], @@ -44768,9 +44861,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.ElasticsearchClientsMetrics", + "section": "def-common.ElasticsearchClientsMetrics", "text": "ElasticsearchClientsMetrics" } ], @@ -44792,9 +44885,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" } ], @@ -44885,9 +44978,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]" @@ -44908,9 +45001,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsOsMetrics", + "section": "def-common.OpsOsMetrics", "text": "OpsOsMetrics" } ], @@ -45187,9 +45280,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" } ], @@ -45417,9 +45510,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, "" @@ -45557,9 +45650,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "" @@ -45579,9 +45672,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: TPluginsSetup) => TSetup" @@ -45600,9 +45693,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -45641,9 +45734,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: TPluginsStart) => TStart" @@ -45662,9 +45755,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -45722,9 +45815,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginConfigDescriptor", + "section": "def-common.PluginConfigDescriptor", "text": "PluginConfigDescriptor" }, "" @@ -45745,9 +45838,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationProvider", + "section": "def-common.ConfigDeprecationProvider", "text": "ConfigDeprecationProvider" }, " | undefined" @@ -45768,9 +45861,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.ExposedToBrowserDescriptor", + "section": "def-common.ExposedToBrowserDescriptor", "text": "ExposedToBrowserDescriptor" }, " | undefined" @@ -45791,9 +45884,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -45814,9 +45907,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.MakeUsageFromSchema", + "section": "def-common.MakeUsageFromSchema", "text": "MakeUsageFromSchema" }, " | undefined" @@ -45840,9 +45933,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -45876,17 +45969,17 @@ "{ mode: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", + "section": "def-common.EnvironmentMode", "text": "EnvironmentMode" }, "; packageInfo: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", + "section": "def-common.PackageInfo", "text": "PackageInfo" }, ">; instanceUuid: string; configs: readonly string[]; }" @@ -45907,9 +46000,9 @@ "signature": [ { "pluginId": "@kbn/core-node-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" } ], @@ -45929,9 +46022,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -45954,25 +46047,25 @@ " moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -45980,25 +46073,25 @@ " | undefined) => string; }>; }>; }>>; get: () => Readonly<{ elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -46078,9 +46171,9 @@ "signature": [ { "pluginId": "@kbn/core-base-common", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreBaseCommonPluginApi", - "section": "def-server.PluginType", + "section": "def-common.PluginType", "text": "PluginType" } ], @@ -47508,9 +47601,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -47575,9 +47668,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootUiSettingsRequestHandlerContext", + "section": "def-common.PrebootUiSettingsRequestHandlerContext", "text": "PrebootUiSettingsRequestHandlerContext" } ], @@ -47600,9 +47693,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PrebootPlugin", + "section": "def-common.PrebootPlugin", "text": "PrebootPlugin" }, "" @@ -47622,9 +47715,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CorePreboot", + "section": "def-common.CorePreboot", "text": "CorePreboot" }, ", plugins: TPluginsSetup) => TSetup" @@ -47643,9 +47736,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CorePreboot", + "section": "def-common.CorePreboot", "text": "CorePreboot" } ], @@ -47701,17 +47794,17 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootRequestHandlerContext", + "section": "def-common.PrebootRequestHandlerContext", "text": "PrebootRequestHandlerContext" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" } ], @@ -47730,9 +47823,9 @@ "Promise<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootCoreRequestHandlerContext", + "section": "def-common.PrebootCoreRequestHandlerContext", "text": "PrebootCoreRequestHandlerContext" }, ">" @@ -47756,9 +47849,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, "" @@ -47803,9 +47896,9 @@ "Map>" @@ -47839,17 +47932,17 @@ "(context: ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.GetDeprecationsContext", + "section": "def-common.GetDeprecationsContext", "text": "GetDeprecationsContext" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -47876,9 +47969,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.GetDeprecationsContext", + "section": "def-common.GetDeprecationsContext", "text": "GetDeprecationsContext" } ], @@ -47905,17 +47998,17 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" } ], @@ -47934,9 +48027,9 @@ "Promise<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.CoreRequestHandlerContext", + "section": "def-common.CoreRequestHandlerContext", "text": "CoreRequestHandlerContext" }, ">" @@ -47989,9 +48082,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -48026,9 +48119,9 @@ "false | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorFullConfig", + "section": "def-common.RouteValidatorFullConfig", "text": "RouteValidatorFullConfig" }, "" @@ -48049,9 +48142,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, " | undefined" @@ -48075,9 +48168,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, "" @@ -48147,9 +48240,9 @@ "(Method extends \"options\" | \"get\" ? undefined : ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptionsBody", + "section": "def-common.RouteConfigOptionsBody", "text": "RouteConfigOptionsBody" }, ") | undefined" @@ -48203,9 +48296,9 @@ "string | string[] | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteContentType", + "section": "def-common.RouteContentType", "text": "RouteContentType" }, "[] | undefined" @@ -48321,9 +48414,9 @@ "(error: string | Error, path?: string[] | undefined) => { error: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, "; }" @@ -48380,9 +48473,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorConfig", + "section": "def-common.RouteValidatorConfig", "text": "RouteValidatorConfig" }, "" @@ -48403,9 +48496,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, "

| undefined" @@ -48426,9 +48519,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, " | undefined" @@ -48449,9 +48542,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, " | undefined" @@ -49410,9 +49503,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -49513,9 +49606,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMigrationLogger", + "section": "def-common.SavedObjectsMigrationLogger", "text": "SavedObjectsMigrationLogger" } ], @@ -49604,9 +49697,9 @@ "[version: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationFn", + "section": "def-common.SavedObjectMigrationFn", "text": "SavedObjectMigrationFn" }, "" @@ -49849,9 +49942,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "" @@ -50072,17 +50165,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -50102,9 +50195,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -50157,9 +50250,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteStatus", + "section": "def-common.SavedObjectsBulkDeleteStatus", "text": "SavedObjectsBulkDeleteStatus" }, "[]" @@ -50377,9 +50470,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, "" @@ -50400,9 +50493,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, "[]" @@ -50426,9 +50519,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, "" @@ -50475,17 +50568,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, " extends Pick<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, ", \"version\" | \"references\">" @@ -50567,17 +50660,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -50597,9 +50690,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -50623,9 +50716,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, "" @@ -50646,9 +50739,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "[]" @@ -50768,9 +50861,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", @@ -50833,9 +50926,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -50863,25 +50956,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -50902,9 +50995,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -50926,9 +51019,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -50956,25 +51049,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -50995,9 +51088,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -51019,9 +51112,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -51049,9 +51142,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined) => Promise<{}>" @@ -51106,9 +51199,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined" @@ -51134,25 +51227,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -51173,9 +51266,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -51197,9 +51290,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined" @@ -51227,17 +51320,17 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -51258,9 +51351,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -51287,25 +51380,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -51326,9 +51419,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -51350,9 +51443,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -51380,9 +51473,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", @@ -51445,9 +51538,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -51475,25 +51568,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -51514,9 +51607,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -51538,9 +51631,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -51568,17 +51661,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -51633,9 +51726,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -51663,17 +51756,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -51745,9 +51838,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined" @@ -51775,25 +51868,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -51814,9 +51907,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -51838,9 +51931,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined" @@ -51868,17 +51961,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -51933,9 +52026,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined" @@ -51963,17 +52056,17 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -52011,9 +52104,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined" @@ -52041,17 +52134,17 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -52089,9 +52182,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -52119,25 +52212,25 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -52158,9 +52251,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -52181,9 +52274,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -52211,25 +52304,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -52250,9 +52343,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -52274,9 +52367,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined" @@ -52304,25 +52397,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -52343,9 +52436,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -52401,9 +52494,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined" @@ -52565,17 +52658,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -52627,9 +52720,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectReferenceWithContext", + "section": "def-common.SavedObjectReferenceWithContext", "text": "SavedObjectReferenceWithContext" }, "[]" @@ -52653,17 +52746,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -52793,9 +52886,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -52865,9 +52958,9 @@ "{ find: (options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -52875,17 +52968,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">; closePointInTime: (id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -52893,17 +52986,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">; openPointInTimeForType: (type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -52911,9 +53004,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">; }" @@ -52937,17 +53030,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -52986,17 +53079,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -53016,9 +53109,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -53058,17 +53151,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectExportBaseOptions", + "section": "def-common.SavedObjectExportBaseOptions", "text": "SavedObjectExportBaseOptions" } ], @@ -53114,17 +53207,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectExportBaseOptions", + "section": "def-common.SavedObjectExportBaseOptions", "text": "SavedObjectExportBaseOptions" } ], @@ -53160,9 +53253,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -53333,9 +53426,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportExcludedObject", + "section": "def-common.SavedObjectsExportExcludedObject", "text": "SavedObjectsExportExcludedObject" }, "[]" @@ -53372,9 +53465,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -53409,9 +53502,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsEncryptionExtension", + "section": "def-common.ISavedObjectsEncryptionExtension", "text": "ISavedObjectsEncryptionExtension" }, " | undefined" @@ -53430,9 +53523,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSecurityExtension", + "section": "def-common.ISavedObjectsSecurityExtension", "text": "ISavedObjectsSecurityExtension" }, " | undefined" @@ -53451,9 +53544,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSpacesExtension", + "section": "def-common.ISavedObjectsSpacesExtension", "text": "ISavedObjectsSpacesExtension" }, " | undefined" @@ -53651,17 +53744,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -53698,17 +53791,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -53845,9 +53938,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsPitParams", + "section": "def-common.SavedObjectsPitParams", "text": "SavedObjectsPitParams" }, " | undefined" @@ -53913,9 +54006,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "" @@ -53952,9 +54045,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResult", + "section": "def-common.SavedObjectsFindResult", "text": "SavedObjectsFindResult" }, "[]" @@ -54033,9 +54126,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResult", + "section": "def-common.SavedObjectsFindResult", "text": "SavedObjectsFindResult" }, " extends ", @@ -55041,17 +55134,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -55110,9 +55203,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -55164,9 +55257,9 @@ "[field: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsFieldMapping", + "section": "def-common.SavedObjectsFieldMapping", "text": "SavedObjectsFieldMapping" } ], @@ -55352,17 +55445,17 @@ "(msg: string, meta: Meta) => void" @@ -55611,9 +55704,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocSource", + "section": "def-common.SavedObjectsRawDocSource", "text": "SavedObjectsRawDocSource" } ], @@ -55847,17 +55940,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -55896,17 +55989,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -55956,25 +56049,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -55992,9 +56085,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -56033,9 +56126,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -56061,17 +56154,17 @@ "(includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -56108,9 +56201,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -56149,9 +56242,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -56169,9 +56262,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" } ], @@ -56190,17 +56283,17 @@ "(options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -56218,9 +56311,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined" @@ -56244,17 +56337,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" } ], @@ -56272,9 +56365,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -56297,17 +56390,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" } ], @@ -56325,9 +56418,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -56438,9 +56531,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, "" @@ -56549,9 +56642,9 @@ "(clientFactoryProvider: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactoryProvider", + "section": "def-common.SavedObjectsClientFactoryProvider", "text": "SavedObjectsClientFactoryProvider" }, ") => void" @@ -56570,9 +56663,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactoryProvider", + "section": "def-common.SavedObjectsClientFactoryProvider", "text": "SavedObjectsClientFactoryProvider" } ], @@ -56597,9 +56690,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsEncryptionExtensionFactory", + "section": "def-common.SavedObjectsEncryptionExtensionFactory", "text": "SavedObjectsEncryptionExtensionFactory" }, ") => void" @@ -56618,9 +56711,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsEncryptionExtensionFactory", + "section": "def-common.SavedObjectsEncryptionExtensionFactory", "text": "SavedObjectsEncryptionExtensionFactory" } ], @@ -56645,9 +56738,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSecurityExtensionFactory", + "section": "def-common.SavedObjectsSecurityExtensionFactory", "text": "SavedObjectsSecurityExtensionFactory" }, ") => void" @@ -56666,9 +56759,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSecurityExtensionFactory", + "section": "def-common.SavedObjectsSecurityExtensionFactory", "text": "SavedObjectsSecurityExtensionFactory" } ], @@ -56693,9 +56786,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSpacesExtensionFactory", + "section": "def-common.SavedObjectsSpacesExtensionFactory", "text": "SavedObjectsSpacesExtensionFactory" }, ") => void" @@ -56714,9 +56807,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSpacesExtensionFactory", + "section": "def-common.SavedObjectsSpacesExtensionFactory", "text": "SavedObjectsSpacesExtensionFactory" } ], @@ -56741,9 +56834,9 @@ "(type: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, ") => void" @@ -56762,9 +56855,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -56824,25 +56917,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -56860,9 +56953,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -56882,9 +56975,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined" @@ -56910,25 +57003,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -56948,9 +57041,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -56989,9 +57082,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -57017,17 +57110,17 @@ "(includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -57064,9 +57157,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -57092,9 +57185,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSerializer", + "section": "def-common.ISavedObjectsSerializer", "text": "ISavedObjectsSerializer" } ], @@ -57117,17 +57210,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" } ], @@ -57145,9 +57238,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -57172,17 +57265,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" } ], @@ -57200,9 +57293,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -57227,9 +57320,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" } ], @@ -57318,9 +57411,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -57415,9 +57508,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectTypeExcludeFromUpgradeFilterHook", + "section": "def-common.SavedObjectTypeExcludeFromUpgradeFilterHook", "text": "SavedObjectTypeExcludeFromUpgradeFilterHook" }, " | undefined" @@ -57438,9 +57531,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeMappingDefinition", + "section": "def-common.SavedObjectsTypeMappingDefinition", "text": "SavedObjectsTypeMappingDefinition" } ], @@ -57460,17 +57553,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, " | (() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ") | undefined" @@ -57491,17 +57584,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationMap", + "section": "def-common.SavedObjectsValidationMap", "text": "SavedObjectsValidationMap" }, " | (() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationMap", + "section": "def-common.SavedObjectsValidationMap", "text": "SavedObjectsValidationMap" }, ") | undefined" @@ -57746,9 +57839,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeManagementDefinition", + "section": "def-common.SavedObjectsTypeManagementDefinition", "text": "SavedObjectsTypeManagementDefinition" }, " | undefined" @@ -57772,9 +57865,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeManagementDefinition", + "section": "def-common.SavedObjectsTypeManagementDefinition", "text": "SavedObjectsTypeManagementDefinition" }, "" @@ -58024,9 +58117,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransform", + "section": "def-common.SavedObjectsExportTransform", "text": "SavedObjectsExportTransform" }, " | undefined" @@ -58047,9 +58140,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHook", + "section": "def-common.SavedObjectsImportHook", "text": "SavedObjectsImportHook" }, " | undefined" @@ -58070,9 +58163,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportablePredicate", + "section": "def-common.SavedObjectsExportablePredicate", "text": "SavedObjectsExportablePredicate" }, " | undefined" @@ -58125,9 +58218,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" } ], @@ -58192,17 +58285,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -58222,9 +58315,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -58261,9 +58354,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject", "text": "SavedObjectsUpdateObjectsSpacesResponseObject" }, "[]" @@ -58368,17 +58461,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -58437,9 +58530,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -58495,9 +58588,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, " extends Omit<", @@ -58580,9 +58673,9 @@ "[version: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationSpec", + "section": "def-common.SavedObjectsValidationSpec", "text": "SavedObjectsValidationSpec" } ], @@ -58795,9 +58888,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorage", + "section": "def-common.SessionStorage", "text": "SessionStorage" }, "" @@ -58893,9 +58986,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "" @@ -58943,9 +59036,9 @@ "(sessionValue: T | T[]) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionCookieValidationResult", + "section": "def-common.SessionCookieValidationResult", "text": "SessionCookieValidationResult" } ], @@ -59015,9 +59108,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, "" @@ -59037,17 +59130,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorage", + "section": "def-common.SessionStorage", "text": "SessionStorage" }, "" @@ -59066,9 +59159,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -59692,9 +59785,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -59788,9 +59881,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -59808,9 +59901,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -59959,17 +60052,17 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -59987,9 +60080,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -60014,17 +60107,17 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -60042,9 +60135,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -60123,9 +60216,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -60175,17 +60268,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" }, " extends ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" } ], @@ -60236,9 +60329,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerNotHandledResult", + "section": "def-common.UnauthorizedErrorHandlerNotHandledResult", "text": "UnauthorizedErrorHandlerNotHandledResult" } ], @@ -60261,17 +60354,17 @@ "(params: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" }, ") => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" } ], @@ -60289,9 +60382,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" } ], @@ -60415,9 +60508,9 @@ "(details: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, ") => void" @@ -60437,9 +60530,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" } ], @@ -60662,33 +60755,33 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.ConsoleAppenderConfig", + "section": "def-common.ConsoleAppenderConfig", "text": "ConsoleAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.FileAppenderConfig", + "section": "def-common.FileAppenderConfig", "text": "FileAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.RewriteAppenderConfig", + "section": "def-common.RewriteAppenderConfig", "text": "RewriteAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.RollingFileAppenderConfig", + "section": "def-common.RollingFileAppenderConfig", "text": "RollingFileAppenderConfig" } ], @@ -60710,57 +60803,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthToolkit", + "section": "def-common.AuthToolkit", "text": "AuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" }, ">" @@ -60780,9 +60873,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -60801,17 +60894,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -60829,9 +60922,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthToolkit", + "section": "def-common.AuthToolkit", "text": "AuthToolkit" } ], @@ -60870,9 +60963,9 @@ "Map>" @@ -60892,25 +60985,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultAuthenticated", + "section": "def-common.AuthResultAuthenticated", "text": "AuthResultAuthenticated" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultNotHandled", + "section": "def-common.AuthResultNotHandled", "text": "AuthResultNotHandled" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultRedirected", + "section": "def-common.AuthResultRedirected", "text": "AuthResultRedirected" } ], @@ -60959,9 +61052,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", uiCapabilities: ", @@ -60975,9 +61068,9 @@ ", useDefaultCapabilities: boolean) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "" @@ -61063,25 +61156,25 @@ "(config: Readonly<{ [x: string]: any; }>, fromPath: string, addDeprecation: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.AddConfigDeprecation", + "section": "def-common.AddConfigDeprecation", "text": "AddConfigDeprecation" }, ", context: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" }, ") => void | ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationCommand", + "section": "def-common.ConfigDeprecationCommand", "text": "ConfigDeprecationCommand" } ], @@ -61128,9 +61221,9 @@ "(details: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, ") => void" @@ -61150,9 +61243,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" } ], @@ -61172,9 +61265,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" } ], @@ -61198,17 +61291,17 @@ "(factory: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" }, ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -61228,9 +61321,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" } ], @@ -61284,9 +61377,9 @@ "(params: ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreIncrementCounterParams", + "section": "def-common.CoreIncrementCounterParams", "text": "CoreIncrementCounterParams" }, ") => void" @@ -61306,9 +61399,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreIncrementCounterParams", + "section": "def-common.CoreIncrementCounterParams", "text": "CoreIncrementCounterParams" } ], @@ -61331,9 +61424,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { [Key in keyof T]: T[Key] extends Promise ? T[Key] : Promise; }" @@ -61399,9 +61492,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -62827,9 +62920,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -62851,9 +62944,9 @@ "{ [Key in keyof T]?: (T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? boolean | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.ExposedToBrowserDescriptor", + "section": "def-common.ExposedToBrowserDescriptor", "text": "ExposedToBrowserDescriptor" }, " : boolean) | undefined; }" @@ -62878,17 +62971,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -62912,9 +63005,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -62939,17 +63032,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => { status: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthStatus", + "section": "def-common.AuthStatus", "text": "AuthStatus" }, "; state: T; }" @@ -62971,9 +63064,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -62998,9 +63091,9 @@ "T extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HandlerFunction", + "section": "def-common.HandlerFunction", "text": "HandlerFunction" }, " ? U : never" @@ -63105,33 +63198,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaSuccessResponseFactory", + "section": "def-common.KibanaSuccessResponseFactory", "text": "KibanaSuccessResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" }, " & { custom | Error | ", @@ -63139,49 +63232,49 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "): ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "; } & ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesServiceToolkit", + "section": "def-common.HttpResourcesServiceToolkit", "text": "HttpResourcesServiceToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -63219,9 +63312,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -63261,9 +63354,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -63304,25 +63397,25 @@ "(context: Omit, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, ">" @@ -63363,17 +63456,17 @@ "[request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, "]" @@ -63398,9 +63491,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -63422,9 +63515,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -63472,17 +63565,17 @@ "Method extends \"options\" | \"get\" ? Required, \"body\">> : Required<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, ">" @@ -63504,25 +63597,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaSuccessResponseFactory", + "section": "def-common.KibanaSuccessResponseFactory", "text": "KibanaSuccessResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" }, " & { custom | Error | ", @@ -63530,25 +63623,25 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "): ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "; }" @@ -63587,17 +63680,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -63702,9 +63795,9 @@ "{ [Key in keyof T]?: (T[Key] extends Maybe ? false : T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? boolean | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.MakeUsageFromSchema", + "section": "def-common.MakeUsageFromSchema", "text": "MakeUsageFromSchema" }, " : boolean) | undefined; }" @@ -63726,9 +63819,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -63767,57 +63860,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthToolkit", + "section": "def-common.OnPostAuthToolkit", "text": "OnPostAuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" }, ">" @@ -63837,9 +63930,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -63858,17 +63951,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -63886,9 +63979,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthToolkit", + "section": "def-common.OnPostAuthToolkit", "text": "OnPostAuthToolkit" } ], @@ -63912,57 +64005,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthToolkit", + "section": "def-common.OnPreAuthToolkit", "text": "OnPreAuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" }, ">" @@ -63982,9 +64075,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64003,17 +64096,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -64031,9 +64124,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthToolkit", + "section": "def-common.OnPreAuthToolkit", "text": "OnPreAuthToolkit" } ], @@ -64057,41 +64150,41 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", preResponse: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseInfo", + "section": "def-common.OnPreResponseInfo", "text": "OnPreResponseInfo" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseToolkit", + "section": "def-common.OnPreResponseToolkit", "text": "OnPreResponseToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" }, ">" @@ -64111,9 +64204,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64132,9 +64225,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseInfo", + "section": "def-common.OnPreResponseInfo", "text": "OnPreResponseInfo" } ], @@ -64152,9 +64245,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseToolkit", + "section": "def-common.OnPreResponseToolkit", "text": "OnPreResponseToolkit" } ], @@ -64178,57 +64271,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingToolkit", + "section": "def-common.OnPreRoutingToolkit", "text": "OnPreRoutingToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" }, ">" @@ -64248,9 +64341,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64269,17 +64362,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -64297,9 +64390,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingToolkit", + "section": "def-common.OnPreRoutingToolkit", "text": "OnPreRoutingToolkit" } ], @@ -64322,9 +64415,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -64347,33 +64440,33 @@ "(core: ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, ") => ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, " | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PrebootPlugin", + "section": "def-common.PrebootPlugin", "text": "PrebootPlugin" }, " | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.AsyncPlugin", + "section": "def-common.AsyncPlugin", "text": "AsyncPlugin" }, "" @@ -64393,9 +64486,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -64451,9 +64544,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, "" @@ -64476,25 +64569,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -64528,9 +64621,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64568,9 +64661,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -64621,6 +64714,29 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.RawRequest", + "type": "Type", + "tags": [], + "label": "RawRequest", + "description": [], + "signature": [ + "Request", + " | ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.FakeRawRequest", + "text": "FakeRawRequest" + } + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.RedirectResponseOptions", @@ -64633,9 +64749,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " & { headers: { location: string; }; }" @@ -64658,25 +64774,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -64714,9 +64830,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64757,57 +64873,57 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -64828,25 +64944,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -64880,9 +64996,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -64923,9 +65039,9 @@ "string | Error | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; }" @@ -64998,17 +65114,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SafeRouteMethod", + "section": "def-common.SafeRouteMethod", "text": "SafeRouteMethod" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.DestructiveRouteMethod", + "section": "def-common.DestructiveRouteMethod", "text": "DestructiveRouteMethod" } ], @@ -65030,25 +65146,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -65068,9 +65184,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -65090,33 +65206,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -65150,9 +65266,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -65193,17 +65309,17 @@ "(data: any, validationResult: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationResultFactory", + "section": "def-common.RouteValidationResultFactory", "text": "RouteValidationResultFactory" }, ") => { value: T; error?: undefined; } | { value?: undefined; error: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, "; }" @@ -65237,9 +65353,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationResultFactory", + "section": "def-common.RouteValidationResultFactory", "text": "RouteValidationResultFactory" } ], @@ -65262,25 +65378,25 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, " | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationFunction", + "section": "def-common.RouteValidationFunction", "text": "RouteValidationFunction" }, "" @@ -65302,17 +65418,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorConfig", + "section": "def-common.RouteValidatorConfig", "text": "RouteValidatorConfig" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorOptions", + "section": "def-common.RouteValidatorOptions", "text": "RouteValidatorOptions" } ], @@ -65408,25 +65524,25 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ", context: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -65468,9 +65584,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" } ], @@ -65519,25 +65635,25 @@ "({ request, includedHiddenTypes, extensions, }: { request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; includedHiddenTypes?: string[] | undefined; extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined; }) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -65557,17 +65673,17 @@ "{ request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; includedHiddenTypes?: string[] | undefined; extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined; }" @@ -65592,17 +65708,17 @@ "(repositoryFactory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRepositoryFactory", + "section": "def-common.SavedObjectsRepositoryFactory", "text": "SavedObjectsRepositoryFactory" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactory", + "section": "def-common.SavedObjectsClientFactory", "text": "SavedObjectsClientFactory" } ], @@ -65621,9 +65737,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRepositoryFactory", + "section": "def-common.SavedObjectsRepositoryFactory", "text": "SavedObjectsRepositoryFactory" } ], @@ -65646,9 +65762,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -65674,33 +65790,33 @@ " | undefined; searchFields?: string[] | undefined; rootSearchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; namespaces?: string[] | undefined; typeToNamespacesMap?: Map | undefined; preference?: string | undefined; }" @@ -65723,25 +65839,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsEncryptionExtension", + "section": "def-common.ISavedObjectsEncryptionExtension", "text": "ISavedObjectsEncryptionExtension" }, " | undefined" @@ -65762,17 +65878,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -65797,9 +65913,9 @@ "(context: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransformContext", + "section": "def-common.SavedObjectsExportTransformContext", "text": "SavedObjectsExportTransformContext" }, ", objects: ", @@ -65843,9 +65959,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransformContext", + "section": "def-common.SavedObjectsExportTransformContext", "text": "SavedObjectsExportTransformContext" } ], @@ -65890,17 +66006,17 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => T" @@ -65921,17 +66037,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -65984,17 +66100,17 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHookResult", + "section": "def-common.SavedObjectsImportHookResult", "text": "SavedObjectsImportHookResult" }, " | Promise<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHookResult", + "section": "def-common.SavedObjectsImportHookResult", "text": "SavedObjectsImportHookResult" }, ">" @@ -66089,9 +66205,9 @@ "{ find: (options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -66099,17 +66215,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">; closePointInTime: (id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -66117,17 +66233,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">; openPointInTimeForType: (type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -66135,9 +66251,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">; }" @@ -66160,25 +66276,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSecurityExtension", + "section": "def-common.ISavedObjectsSecurityExtension", "text": "ISavedObjectsSecurityExtension" }, " | undefined" @@ -66199,17 +66315,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -66234,25 +66350,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSpacesExtension", + "section": "def-common.ISavedObjectsSpacesExtension", "text": "ISavedObjectsSpacesExtension" }, " | undefined" @@ -66273,17 +66389,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -66307,9 +66423,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "" @@ -66334,17 +66450,17 @@ "(toolkit: { readonlyEsClient: Pick<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", \"search\">; }) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -66367,9 +66483,9 @@ "{ readonlyEsClient: Pick<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", \"search\">; }" @@ -66418,17 +66534,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.FakeRequest", + "section": "def-common.FakeRequest", "text": "FakeRequest" } ], @@ -66480,25 +66596,25 @@ "{ readonly elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; readonly path: Readonly<{ readonly data: string; }>; readonly savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -66538,9 +66654,9 @@ "() => Promise<[", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", TPluginsStart, TStart]>" @@ -66599,33 +66715,33 @@ "(options: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerOptions", + "section": "def-common.UnauthorizedErrorHandlerOptions", "text": "UnauthorizedErrorHandlerOptions" }, ", toolkit: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerToolkit", + "section": "def-common.UnauthorizedErrorHandlerToolkit", "text": "UnauthorizedErrorHandlerToolkit" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResult", + "section": "def-common.UnauthorizedErrorHandlerResult", "text": "UnauthorizedErrorHandlerResult" }, ">" @@ -66645,9 +66761,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerOptions", + "section": "def-common.UnauthorizedErrorHandlerOptions", "text": "UnauthorizedErrorHandlerOptions" } ], @@ -66665,9 +66781,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerToolkit", + "section": "def-common.UnauthorizedErrorHandlerToolkit", "text": "UnauthorizedErrorHandlerToolkit" } ], @@ -66688,17 +66804,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" }, " | ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerNotHandledResult", + "section": "def-common.UnauthorizedErrorHandlerNotHandledResult", "text": "UnauthorizedErrorHandlerNotHandledResult" } ], @@ -66798,17 +66914,17 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, ") => ", @@ -66829,9 +66945,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "" diff --git a/api_docs/core.mdx b/api_docs/core.mdx index 882ece5ca4c3f..a96b10e5c7b53 100644 --- a/api_docs/core.mdx +++ b/api_docs/core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core title: "core" image: https://source.unsplash.com/400x175/?github description: API docs for the core plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core'] --- import coreObj from './core.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2809 | 17 | 1014 | 0 | +| 2818 | 17 | 1018 | 0 | ## Client diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index bbfb908d9c142..d40d6687da9c1 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.devdocs.json b/api_docs/dashboard.devdocs.json index cdf25089f8415..38b159a4d1b1e 100644 --- a/api_docs/dashboard.devdocs.json +++ b/api_docs/dashboard.devdocs.json @@ -201,9 +201,9 @@ " & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ")[] | undefined; controlGroupInput?: ", @@ -345,17 +345,17 @@ "(savedObjectClient: Pick<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" }, ", \"find\">, embeddableType: string) => Promise<{ [key: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; }[]>" @@ -375,9 +375,9 @@ "Pick<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" }, ", \"find\">" @@ -1811,9 +1811,9 @@ "{ [key: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; }" @@ -2042,9 +2042,9 @@ " | undefined; lastReloadRequestTime?: number | undefined; hidePanelTitles?: boolean | undefined; enhancements?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; disabledActions?: string[] | undefined; disableTriggers?: boolean | undefined; searchSessionId?: string | undefined; syncColors?: boolean | undefined; syncCursor?: boolean | undefined; syncTooltips?: boolean | undefined; executionContext?: ", diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 0b45db48f274c..9f4b9c3842bb5 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.devdocs.json b/api_docs/dashboard_enhanced.devdocs.json index 7b4a7ac24f943..90cd30bef9c4f 100644 --- a/api_docs/dashboard_enhanced.devdocs.json +++ b/api_docs/dashboard_enhanced.devdocs.json @@ -650,9 +650,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; setAnonymousAccessServiceProvider: (provider: () => ", @@ -772,9 +772,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; }" diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 07b8cd6f84ad6..b0d3ebbc525be 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 69a73192ab4e1..ebfa27ad06928 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -628,9 +628,9 @@ "() => { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -656,9 +656,9 @@ "() => { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -684,9 +684,9 @@ "() => ", @@ -2513,9 +2513,9 @@ "(agg: TAggConfig, state?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined) => TAggConfig" @@ -2550,9 +2550,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -5367,9 +5367,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5420,9 +5420,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5473,9 +5473,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5526,9 +5526,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5579,9 +5579,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5632,9 +5632,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5685,9 +5685,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5738,9 +5738,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5791,9 +5791,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5844,9 +5844,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5897,9 +5897,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -5950,9 +5950,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6003,9 +6003,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6056,9 +6056,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6109,9 +6109,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6162,9 +6162,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6215,9 +6215,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6268,9 +6268,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6321,9 +6321,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6374,9 +6374,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6427,9 +6427,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6480,9 +6480,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6533,9 +6533,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6586,9 +6586,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6639,9 +6639,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6692,9 +6692,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6745,9 +6745,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6798,9 +6798,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6851,9 +6851,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6904,9 +6904,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -6957,9 +6957,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7010,9 +7010,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7063,9 +7063,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7116,9 +7116,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7169,9 +7169,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7222,9 +7222,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7275,9 +7275,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7328,9 +7328,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7381,9 +7381,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -7434,9 +7434,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9381,9 +9381,9 @@ "; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; id?: string | undefined; enabled?: boolean | undefined; }" @@ -9404,9 +9404,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -9665,9 +9665,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9929,9 +9929,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9983,9 +9983,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -10198,9 +10198,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -10613,9 +10613,9 @@ "{ value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; type: \"fixed\" | \"calendar\"; }" @@ -10740,17 +10740,17 @@ "[] | undefined; highlight?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", @@ -11816,9 +11816,9 @@ "(interval: string) => { value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; type: \"fixed\" | \"calendar\"; }" @@ -12645,9 +12645,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -12700,9 +12700,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "; }>; asyncSearch: Readonly<{ pollInterval?: number | undefined; } & { waitForCompletion: moment.Duration; keepAlive: moment.Duration; batchedReduceSize: number; }>; sessions: Readonly<{} & { enabled: boolean; notTouchedTimeout: moment.Duration; maxUpdateRetries: number; defaultExpiration: moment.Duration; management: Readonly<{} & { refreshInterval: moment.Duration; maxSessions: number; refreshTimeout: moment.Duration; expiresSoonWarning: moment.Duration; }>; }>; }>; }>>" @@ -12726,9 +12726,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -12771,9 +12771,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -12822,9 +12822,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", { fieldFormats, dataViews, taskManager }: ", @@ -12881,9 +12881,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -13738,10 +13738,6 @@ "plugin": "visTypeVega", "path": "src/plugins/vis_types/vega/public/data_model/search_api.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" @@ -13809,9 +13805,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -15405,9 +15401,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -15453,9 +15449,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -16385,7 +16381,7 @@ "\nGet an index pattern by id, cache optimized." ], "signature": [ - "(id: string, displayErrors?: boolean) => Promise<", + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -16430,6 +16426,23 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-server.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -16878,7 +16891,7 @@ "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -16891,7 +16904,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-server.DataViewsService.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- if true, will refresh the fields of the default data view" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [ "default data view" ] @@ -16934,9 +16965,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -17474,25 +17505,25 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", elasticsearchClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", request?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined, byPassCapabilities?: boolean | undefined) => Promise<", @@ -17520,9 +17551,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -18740,9 +18771,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined" @@ -19288,9 +19319,9 @@ "{ value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; type: \"fixed\" | \"calendar\"; }" @@ -20375,9 +20406,9 @@ ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" } ], @@ -21342,10 +21373,6 @@ "plugin": "visTypeVega", "path": "src/plugins/vis_types/vega/public/data_model/search_api.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" @@ -21413,9 +21440,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -23009,9 +23036,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -23057,9 +23084,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -23167,9 +23194,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -24857,7 +24884,7 @@ "\nGet an index pattern by id, cache optimized." ], "signature": [ - "(id: string, displayErrors?: boolean) => Promise<", + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -24902,6 +24929,23 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -25350,7 +25394,7 @@ "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -25363,7 +25407,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- if true, will refresh the fields of the default data view" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [ "default data view" ] @@ -26714,9 +26776,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record Promise<", + "{ get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -27555,7 +27617,7 @@ "section": "def-common.DataView", "text": "DataView" }, - ">; getDefaultDataView: () => Promise<", + ">; getDefaultDataView: (refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -27615,9 +27677,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -27842,9 +27904,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 91dd2083ecb05..e218664b0df4c 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3296 | 119 | 2578 | 27 | +| 3300 | 119 | 2578 | 27 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index d6f6d3292a3d5..8b0bc0a51150a 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3296 | 119 | 2578 | 27 | +| 3300 | 119 | 2578 | 27 | ## Client diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index 5212a39b8754a..7a787eaa2a666 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -223,9 +223,9 @@ ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", @@ -259,9 +259,9 @@ ">; find: (options: Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">) => Promise<", @@ -275,9 +275,9 @@ ">; update: (sessionId: string, attributes: unknown) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -291,9 +291,9 @@ ">>; rename: (sessionId: string, newName: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">>; extend: (sessionId: string, expires: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "<", @@ -691,9 +691,9 @@ ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", @@ -727,9 +727,9 @@ ">; find: (options: Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">) => Promise<", @@ -743,9 +743,9 @@ ">; update: (sessionId: string, attributes: unknown) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -759,9 +759,9 @@ ">>; rename: (sessionId: string, newName: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">>; extend: (sessionId: string, expires: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "<", @@ -1307,9 +1307,9 @@ ">; find: (options: Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">) => Promise<", @@ -1323,9 +1323,9 @@ ">; update: (sessionId: string, attributes: unknown) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -1339,9 +1339,9 @@ ">>; rename: (sessionId: string, newName: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">>; extend: (sessionId: string, expires: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "<", @@ -1412,9 +1412,9 @@ ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", @@ -1587,9 +1587,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -1642,9 +1642,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", deps: SetupDependencies) => void" @@ -1663,9 +1663,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -1704,9 +1704,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", deps: StartDependencies) => void" @@ -1725,9 +1725,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -2012,9 +2012,9 @@ " | null, options: Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">) => Promise<", @@ -2079,9 +2079,9 @@ "Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">" @@ -2123,9 +2123,9 @@ ">) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2241,9 +2241,9 @@ " | null, sessionId: string, expires: Date) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2351,9 +2351,9 @@ " | null, sessionId: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2681,17 +2681,17 @@ "({ savedObjects, elasticsearch }: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ") => (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => { getId: (args_0: ", @@ -2769,9 +2769,9 @@ ">>; find: (options: Omit<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", \"type\">) => Promise<", @@ -2793,9 +2793,9 @@ ">) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2809,9 +2809,9 @@ ">>; extend: (sessionId: string, expires: Date) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2825,9 +2825,9 @@ ">>; cancel: (sessionId: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -2862,9 +2862,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -3022,17 +3022,17 @@ "{ sessionId?: string | undefined; name?: string | undefined; appId?: string | undefined; created?: string | undefined; expires?: string | undefined; locatorId?: string | undefined; initialState?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; restoreState?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; idMapping?: Record) => Promise<", @@ -3139,9 +3139,9 @@ "> | undefined; searchAfter?: string[] | undefined; pit?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsPitParams", + "section": "def-common.SavedObjectsPitParams", "text": "SavedObjectsPitParams" }, " | undefined; page?: number | undefined; perPage?: number | undefined; sortField?: string | undefined; sortOrder?: ", @@ -3149,33 +3149,33 @@ " | undefined; searchFields?: string[] | undefined; rootSearchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; namespaces?: string[] | undefined; typeToNamespacesMap?: Map | undefined; preference?: string | undefined; }" @@ -3205,9 +3205,9 @@ ">) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -3247,17 +3247,17 @@ "{ sessionId?: string | undefined; name?: string | undefined; appId?: string | undefined; created?: string | undefined; expires?: string | undefined; locatorId?: string | undefined; initialState?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; restoreState?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; idMapping?: Record Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "<", @@ -3451,17 +3451,17 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ") => (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -3481,9 +3481,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -3832,9 +3832,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -3852,9 +3852,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -3900,9 +3900,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3927,9 +3927,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { search: Promise<", @@ -4599,9 +4599,9 @@ "() => { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -4627,9 +4627,9 @@ "() => { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -4655,9 +4655,9 @@ "() => ", @@ -6484,9 +6484,9 @@ "(agg: TAggConfig, state?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined) => TAggConfig" @@ -6521,9 +6521,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -7533,9 +7533,9 @@ "(agg: TAggConfig) => ", @@ -9141,9 +9141,9 @@ "signature": [ { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" } ], @@ -13176,9 +13176,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => any" @@ -14443,9 +14443,9 @@ "(getStartDependencies: (getKibanaRequest: (() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") | undefined) => Promise<", @@ -14480,9 +14480,9 @@ "(getKibanaRequest: (() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") | undefined) => Promise<", @@ -16716,9 +16716,9 @@ "(interval: string) => { value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; type: \"fixed\" | \"calendar\"; }" @@ -17097,9 +17097,9 @@ "(interval: string) => { value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; } | null" @@ -17716,9 +17716,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -17785,9 +17785,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -17838,9 +17838,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -17891,9 +17891,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -17944,9 +17944,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -17997,9 +17997,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18050,9 +18050,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18103,9 +18103,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18156,9 +18156,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18209,9 +18209,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18262,9 +18262,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18315,9 +18315,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18368,9 +18368,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18421,9 +18421,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18474,9 +18474,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18527,9 +18527,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18580,9 +18580,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18633,9 +18633,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18686,9 +18686,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18739,9 +18739,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18792,9 +18792,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18845,9 +18845,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18898,9 +18898,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -18951,9 +18951,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19004,9 +19004,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19057,9 +19057,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19110,9 +19110,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19163,9 +19163,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19216,9 +19216,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19269,9 +19269,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19322,9 +19322,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19375,9 +19375,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19428,9 +19428,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19481,9 +19481,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19534,9 +19534,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19587,9 +19587,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19640,9 +19640,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19693,9 +19693,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19746,9 +19746,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19799,9 +19799,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -19852,9 +19852,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20102,9 +20102,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20124,9 +20124,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20250,9 +20250,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20272,9 +20272,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20398,9 +20398,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20420,9 +20420,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20546,9 +20546,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20568,9 +20568,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -20774,9 +20774,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -21194,9 +21194,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -21483,9 +21483,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -21505,9 +21505,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -23210,9 +23210,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -23301,9 +23301,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -23740,9 +23740,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -24273,9 +24273,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined" @@ -25180,9 +25180,9 @@ "; getInstance: (formatId: string, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -25212,9 +25212,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -25276,9 +25276,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -25724,9 +25724,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) | undefined" @@ -30184,9 +30184,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined" @@ -30207,9 +30207,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined" @@ -30338,9 +30338,9 @@ " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "<", @@ -31608,9 +31608,9 @@ "; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; id?: string | undefined; enabled?: boolean | undefined; }" @@ -31631,9 +31631,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }" @@ -32533,9 +32533,9 @@ "; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; id?: string | undefined; enabled?: boolean | undefined; }" @@ -32646,9 +32646,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -32784,9 +32784,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -32830,9 +32830,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33055,9 +33055,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33117,9 +33117,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33171,9 +33171,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33233,9 +33233,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33287,9 +33287,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33341,9 +33341,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33395,9 +33395,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33457,9 +33457,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33635,9 +33635,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33697,9 +33697,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33751,9 +33751,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33805,9 +33805,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33867,9 +33867,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33921,9 +33921,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33975,9 +33975,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -34029,9 +34029,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -34083,9 +34083,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -34145,9 +34145,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -34207,9 +34207,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -35381,9 +35381,9 @@ "{ value: number; unit: ", { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "; type: \"fixed\" | \"calendar\"; }" @@ -35548,17 +35548,17 @@ "[] | undefined; highlight?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", @@ -39644,9 +39644,9 @@ ", state?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; } | undefined) => ", diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index ef524101bbc61..bb5085a44d131 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3296 | 119 | 2578 | 27 | +| 3300 | 119 | 2578 | 27 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 466f860370f49..c2072b8451f55 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.devdocs.json b/api_docs/data_view_field_editor.devdocs.json index f12453271d43b..d4916b3da0d34 100644 --- a/api_docs/data_view_field_editor.devdocs.json +++ b/api_docs/data_view_field_editor.devdocs.json @@ -408,9 +408,9 @@ "(newParams: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => void" @@ -429,9 +429,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 16e524406fd26..b3e4379ddc5d9 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; @@ -21,7 +21,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 60 | 0 | 30 | 0 | +| 72 | 0 | 33 | 0 | ## Client diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index e261fbad8181c..9a597d719b3de 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 1a17e65979b19..5527eea3303bc 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -851,10 +851,6 @@ "plugin": "data", "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" @@ -918,9 +914,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -2466,9 +2462,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -2514,9 +2510,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -2624,9 +2620,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -4736,7 +4732,7 @@ "\nGet an index pattern by id, cache optimized." ], "signature": [ - "(id: string, displayErrors?: boolean) => Promise<", + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -4781,6 +4777,23 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-public.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -5229,7 +5242,7 @@ "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -5242,7 +5255,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-public.DataViewsService.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- if true, will refresh the fields of the default data view" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [ "default data view" ] @@ -7962,9 +7993,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -9040,10 +9071,6 @@ "plugin": "data", "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" @@ -9107,9 +9134,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -10655,9 +10682,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -10703,9 +10730,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -10775,9 +10802,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -10842,9 +10869,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -10868,9 +10895,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -10913,9 +10940,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -10976,9 +11003,9 @@ "({ uiSettings, capabilities }: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", { fieldFormats }: ", @@ -10992,25 +11019,25 @@ ") => { dataViewsServiceFactory: (savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", elasticsearchClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", request?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined, byPassCapabilities?: boolean | undefined) => Promise<", @@ -11037,9 +11064,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -11969,7 +11996,7 @@ "\nGet an index pattern by id, cache optimized." ], "signature": [ - "(id: string, displayErrors?: boolean) => Promise<", + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -12014,6 +12041,23 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-server.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -12462,7 +12506,7 @@ "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -12475,7 +12519,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-server.DataViewsService.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- if true, will refresh the fields of the default data view" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [ "default data view" ] @@ -12518,9 +12580,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -12748,25 +12810,25 @@ "(deps: DataViewsServiceFactoryDeps) => (savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", elasticsearchClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", request?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined, byPassCapabilities?: boolean | undefined) => Promise<", @@ -12817,9 +12879,9 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", index: string) => Promise<", @@ -12872,9 +12934,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -13187,9 +13249,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -13886,9 +13948,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -14159,25 +14221,25 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", elasticsearchClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", request?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined, byPassCapabilities?: boolean | undefined) => Promise<", @@ -14205,9 +14267,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -15425,9 +15487,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined" @@ -16324,10 +16386,6 @@ "plugin": "data", "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" @@ -16391,9 +16449,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -17939,9 +17997,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -17987,9 +18045,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -18097,9 +18155,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -19849,7 +19907,7 @@ "\nGet an index pattern by id, cache optimized." ], "signature": [ - "(id: string, displayErrors?: boolean) => Promise<", + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -19894,6 +19952,23 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -20342,7 +20417,7 @@ "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -20355,7 +20430,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewsService.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- if true, will refresh the fields of the default data view" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [ "default data view" ] @@ -21256,9 +21349,9 @@ "; getInstance: (formatId: string, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -21288,9 +21381,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -21352,9 +21445,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -22133,7 +22226,7 @@ "\nGet data view by id." ], "signature": [ - "(id: string, displayErrors?: boolean | undefined) => Promise<", + "(id: string, displayErrors?: boolean | undefined, refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -22180,6 +22273,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewsServicePublicMethods.get.$3", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -22308,7 +22416,7 @@ "\nGet default data view, if it doesn't exist, choose and save new default data view and return it." ], "signature": [ - "() => Promise<", + "(refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -22321,7 +22429,25 @@ "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewsServicePublicMethods.getDefaultDataView.$1", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [ + "- refresh field list when true" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], "returnComment": [] }, { @@ -22960,9 +23086,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | null | undefined" @@ -23801,9 +23927,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record Promise<", + "{ get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -25287,7 +25413,7 @@ "section": "def-common.DataView", "text": "DataView" }, - ">; getDefaultDataView: () => Promise<", + ">; getDefaultDataView: (refreshFields?: boolean | undefined) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -25347,9 +25473,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record; }" @@ -25476,9 +25602,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", @@ -25545,9 +25671,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 6eef849203fa9..af1a431f9b21d 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; @@ -21,7 +21,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1024 | 0 | 230 | 2 | +| 1032 | 0 | 231 | 2 | ## Client diff --git a/api_docs/data_visualizer.devdocs.json b/api_docs/data_visualizer.devdocs.json index 4511b96755536..a1f0408d2cee9 100644 --- a/api_docs/data_visualizer.devdocs.json +++ b/api_docs/data_visualizer.devdocs.json @@ -137,6 +137,20 @@ "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "dataVisualizer", + "id": "def-public.IndexDataVisualizerViewProps.compact", + "type": "CompoundType", + "tags": [], + "label": "compact", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 3c43e81f26540..26e215d00d35e 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 28 | 3 | 24 | 1 | +| 29 | 3 | 25 | 1 | ## Client diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 532b6c5f81279..f948b1da906d0 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -28,6 +28,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-common, savedObjects, embeddable, visualizations, dashboard, fleet, infra, canvas, graph, actions, alerting, enterpriseSearch, securitySolution, taskManager, savedSearch, ml, @kbn/core-saved-objects-server-internal | - | | | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, savedObjectsTagging, canvas, lens, cases, graph, lists, maps, securitySolution, dashboard, savedSearch, visualizations, @kbn/core-test-helpers-so-type-serializer | - | | | core, savedObjects, embeddable, visualizations, dashboard, fleet, infra, canvas, graph, actions, alerting, enterpriseSearch, securitySolution, taskManager, savedSearch, ml, @kbn/core-saved-objects-server-internal | - | +| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, savedObjectsTagging, canvas, lens, cases, graph, lists, maps, securitySolution, dashboard, savedSearch, visualizations, @kbn/core-test-helpers-so-type-serializer | - | | | discover, maps, monitoring | - | | | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, dataViews, unifiedSearch, triggersActionsUi, savedObjectsManagement, controls, unifiedFieldList, lens, aiops, ml, infra, visTypeTimeseries, apm, observability, dataVisualizer, fleet, canvas, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover, data | - | | | discover | - | @@ -59,7 +60,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | visTypeTimeseries, graph, dataViewManagement, dataViews | - | | | visTypeTimeseries, graph, dataViewManagement, dataViews | - | | | visTypeTimeseries, graph, dataViewManagement | - | -| | observability, dataVisualizer, fleet, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | +| | observability, dataVisualizer, fleet, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | | | dataViewManagement, dataViews | - | | | dataViews, dataViewManagement | - | | | dataViewManagement, dataViews | - | @@ -86,8 +87,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | dataViewManagement | - | | | enterpriseSearch | - | | | encryptedSavedObjects | - | +| | encryptedSavedObjects | - | | | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, console | - | +| | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, console | - | | | @kbn/core-plugins-server-internal | - | +| | @kbn/core-plugins-server-internal | - | +| | @kbn/eslint-plugin-imports, @kbn/repo-source-classifier, @kbn/find-used-node-modules | - | | | spaces, security, alerting | 8.8.0 | | | spaces, security, actions, alerting, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, painlessLab, rollup, searchprofiler, securitySolution, snapshotRestore, transform, upgradeAssistant | 8.8.0 | | | embeddable, presentationUtil, dashboard, discover, graph | 8.8.0 | @@ -98,7 +103,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-application-browser-internal, core, securitySolution | 8.8.0 | | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, visualizations, dashboard, lens, maps, ml, securitySolution, security, core | 8.8.0 | | | maps, dashboard, @kbn/core-saved-objects-migration-server-internal | 8.8.0 | +| | maps, dashboard, @kbn/core-saved-objects-migration-server-internal | 8.8.0 | | | @kbn/core-apps-browser-internal, @kbn/core-metrics-server-internal, @kbn/core-status-server-internal, @kbn/core-usage-data-server-internal, monitoring, kibanaUsageCollection | 8.8.0 | +| | @kbn/core-apps-browser-internal, @kbn/core-metrics-server-internal, @kbn/core-status-server-internal, @kbn/core-usage-data-server-internal, monitoring, kibanaUsageCollection | 8.8.0 | | | savedObjectsTaggingOss, dashboard | 8.8.0 | | | security, licenseManagement, ml, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | 8.8.0 | | | apm | 8.8.0 | @@ -109,23 +116,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, management, fleet, security, kibanaOverview, core | 8.8.0 | | | security | 8.8.0 | | | mapsEms | 8.8.0 | -| | @kbn/core-plugins-server, @kbn/core-plugins-server-internal, core | 8.8.0 | -| | ml, @kbn/core-http-browser-internal | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | ml, @kbn/core-http-browser-internal | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | @kbn/core-http-browser-internal | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | @kbn/core-http-browser-internal | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | +| | @kbn/core-plugins-server, @kbn/core-plugins-server-internal | 8.8.0 | +| | @kbn/core-plugins-server-internal, core | 8.8.0 | | | security | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting @@ -173,4 +165,4 @@ Safe to remove. | | reporting | | | reporting | | | taskManager | -| | @kbn/storybook | \ No newline at end of file +| | @kbn/storybook | \ No newline at end of file diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 3f8c10030d1be..ef478e663324f 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -48,7 +48,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process)+ 4 more | 8.8.0 | +| | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process) | 8.8.0 | +| | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process) | 8.8.0 | @@ -56,30 +57,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [elasticsearch_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts#:~:text=legacy), [elasticsearch_service.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts#:~:text=legacy), [elasticsearch_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts#:~:text=legacy), [elasticsearch_service.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts#:~:text=legacy) | - | - - - -## @kbn/core-http-browser-internal - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | +| | [elasticsearch_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts#:~:text=legacy), [elasticsearch_service.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts#:~:text=legacy) | - | +| | [elasticsearch_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts#:~:text=legacy), [elasticsearch_service.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts#:~:text=legacy) | - | @@ -87,7 +66,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process), [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process) | 8.8.0 | +| | [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process) | 8.8.0 | +| | [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process) | 8.8.0 | @@ -103,9 +83,12 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy), [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy), [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy), [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy) | - | -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin) | 8.8.0 | -| | [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs)+ 2 more | - | +| | [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy), [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy) | - | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin) | 8.8.0 | +| | [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs) | - | +| | [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy), [plugin_context.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts#:~:text=legacy) | - | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin) | 8.8.0 | +| | [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs), [plugin_manifest_parser.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.ts#:~:text=extraPublicDirs) | - | @@ -122,8 +105,10 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | -| | [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion)+ 34 more | - | +| | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | +| | [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion)+ 12 more | - | +| | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | +| | [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion)+ 12 more | - | @@ -141,7 +126,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process), [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process), [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process), [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process) | 8.8.0 | +| | [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process), [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process) | 8.8.0 | +| | [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process), [status.ts](https://github.com/elastic/kibana/tree/main/packages/core/status/core-status-server-internal/src/routes/status.ts#:~:text=process) | 8.8.0 | @@ -149,7 +135,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [extract_migration_info.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts#:~:text=convertToMultiNamespaceTypeVersion), [extract_migration_info.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [extract_migration_info.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts#:~:text=convertToMultiNamespaceTypeVersion), [extract_migration_info.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [extract_migration_info.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts#:~:text=convertToMultiNamespaceTypeVersion), [extract_migration_info.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [extract_migration_info.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts#:~:text=convertToMultiNamespaceTypeVersion), [extract_migration_info.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [get_migration_hash.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -157,7 +144,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process) | 8.8.0 | +| | [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process) | 8.8.0 | +| | [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process), [core_usage_data_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/usage-data/core-usage-data-server-internal/src/core_usage_data_service.ts#:~:text=process) | 8.8.0 | @@ -171,6 +159,30 @@ so TS and code-reference navigation might not highlight them. | +## @kbn/eslint-plugin-imports + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [uniform_imports.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts#:~:text=isBazelPackage) | - | + + + +## @kbn/find-used-node-modules + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [find_used_node_modules.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-find-used-node-modules/src/find_used_node_modules.ts#:~:text=isBazelPackage), [find_used_node_modules.test.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts#:~:text=isBazelPackage), [find_used_node_modules.test.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts#:~:text=isBazelPackage) | - | + + + +## @kbn/repo-source-classifier + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [repo_path.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-repo-source-classifier/src/repo_path.ts#:~:text=isBazelPackage) | - | + + + ## @kbn/securitysolution-io-ts-list-types | Deprecated API | Reference location(s) | Remove By | @@ -191,8 +203,9 @@ so TS and code-reference navigation might not highlight them. | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/plugin.ts#:~:text=index), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/plugin.ts#:~:text=index) | - | | | [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes)+ 3 more | - | | | [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes)+ 3 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [actions_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/actions_client.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/types.ts#:~:text=SavedObjectAttributes)+ 3 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -229,8 +242,9 @@ so TS and code-reference navigation might not highlight them. | | | [task.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/usage/task.ts#:~:text=index) | - | | | [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes)+ 14 more | - | | | [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes)+ 14 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts#:~:text=SavedObjectAttributes)+ 14 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -269,8 +283,9 @@ so TS and code-reference navigation might not highlight them. | | | [home.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/home.component.tsx#:~:text=KibanaPageTemplate), [home.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/home.component.tsx#:~:text=KibanaPageTemplate), [home.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/home.component.tsx#:~:text=KibanaPageTemplate) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes) | - | -| | [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/workpad.ts#:~:text=convertToMultiNamespaceTypeVersion), [custom_element.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/custom_element.ts#:~:text=convertToMultiNamespaceTypeVersion), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/workpad.ts#:~:text=convertToMultiNamespaceTypeVersion), [custom_element.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/custom_element.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/workpad.ts#:~:text=convertToMultiNamespaceTypeVersion), [custom_element.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/custom_element.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes) | - | +| | [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/workpad.ts#:~:text=convertToMultiNamespaceTypeVersion), [custom_element.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/custom_element.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -278,7 +293,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion), [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -294,7 +310,7 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [overview_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/findings/findings_flyout/overview_tab.tsx#:~:text=indexPatternId) | - | +| | [overview_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/findings/findings_flyout/overview_tab.tsx#:~:text=indexPatternId) | - | @@ -302,7 +318,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/console/server/plugin.ts#:~:text=legacy), [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/console/server/plugin.ts#:~:text=legacy) | - | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/console/server/plugin.ts#:~:text=legacy) | - | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/console/server/plugin.ts#:~:text=legacy) | - | @@ -323,7 +340,7 @@ so TS and code-reference navigation might not highlight them. | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=AppLeaveHandler) | 8.8.0 | | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=appBasePath) | 8.8.0 | | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=onAppLeave) | 8.8.0 | -| | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | +| | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectAttributes), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=SavedObjectAttributes), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObjectAttributes) | - | @@ -346,10 +363,12 @@ so TS and code-reference navigation might not highlight them. | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_app/types.ts#:~:text=onAppLeave), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/plugin.tsx#:~:text=onAppLeave) | 8.8.0 | | | [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [find_by_value_embeddables.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/find_by_value_embeddables.ts#:~:text=SavedObjectAttributes)+ 11 more | - | | | [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [find_by_value_embeddables.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/find_by_value_embeddables.ts#:~:text=SavedObjectAttributes)+ 11 more | - | -| | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | -| | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=convertToMultiNamespaceTypeVersion), [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | +| | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_app/types.ts#:~:text=onAppLeave), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/plugin.tsx#:~:text=onAppLeave) | 8.8.0 | | | [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [load_dashboard_state_from_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [migrate_extract_panel_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry_collection_task.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [dashboard_telemetry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/dashboard_telemetry.ts#:~:text=SavedObjectAttributes), [find_by_value_embeddables.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/usage/find_by_value_embeddables.ts#:~:text=SavedObjectAttributes)+ 11 more | - | +| | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | +| | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -363,7 +382,8 @@ so TS and code-reference navigation might not highlight them. | | | [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks) | - | | | [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions), [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions) | - | | | [session_service.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/session/session_service.ts#:~:text=authc) | - | -| | [query.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/saved_objects/query.ts#:~:text=convertToMultiNamespaceTypeVersion), [query.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/saved_objects/query.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [query.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/saved_objects/query.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [query.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/saved_objects/query.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -400,7 +420,8 @@ so TS and code-reference navigation might not highlight them. | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=removeScriptedField) | - | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getNonScriptedFields) | - | | | [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=getScriptedFields), [register_index_pattern_usage_collection.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/register_index_pattern_usage_collection.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields) | - | -| | [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/saved_objects/data_views.ts#:~:text=convertToMultiNamespaceTypeVersion), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/saved_objects/data_views.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/saved_objects/data_views.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/saved_objects/data_views.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -412,7 +433,7 @@ so TS and code-reference navigation might not highlight them. | | | [use_data_visualizer_grid_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts#:~:text=title), [index_data_visualizer_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx#:~:text=title), [use_data_visualizer_grid_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts#:~:text=title), [index_data_visualizer_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx#:~:text=title) | - | | | [use_data_visualizer_grid_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts#:~:text=title), [index_data_visualizer_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx#:~:text=title), [use_data_visualizer_grid_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts#:~:text=title), [index_data_visualizer_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx#:~:text=title) | - | | | [use_data_visualizer_grid_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts#:~:text=title), [index_data_visualizer_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx#:~:text=title) | - | -| | [results_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/common/components/results_links/results_links.tsx#:~:text=indexPatternId), [actions_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx#:~:text=indexPatternId) | - | +| | [results_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/common/components/results_links/results_links.tsx#:~:text=indexPatternId), [actions_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx#:~:text=indexPatternId) | - | @@ -422,11 +443,11 @@ so TS and code-reference navigation might not highlight them. | | ---------------|-----------|-----------| | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | | | [discover_state.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.ts#:~:text=syncQueryStateWithUrl), [discover_state.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.ts#:~:text=syncQueryStateWithUrl) | - | -| | [use_adhoc_data_views.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_adhoc_data_views.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | +| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | | | [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter) | - | -| | [use_adhoc_data_views.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_adhoc_data_views.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | -| | [use_adhoc_data_views.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | +| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | +| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal), [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=executeTriggerActions), [search_embeddable_factory.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/search_embeddable_factory.ts#:~:text=executeTriggerActions), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/plugin.tsx#:~:text=executeTriggerActions) | - | | | [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric), [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric), [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric) | - | @@ -439,7 +460,7 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [explore_data_context_menu_action.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts#:~:text=indexPatternId), [explore_data_chart_action.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts#:~:text=indexPatternId) | - | +| | [explore_data_context_menu_action.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts#:~:text=indexPatternId), [explore_data_chart_action.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts#:~:text=indexPatternId) | - | @@ -460,7 +481,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [encryption_key_rotation_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/crypto/encryption_key_rotation_service.ts#:~:text=authc), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/saved_objects/index.ts#:~:text=authc) | - | -| | [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion), [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion), [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion), [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion), [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion), [create_migration.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/encrypted_saved_objects/server/create_migration.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -499,7 +521,7 @@ so TS and code-reference navigation might not highlight them. | | | [filter_dataset.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_dataset.tsx#:~:text=title), [filter_log_level.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_log_level.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [filter_dataset.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_dataset.tsx#:~:text=title), [filter_log_level.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_log_level.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [filter_dataset.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_dataset.tsx#:~:text=title), [filter_log_level.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_log_level.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [filter_dataset.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_dataset.tsx#:~:text=title), [filter_log_level.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_log_level.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [filter_dataset.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_dataset.tsx#:~:text=title), [filter_log_level.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/filter_log_level.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | -| | [use_get_logs_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx#:~:text=indexPatternId) | - | +| | [use_get_logs_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx#:~:text=indexPatternId) | - | | | [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/app.tsx#:~:text=RedirectAppLinks)+ 5 more | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | @@ -527,8 +549,9 @@ so TS and code-reference navigation might not highlight them. | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes) | - | | | [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes) | - | -| | [graph_workspace.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/saved_objects/graph_workspace.ts#:~:text=convertToMultiNamespaceTypeVersion), [graph_workspace.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/saved_objects/graph_workspace.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [graph_workspace.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/saved_objects/graph_workspace.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes) | - | +| | [graph_workspace.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/saved_objects/graph_workspace.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -591,7 +614,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process), [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | +| | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | +| | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | @@ -603,8 +627,9 @@ so TS and code-reference navigation might not highlight them. | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [mounter.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/mounter.tsx#:~:text=onAppLeave) | 8.8.0 | -| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [mounter.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/mounter.tsx#:~:text=onAppLeave) | 8.8.0 | +| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -623,11 +648,12 @@ so TS and code-reference navigation might not highlight them. | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title)+ 8 more | - | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title)+ 8 more | - | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title) | - | -| | [exception_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/exception_list.ts#:~:text=convertToMultiNamespaceTypeVersion), [exception_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/exception_list.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [exception_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/exception_list.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.test.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.test.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 7 more | - | | | [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | | | [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION) | - | | | [get_exception_list_summary.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/get_exception_list_summary.test.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [get_exception_list_summary.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/get_exception_list_summary.test.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID) | - | +| | [exception_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/exception_list.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -661,9 +687,11 @@ so TS and code-reference navigation might not highlight them. | | | [es_tooltip_property.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.test.ts#:~:text=title) | - | | | [es_search_source.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit), [es_search_source.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit) | - | | | [render_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/render_app.tsx#:~:text=onAppLeave), [map_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx#:~:text=onAppLeave), [map_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_page.tsx#:~:text=onAppLeave) | 8.8.0 | -| | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning), [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | -| | [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion), [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | +| | [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [render_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/render_app.tsx#:~:text=onAppLeave), [map_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx#:~:text=onAppLeave), [map_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_page.tsx#:~:text=onAppLeave) | 8.8.0 | +| | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | +| | [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -691,16 +719,8 @@ so TS and code-reference navigation might not highlight them. | | | [initialization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/saved_objects/initialization/initialization.ts#:~:text=authz), [sync_task.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/saved_objects/sync_task.ts#:~:text=authz), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=authz), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=authz) | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=onAppLeave) | 8.8.0 | | | [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes), [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes) | - | -| | [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req), [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | | | [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes), [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes) | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=onAppLeave) | 8.8.0 | -| | [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req), [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | | | [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes), [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes) | - | @@ -710,7 +730,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [url_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/url_state.ts#:~:text=syncQueryStateWithUrl), [url_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/url_state.ts#:~:text=syncQueryStateWithUrl) | - | -| | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process), [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | +| | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | +| | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | @@ -721,7 +742,7 @@ so TS and code-reference navigation might not highlight them. | | | [observability_data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts#:~:text=title), [report_definition_field.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx#:~:text=title), [use_filter_values.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/use_filter_values.ts#:~:text=title), [filter_value_btn.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx#:~:text=title), [sample_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts#:~:text=title), [sample_attribute_kpi.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts#:~:text=title), [sample_attribute_with_reference_lines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts#:~:text=title), [test_formula_metric_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title)+ 14 more | - | | | [observability_data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts#:~:text=title), [report_definition_field.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx#:~:text=title), [use_filter_values.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/use_filter_values.ts#:~:text=title), [filter_value_btn.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx#:~:text=title), [sample_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts#:~:text=title), [sample_attribute_kpi.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts#:~:text=title), [sample_attribute_with_reference_lines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts#:~:text=title), [test_formula_metric_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title)+ 14 more | - | | | [observability_data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts#:~:text=title), [report_definition_field.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx#:~:text=title), [use_filter_values.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/use_filter_values.ts#:~:text=title), [filter_value_btn.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx#:~:text=title), [sample_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts#:~:text=title), [sample_attribute_kpi.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts#:~:text=title), [sample_attribute_with_reference_lines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts#:~:text=title), [test_formula_metric_attribute.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title), [single_metric_attributes.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts#:~:text=title)+ 2 more | - | -| | [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | +| | [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks) | - | @@ -730,7 +751,7 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [pack_queries_status_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx#:~:text=indexPatternId), [view_results_in_discover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx#:~:text=indexPatternId), [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/common/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | +| | [pack_queries_status_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx#:~:text=indexPatternId), [view_results_in_discover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx#:~:text=indexPatternId), [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/common/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | | | [empty_state.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/components/empty_state.tsx#:~:text=KibanaPageTemplate), [empty_state.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/components/empty_state.tsx#:~:text=KibanaPageTemplate) | - | @@ -801,7 +822,8 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [request_handler_context.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/request_handler_context.ts#:~:text=authz) | - | -| | [tag.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts#:~:text=convertToMultiNamespaceTypeVersion), [tag.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [tag.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [tag.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -819,8 +841,9 @@ so TS and code-reference navigation might not highlight them. | | ---------------|-----------|-----------| | | [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes) | - | | | [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes) | - | -| | [search.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search.ts#:~:text=convertToMultiNamespaceTypeVersion), [search.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [search.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes) | - | +| | [search.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -882,7 +905,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/types.ts#:~:text=AppLeaveHandler), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/types.ts#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [use_timeline_save_prompt.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/timeline/use_timeline_save_prompt.ts#:~:text=AppLeaveHandler)+ 1 more | 8.8.0 | | | [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes) | - | | | [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes) | - | -| | [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [saved_objects_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/execution_saved_object/saved_objects_type.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion), [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [saved_objects_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/execution_saved_object/saved_objects_type.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [saved_objects_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/execution_saved_object/saved_objects_type.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 34 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION) | - | @@ -898,6 +921,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/types.ts#:~:text=AppLeaveHandler), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/types.ts#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=AppLeaveHandler), [use_timeline_save_prompt.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/timeline/use_timeline_save_prompt.ts#:~:text=AppLeaveHandler)+ 1 more | 8.8.0 | | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/index.tsx#:~:text=onAppLeave), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/plugin.tsx#:~:text=onAppLeave) | 8.8.0 | | | [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes) | - | +| | [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [saved_objects_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/execution_saved_object/saved_objects_type.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -944,7 +968,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title), [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title), [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | -| | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx#:~:text=indexPatternId) | - | +| | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx#:~:text=indexPatternId) | - | | | [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks) | - | @@ -1112,9 +1136,10 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [visualize_top_nav.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_top_nav.tsx#:~:text=onAppLeave), [visualize_editor_common.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_editor_common.tsx#:~:text=onAppLeave), [app.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/app.tsx#:~:text=onAppLeave), [index.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/index.tsx#:~:text=onAppLeave) | 8.8.0 | | | [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes)+ 11 more | - | | | [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes)+ 11 more | - | -| | [visualization.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/server/saved_objects/visualization.ts#:~:text=convertToMultiNamespaceTypeVersion), [visualization.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/server/saved_objects/visualization.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [visualization.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/server/saved_objects/visualization.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [visualize_top_nav.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_top_nav.tsx#:~:text=onAppLeave), [visualize_editor_common.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_editor_common.tsx#:~:text=onAppLeave), [app.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/app.tsx#:~:text=onAppLeave), [index.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/index.tsx#:~:text=onAppLeave) | 8.8.0 | | | [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes)+ 11 more | - | +| | [visualization.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/server/saved_objects/visualization.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 3805a1f7c7ade..1c38c7be918a7 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -57,8 +57,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| | maps | | [render_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/render_app.tsx#:~:text=onAppLeave), [map_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx#:~:text=onAppLeave), [map_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_page.tsx#:~:text=onAppLeave) | 8.8.0 | -| maps | | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning), [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | +| maps | | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | | maps | | [render_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/render_app.tsx#:~:text=onAppLeave), [map_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_app/map_app.tsx#:~:text=onAppLeave), [map_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/map_page.tsx#:~:text=onAppLeave) | 8.8.0 | +| maps | | [saved_object_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/saved_object_migrations.ts#:~:text=warning) | 8.8.0 | | mapsEms | | [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/maps_ems/server/index.ts#:~:text=license%24) | 8.8.0 | | mapsEms | | [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/maps_ems/server/index.ts#:~:text=refresh) | 8.8.0 | @@ -75,25 +76,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | @kbn/core-application-browser-internal | | [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=AppLeaveHandler), [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=AppLeaveHandler), [app_router.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx#:~:text=AppLeaveHandler), [app_router.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx#:~:text=AppLeaveHandler), [application_leave.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_leave.tsx#:~:text=AppLeaveHandler), [application_leave.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_leave.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [app_leave.ts](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser/src/app_leave.ts#:~:text=AppLeaveHandler)+ 6 more | 8.8.0 | | @kbn/core-application-browser-internal | | [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=AppLeaveHandler), [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=AppLeaveHandler), [app_router.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx#:~:text=AppLeaveHandler), [app_router.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx#:~:text=AppLeaveHandler), [application_leave.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_leave.tsx#:~:text=AppLeaveHandler), [application_leave.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_leave.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [application_service.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/application_service.tsx#:~:text=AppLeaveHandler), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=AppLeaveHandler) | 8.8.0 | | @kbn/core-application-browser-internal | | [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=onAppLeave), [application_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-mocks/src/application_service.mock.ts#:~:text=onAppLeave), [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=onAppLeave) | 8.8.0 | -| @kbn/core-http-browser-internal | | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| @kbn/core-http-browser-internal | | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| @kbn/core-http-browser-internal | | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| @kbn/core-http-browser-internal | | [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res), [http_fetch_error.ts](https://github.com/elastic/kibana/tree/main/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts#:~:text=res) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | -| @kbn/core-plugins-server-internal | | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [types.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/src/types.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/src/index.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/index.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | -| @kbn/core-saved-objects-migration-server-internal | | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | -| @kbn/core-apps-browser-internal | | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process)+ 20 more | 8.8.0 | +| @kbn/core-plugins-server-internal | | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [types.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/src/types.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/src/index.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | +| @kbn/core-plugins-server-internal | | [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | +| @kbn/core-saved-objects-migration-server-internal | | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | +| @kbn/core-saved-objects-migration-server-internal | | [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/document_migrator.test.ts#:~:text=warning), [migration_logger.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/migration_logger.ts#:~:text=warning) | 8.8.0 | +| @kbn/core-apps-browser-internal | | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process), [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process)+ 5 more | 8.8.0 | +| @kbn/core-apps-browser-internal | | [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.ts#:~:text=process), [load_status.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts#:~:text=process), [ops_metrics_collector.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts#:~:text=process), [get_ops_metrics_log.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.ts#:~:text=process), [get_ops_metrics_log.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts#:~:text=process)+ 5 more | 8.8.0 | @@ -104,8 +92,9 @@ so TS and code-reference navigation might not highlight them. | | dashboard | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx#:~:text=SavedObjectSaveModal), [saved_object_save_modal_dashboard.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/presentation_util/public/components/saved_object_save_modal_dashboard.tsx#:~:text=SavedObjectSaveModal), [saved_object_save_modal_dashboard.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/presentation_util/public/components/saved_object_save_modal_dashboard.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | | dashboard | | [clone_panel_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx#:~:text=SavedObject), [clone_panel_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx#:~:text=SavedObject), [clone_panel_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx#:~:text=SavedObject) | 8.8.0 | | dashboard | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_app/types.ts#:~:text=onAppLeave), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/plugin.tsx#:~:text=onAppLeave) | 8.8.0 | -| dashboard | | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | +| dashboard | | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | | dashboard | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_app/types.ts#:~:text=onAppLeave), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/plugin.tsx#:~:text=onAppLeave) | 8.8.0 | +| dashboard | | [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning), [migrations_730.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts#:~:text=warning) | 8.8.0 | @@ -113,7 +102,8 @@ so TS and code-reference navigation might not highlight them. | | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| kibanaUsageCollection | | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process), [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | +| kibanaUsageCollection | | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | +| kibanaUsageCollection | | [ops_stats_collector.ts](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts#:~:text=process) | 8.8.0 | @@ -132,15 +122,7 @@ so TS and code-reference navigation might not highlight them. | | ml | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24) | 8.8.0 | | ml | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24), [license.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/transform/server/services/license.ts#:~:text=license%24) | 8.8.0 | | ml | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=onAppLeave) | 8.8.0 | -| ml | | [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req), [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | | ml | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=onAppLeave) | 8.8.0 | -| ml | | [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req), [errors.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/util/errors/errors.test.ts#:~:text=req) | 8.8.0 - -Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, -so TS and code-reference navigation might not highlight them. | @@ -208,7 +190,8 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| monitoring | | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process), [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | +| monitoring | | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | +| monitoring | | [bulk_uploader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.ts#:~:text=process) | 8.8.0 | diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 4d83b84507eb2..c89652e7f5bce 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index c2dc34959d5b0..af684dd0a989d 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -242,465 +242,660 @@ "interfaces": [ { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams", + "id": "def-public.DiscoverGridSettings", "type": "Interface", "tags": [], - "label": "DiscoverAppLocatorParams", + "label": "DiscoverGridSettings", "description": [], - "signature": [ - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.DiscoverAppLocatorParams", - "text": "DiscoverAppLocatorParams" - }, - " extends ", - { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" - } - ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.savedSearchId", - "type": "string", + "id": "def-public.DiscoverGridSettings.columns", + "type": "Object", "tags": [], - "label": "savedSearchId", - "description": [ - "\nOptionally set saved search ID." - ], + "label": "columns", + "description": [], "signature": [ - "string | undefined" + "Record | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "discover", + "id": "def-public.DiscoverGridSettingsColumn", + "type": "Interface", + "tags": [], + "label": "DiscoverGridSettingsColumn", + "description": [], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.dataViewId", - "type": "string", + "id": "def-public.DiscoverGridSettingsColumn.width", + "type": "number", "tags": [], - "label": "dataViewId", - "description": [ - "\nOptionally set index pattern / data view ID." - ], + "label": "width", + "description": [], "signature": [ - "string | undefined" + "number | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "discover", + "id": "def-public.ISearchEmbeddable", + "type": "Interface", + "tags": [], + "label": "ISearchEmbeddable", + "description": [], + "signature": [ + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.ISearchEmbeddable", + "text": "ISearchEmbeddable" + }, + " extends ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.IEmbeddable", + "text": "IEmbeddable" + }, + "<", + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.SearchInput", + "text": "SearchInput" }, + ", ", + "SearchOutput", + ", any>" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.indexPatternId", - "type": "string", - "tags": [ - "deprecated" - ], - "label": "indexPatternId", - "description": [ - "\nDuplication of dataViewId" - ], + "id": "def-public.ISearchEmbeddable.getSavedSearch", + "type": "Function", + "tags": [], + "label": "getSavedSearch", + "description": [], "signature": [ - "string | undefined" + "() => ", + { + "pluginId": "savedSearch", + "scope": "public", + "docId": "kibSavedSearchPluginApi", + "section": "def-public.SavedSearch", + "text": "SavedSearch" + } ], - "path": "src/plugins/discover/public/locator.ts", - "deprecated": true, + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, "trackAdoption": false, - "references": [ + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch", + "type": "Interface", + "tags": [], + "label": "SavedSearch", + "description": [], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.searchSource", + "type": "Object", + "tags": [], + "label": "searchSource", + "description": [], + "signature": [ + "{ create: () => ", { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_discover_link.tsx" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, + "; history: ", + "SearchRequest", + "[]; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: (field: K, value: ", { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" }, + "[K]) => ", { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, + "; removeField: (field: K) => ", { - "plugin": "discoverEnhanced", - "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, + "; setFields: (newFields: ", { - "plugin": "discoverEnhanced", - "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" }, + ") => ", { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, + "; getId: () => string; getFields: () => ", { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" }, + "; getField: (field: K, recurse?: boolean) => ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx" - } - ] - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.dataViewSpec", - "type": "Object", - "tags": [], - "label": "dataViewSpec", - "description": [], - "signature": [ - { - "pluginId": "dataViews", + "pluginId": "data", "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" }, - " | undefined" - ], - "path": "src/plugins/discover/public/locator.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.timeRange", - "type": "Object", - "tags": [], - "label": "timeRange", - "description": [ - "\nOptionally set the time range in the time picker." - ], - "signature": [ + "[K]; getActiveIndexFilter: () => string[]; getOwnField: (field: K) => ", { "pluginId": "data", "scope": "common", - "docId": "kibDataQueryPluginApi", - "section": "def-common.RefreshInterval", - "text": "RefreshInterval" + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" }, - " & ", + "[K]; createCopy: () => ", { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, - ") | undefined" - ], - "path": "src/plugins/discover/public/locator.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.filters", - "type": "Array", - "tags": [], - "label": "filters", - "description": [ - "\nOptionally apply filters." - ], - "signature": [ + "; createChild: (options?: {}) => ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" }, - "[] | undefined" - ], - "path": "src/plugins/discover/public/locator.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.query", - "type": "CompoundType", - "tags": [], - "label": "query", - "description": [ - "\nOptionally set a query." - ], - "signature": [ + "; setParent: (parent?: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" + "docId": "kibDataSearchPluginApi", + "section": "def-common.ISearchSource", + "text": "ISearchSource" }, - " | ", + " | undefined, options?: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.AggregateQuery", - "text": "AggregateQuery" + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceOptions", + "text": "SearchSourceOptions" }, - " | undefined" + ") => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" + }, + "; getParent: () => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" + }, + " | undefined; fetch$: (options?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceSearchOptions", + "text": "SearchSourceSearchOptions" + }, + ") => ", + "Observable", + "<", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.IKibanaSearchResponse", + "text": "IKibanaSearchResponse" + }, + "<", + "SearchResponse", + ">>>; fetch: (options?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceSearchOptions", + "text": "SearchSourceSearchOptions" + }, + ") => Promise<", + "SearchResponse", + ">>; onRequestStart: (handler: (searchSource: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSource", + "text": "SearchSource" + }, + ", options?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceSearchOptions", + "text": "SearchSourceSearchOptions" + }, + " | undefined) => Promise) => void; getSearchRequestBody: () => any; destroy: () => void; getSerializedFields: (recurse?: boolean, includeFields?: boolean) => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SerializedSearchSourceFields", + "text": "SerializedSearchSourceFields" + }, + "; serialize: () => { searchSourceJSON: string; references: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]; }; toExpressionAst: ({ asDatatable }?: ExpressionAstOptions) => ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionAstExpression", + "text": "ExpressionAstExpression" + }, + "; parseActiveIndexPatternFromQueryString: (queryString: string) => string[]; }" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.useHash", - "type": "CompoundType", + "id": "def-public.SavedSearch.id", + "type": "string", "tags": [], - "label": "useHash", - "description": [ - "\nIf not given, will use the uiSettings configuration for `storeInSessionStorage`. useHash determines\nwhether to hash the data in the url to avoid url length issues." - ], + "label": "id", + "description": [], "signature": [ - "boolean | undefined" + "string | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.searchSessionId", + "id": "def-public.SavedSearch.title", "type": "string", "tags": [], - "label": "searchSessionId", - "description": [ - "\nBackground search session id" - ], + "label": "title", + "description": [], "signature": [ "string | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.columns", + "id": "def-public.SavedSearch.sort", "type": "Array", "tags": [], - "label": "columns", - "description": [ - "\nColumns displayed in the table" - ], + "label": "sort", + "description": [], "signature": [ - "string[] | undefined" + "SortOrder", + "[] | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.interval", - "type": "string", + "id": "def-public.SavedSearch.columns", + "type": "Array", "tags": [], - "label": "interval", - "description": [ - "\nUsed interval of the histogram" - ], + "label": "columns", + "description": [], "signature": [ - "string | undefined" + "string[] | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.sort", - "type": "Array", - "tags": [], - "label": "sort", - "description": [ - "\nArray of the used sorting [[field,direction],...]" + "id": "def-public.SavedSearch.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "signature": [ + "string | undefined" ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], "signature": [ - "string[][] | undefined" + "string[] | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.savedQuery", - "type": "string", + "id": "def-public.SavedSearch.grid", + "type": "Object", "tags": [], - "label": "savedQuery", - "description": [ - "\nid of the used saved query" + "label": "grid", + "description": [], + "signature": [ + "{ columns?: Record | undefined; } | undefined" ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.hideChart", + "type": "CompoundType", + "tags": [], + "label": "hideChart", + "description": [], "signature": [ - "string | undefined" + "boolean | undefined" + ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.sharingSavedObjectProps", + "type": "Object", + "tags": [], + "label": "sharingSavedObjectProps", + "description": [], + "signature": [ + "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.viewMode", + "id": "def-public.SavedSearch.viewMode", "type": "CompoundType", "tags": [], "label": "viewMode", - "description": [ - "\nTable view: Documents vs Field Statistics" - ], + "description": [], "signature": [ { - "pluginId": "discover", + "pluginId": "savedSearch", "scope": "public", - "docId": "kibDiscoverPluginApi", + "docId": "kibSavedSearchPluginApi", "section": "def-public.VIEW_MODE", "text": "VIEW_MODE" }, " | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.hideAggregatedPreview", + "id": "def-public.SavedSearch.hideAggregatedPreview", "type": "CompoundType", "tags": [], "label": "hideAggregatedPreview", - "description": [ - "\nHide mini distribution/preview charts when in Field Statistics mode" + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.rowHeight", + "type": "number", + "tags": [], + "label": "rowHeight", + "description": [], + "signature": [ + "number | undefined" ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.isTextBasedQuery", + "type": "CompoundType", + "tags": [], + "label": "isTextBasedQuery", + "description": [], "signature": [ "boolean | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocatorParams.breakdownField", - "type": "string", + "id": "def-public.SavedSearch.usesAdHocDataView", + "type": "CompoundType", "tags": [], - "label": "breakdownField", - "description": [ - "\nBreakdown field" + "label": "usesAdHocDataView", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.timeRestore", + "type": "CompoundType", + "tags": [], + "label": "timeRestore", + "description": [], + "signature": [ + "boolean | undefined" ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.timeRange", + "type": "Object", + "tags": [], + "label": "timeRange", + "description": [], "signature": [ - "string | undefined" + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverGridSettings", - "type": "Interface", - "tags": [], - "label": "DiscoverGridSettings", - "description": [], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "discover", - "id": "def-public.DiscoverGridSettings.columns", + "id": "def-public.SavedSearch.refreshInterval", "type": "Object", "tags": [], - "label": "columns", + "label": "refreshInterval", "description": [], "signature": [ - "Record | undefined" + " | undefined" ], "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverGridSettingsColumn", - "type": "Interface", - "tags": [], - "label": "DiscoverGridSettingsColumn", - "description": [], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "discover", - "id": "def-public.DiscoverGridSettingsColumn.width", + "id": "def-public.SavedSearch.rowsPerPage", "type": "number", "tags": [], - "label": "width", + "label": "rowsPerPage", "description": [], "signature": [ "number | undefined" @@ -708,44 +903,47 @@ "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SavedSearch.breakdownField", + "type": "string", + "tags": [], + "label": "breakdownField", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false }, { "parentPluginId": "discover", - "id": "def-public.ISearchEmbeddable", + "id": "def-public.SearchInput", "type": "Interface", "tags": [], - "label": "ISearchEmbeddable", + "label": "SearchInput", "description": [], "signature": [ { "pluginId": "discover", "scope": "public", "docId": "kibDiscoverPluginApi", - "section": "def-public.ISearchEmbeddable", - "text": "ISearchEmbeddable" + "section": "def-public.SearchInput", + "text": "SearchInput" }, " extends ", { "pluginId": "embeddable", - "scope": "public", + "scope": "common", "docId": "kibEmbeddablePluginApi", - "section": "def-public.IEmbeddable", - "text": "IEmbeddable" - }, - "<", - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.SearchInput", - "text": "SearchInput" - }, - ", ", - "SearchOutput", - ", any>" + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + } ], "path": "src/plugins/discover/public/embeddable/types.ts", "deprecated": false, @@ -753,748 +951,835 @@ "children": [ { "parentPluginId": "discover", - "id": "def-public.ISearchEmbeddable.getSavedSearch", - "type": "Function", + "id": "def-public.SearchInput.timeRange", + "type": "Object", "tags": [], - "label": "getSavedSearch", + "label": "timeRange", "description": [], "signature": [ - "() => ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } + "{ from: string; to: string; mode?: \"absolute\" | \"relative\" | undefined; }" ], "path": "src/plugins/discover/public/embeddable/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SavedSearch", - "type": "Interface", - "tags": [], - "label": "SavedSearch", - "description": [], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false + }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.searchSource", + "id": "def-public.SearchInput.timeslice", "type": "Object", "tags": [], - "label": "searchSource", + "label": "timeslice", + "description": [], + "signature": [ + "[number, number] | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SearchInput.query", + "type": "Object", + "tags": [], + "label": "query", "description": [], "signature": [ - "{ create: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; history: ", - "SearchRequest", - "[]; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: (field: K, value: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; removeField: (field: K) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; setFields: (newFields: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - ") => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; getId: () => string; getFields: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "; getField: (field: K, recurse?: boolean) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]; getActiveIndexFilter: () => string[]; getOwnField: (field: K) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]; createCopy: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; createChild: (options?: {}) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; setParent: (parent?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ISearchSource", - "text": "ISearchSource" - }, - " | undefined, options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceOptions", - "text": "SearchSourceOptions" - }, - ") => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; getParent: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - " | undefined; fetch$: (options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceSearchOptions", - "text": "SearchSourceSearchOptions" - }, - ") => ", - "Observable", - "<", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IKibanaSearchResponse", - "text": "IKibanaSearchResponse" - }, - "<", - "SearchResponse", - ">>>; fetch: (options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceSearchOptions", - "text": "SearchSourceSearchOptions" - }, - ") => Promise<", - "SearchResponse", - ">>; onRequestStart: (handler: (searchSource: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - ", options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceSearchOptions", - "text": "SearchSourceSearchOptions" - }, - " | undefined) => Promise) => void; getSearchRequestBody: () => any; destroy: () => void; getSerializedFields: (recurse?: boolean, includeFields?: boolean) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SerializedSearchSourceFields", - "text": "SerializedSearchSourceFields" - }, - "; serialize: () => { searchSourceJSON: string; references: ", { - "pluginId": "@kbn/core-saved-objects-common", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObjectReference", - "text": "SavedObjectReference" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" }, - "[]; }; toExpressionAst: ({ asDatatable }?: ExpressionAstOptions) => ", + " | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SearchInput.filters", + "type": "Array", + "tags": [], + "label": "filters", + "description": [], + "signature": [ { - "pluginId": "expressions", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstExpression", - "text": "ExpressionAstExpression" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" }, - "; parseActiveIndexPatternFromQueryString: (queryString: string) => string[]; }" + "[] | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/public/embeddable/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.id", - "type": "string", + "id": "def-public.SearchInput.hidePanelTitles", + "type": "CompoundType", "tags": [], - "label": "id", + "label": "hidePanelTitles", "description": [], "signature": [ - "string | undefined" + "boolean | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SearchInput.columns", + "type": "Array", + "tags": [], + "label": "columns", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SearchInput.sort", + "type": "Array", + "tags": [], + "label": "sort", + "description": [], + "signature": [ + "SortOrder", + "[] | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.SearchInput.rowHeight", + "type": "number", + "tags": [], + "label": "rowHeight", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", "deprecated": false, "trackAdoption": false }, { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.title", - "type": "string", - "tags": [], - "label": "title", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false + "parentPluginId": "discover", + "id": "def-public.SearchInput.rowsPerPage", + "type": "number", + "tags": [], + "label": "rowsPerPage", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/discover/public/embeddable/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "discover", + "id": "def-public.VIEW_MODE", + "type": "Enum", + "tags": [], + "label": "VIEW_MODE", + "description": [], + "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "discover", + "id": "def-public.SEARCH_EMBEDDABLE_TYPE", + "type": "string", + "tags": [], + "label": "SEARCH_EMBEDDABLE_TYPE", + "description": [], + "signature": [ + "\"search\"" + ], + "path": "src/plugins/discover/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [], + "setup": { + "parentPluginId": "discover", + "id": "def-public.DiscoverSetup", + "type": "Interface", + "tags": [], + "label": "DiscoverSetup", + "description": [], + "path": "src/plugins/discover/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.DiscoverSetup.docViews", + "type": "Object", + "tags": [], + "label": "docViews", + "description": [], + "signature": [ + "{ addDocView(docViewRaw: ", + "DocViewInput", + " | ", + "DocViewInputFn", + "): void; }" + ], + "path": "src/plugins/discover/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.DiscoverSetup.locator", + "type": "Object", + "tags": [], + "label": "locator", + "description": [ + "\n`share` plugin URL locator for Discover app. Use it to generate links into\nDiscover application, for example, navigate:\n\n```ts\nawait plugins.discover.locator.navigate({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```\n\nGenerate a location:\n\n```ts\nconst location = await plugins.discover.locator.getLocation({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```" + ], + "signature": [ + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocator", + "text": "DiscoverAppLocator" + }, + " | undefined" + ], + "path": "src/plugins/discover/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "discover", + "id": "def-public.DiscoverStart", + "type": "Interface", + "tags": [], + "label": "DiscoverStart", + "description": [], + "path": "src/plugins/discover/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.DiscoverStart.locator", + "type": "Object", + "tags": [], + "label": "locator", + "description": [ + "\n`share` plugin URL locator for Discover app. Use it to generate links into\nDiscover application, for example, navigate:\n\n```ts\nawait plugins.discover.locator.navigate({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```\n\nGenerate a location:\n\n```ts\nconst location = await plugins.discover.locator.getLocation({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```" + ], + "signature": [ + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocator", + "text": "DiscoverAppLocator" + }, + " | undefined" + ], + "path": "src/plugins/discover/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "lifecycle": "start", + "initialIsOpen": true + } + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "discover", + "id": "def-common.DiscoverAppLocatorDefinition", + "type": "Class", + "tags": [], + "label": "DiscoverAppLocatorDefinition", + "description": [], + "signature": [ + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocatorDefinition", + "text": "DiscoverAppLocatorDefinition" }, + " implements ", { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.sort", - "type": "Array", - "tags": [], - "label": "sort", - "description": [], - "signature": [ - "SortOrder", - "[] | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorDefinition", + "text": "LocatorDefinition" }, + "<", { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.columns", - "type": "Array", - "tags": [], - "label": "columns", - "description": [], - "signature": [ - "string[] | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocatorParams", + "text": "DiscoverAppLocatorParams" }, + ">" + ], + "path": "src/plugins/discover/common/locator.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "discover", - "id": "def-public.SavedSearch.description", + "id": "def-common.DiscoverAppLocatorDefinition.id", "type": "string", "tags": [], - "label": "description", + "label": "id", "description": [], "signature": [ - "string | undefined" + "\"DISCOVER_APP_LOCATOR\"" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.tags", - "type": "Array", + "id": "def-common.DiscoverAppLocatorDefinition.Unnamed", + "type": "Function", "tags": [], - "label": "tags", + "label": "Constructor", "description": [], "signature": [ - "string[] | undefined" + "any" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-common.DiscoverAppLocatorDefinition.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "deps", + "description": [], + "signature": [ + "DiscoverAppLocatorDependencies" + ], + "path": "src/plugins/discover/common/locator.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.grid", - "type": "Object", + "id": "def-common.DiscoverAppLocatorDefinition.getLocation", + "type": "Function", "tags": [], - "label": "grid", + "label": "getLocation", "description": [], "signature": [ - "{ columns?: Record | undefined; } | undefined" + ") => Promise<{ app: string; path: string; state: ", + "MainHistoryLocationState", + "; }>" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-common.DiscoverAppLocatorDefinition.getLocation.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocatorParams", + "text": "DiscoverAppLocatorParams" + } + ], + "path": "src/plugins/discover/common/locator.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [], + "interfaces": [ + { + "parentPluginId": "discover", + "id": "def-common.DiscoverAppLocatorParams", + "type": "Interface", + "tags": [], + "label": "DiscoverAppLocatorParams", + "description": [], + "signature": [ + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocatorParams", + "text": "DiscoverAppLocatorParams" }, + " extends ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + } + ], + "path": "src/plugins/discover/common/locator.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "discover", - "id": "def-public.SavedSearch.hideChart", - "type": "CompoundType", + "id": "def-common.DiscoverAppLocatorParams.savedSearchId", + "type": "string", "tags": [], - "label": "hideChart", - "description": [], + "label": "savedSearchId", + "description": [ + "\nOptionally set saved search ID." + ], "signature": [ - "boolean | undefined" + "string | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.sharingSavedObjectProps", - "type": "Object", + "id": "def-common.DiscoverAppLocatorParams.dataViewId", + "type": "string", "tags": [], - "label": "sharingSavedObjectProps", - "description": [], + "label": "dataViewId", + "description": [ + "\nOptionally set index pattern / data view ID." + ], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" + "string | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.viewMode", - "type": "CompoundType", - "tags": [], - "label": "viewMode", - "description": [], + "id": "def-common.DiscoverAppLocatorParams.indexPatternId", + "type": "string", + "tags": [ + "deprecated" + ], + "label": "indexPatternId", + "description": [ + "\nDuplication of dataViewId" + ], "signature": [ + "string | undefined" + ], + "path": "src/plugins/discover/common/locator.ts", + "deprecated": true, + "trackAdoption": false, + "references": [ { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.VIEW_MODE", - "text": "VIEW_MODE" + "plugin": "observability", + "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_discover_link.tsx" }, - " | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/common/components/results_links/results_links.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/public/pages/findings/findings_flyout/overview_tab.tsx" + }, + { + "plugin": "discoverEnhanced", + "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts" + }, + { + "plugin": "discoverEnhanced", + "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/common/hooks/use_discover_link.tsx" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/stderr_logs.tsx" + } + ] }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.hideAggregatedPreview", - "type": "CompoundType", + "id": "def-common.DiscoverAppLocatorParams.dataViewSpec", + "type": "Object", "tags": [], - "label": "hideAggregatedPreview", + "label": "dataViewSpec", "description": [], "signature": [ - "boolean | undefined" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + " | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.rowHeight", - "type": "number", + "id": "def-common.DiscoverAppLocatorParams.timeRange", + "type": "Object", "tags": [], - "label": "rowHeight", - "description": [], - "signature": [ - "number | undefined" + "label": "timeRange", + "description": [ + "\nOptionally set the time range in the time picker." ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.isTextBasedQuery", - "type": "CompoundType", - "tags": [], - "label": "isTextBasedQuery", - "description": [], "signature": [ - "boolean | undefined" + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.usesAdHocDataView", + "id": "def-common.DiscoverAppLocatorParams.refreshInterval", "type": "CompoundType", "tags": [], - "label": "usesAdHocDataView", - "description": [], - "signature": [ - "boolean | undefined" + "label": "refreshInterval", + "description": [ + "\nOptionally set the refresh interval." ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.timeRestore", - "type": "CompoundType", - "tags": [], - "label": "timeRestore", - "description": [], "signature": [ - "boolean | undefined" + "(", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.RefreshInterval", + "text": "RefreshInterval" + }, + " & ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ") | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.timeRange", - "type": "Object", + "id": "def-common.DiscoverAppLocatorParams.filters", + "type": "Array", "tags": [], - "label": "timeRange", - "description": [], + "label": "filters", + "description": [ + "\nOptionally apply filters." + ], "signature": [ { - "pluginId": "data", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibDataQueryPluginApi", - "section": "def-common.TimeRange", - "text": "TimeRange" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" }, - " | undefined" + "[] | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.refreshInterval", - "type": "Object", + "id": "def-common.DiscoverAppLocatorParams.query", + "type": "CompoundType", "tags": [], - "label": "refreshInterval", - "description": [], + "label": "query", + "description": [ + "\nOptionally set a query." + ], "signature": [ { - "pluginId": "data", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibDataQueryPluginApi", - "section": "def-common.RefreshInterval", - "text": "RefreshInterval" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" }, " | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.rowsPerPage", - "type": "number", + "id": "def-common.DiscoverAppLocatorParams.useHash", + "type": "CompoundType", "tags": [], - "label": "rowsPerPage", - "description": [], + "label": "useHash", + "description": [ + "\nIf not given, will use the uiSettings configuration for `storeInSessionStorage`. useHash determines\nwhether to hash the data in the url to avoid url length issues." + ], "signature": [ - "number | undefined" + "boolean | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearch.breakdownField", + "id": "def-common.DiscoverAppLocatorParams.searchSessionId", "type": "string", "tags": [], - "label": "breakdownField", - "description": [], + "label": "searchSessionId", + "description": [ + "\nBackground search session id" + ], "signature": [ "string | undefined" ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SearchInput", - "type": "Interface", - "tags": [], - "label": "SearchInput", - "description": [], - "signature": [ - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.SearchInput", - "text": "SearchInput" }, - " extends ", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableInput", - "text": "EmbeddableInput" - } - ], - "path": "src/plugins/discover/public/embeddable/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "discover", - "id": "def-public.SearchInput.timeRange", - "type": "Object", + "id": "def-common.DiscoverAppLocatorParams.columns", + "type": "Array", "tags": [], - "label": "timeRange", - "description": [], - "signature": [ - "{ from: string; to: string; mode?: \"absolute\" | \"relative\" | undefined; }" + "label": "columns", + "description": [ + "\nColumns displayed in the table" ], - "path": "src/plugins/discover/public/embeddable/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SearchInput.timeslice", - "type": "Object", - "tags": [], - "label": "timeslice", - "description": [], "signature": [ - "[number, number] | undefined" + "string[] | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.query", - "type": "Object", + "id": "def-common.DiscoverAppLocatorParams.interval", + "type": "string", "tags": [], - "label": "query", - "description": [], + "label": "interval", + "description": [ + "\nUsed interval of the histogram" + ], "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" - }, - " | undefined" + "string | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.filters", + "id": "def-common.DiscoverAppLocatorParams.sort", "type": "Array", "tags": [], - "label": "filters", - "description": [], + "label": "sort", + "description": [ + "\nArray of the used sorting [[field,direction],...]" + ], "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - "[] | undefined" + "string[][] | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.hidePanelTitles", - "type": "CompoundType", + "id": "def-common.DiscoverAppLocatorParams.savedQuery", + "type": "string", "tags": [], - "label": "hidePanelTitles", - "description": [], + "label": "savedQuery", + "description": [ + "\nid of the used saved query" + ], "signature": [ - "boolean | undefined" + "string | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.columns", - "type": "Array", + "id": "def-common.DiscoverAppLocatorParams.viewMode", + "type": "CompoundType", "tags": [], - "label": "columns", - "description": [], + "label": "viewMode", + "description": [ + "\nTable view: Documents vs Field Statistics" + ], "signature": [ - "string[] | undefined" + "VIEW_MODE", + " | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.sort", - "type": "Array", + "id": "def-common.DiscoverAppLocatorParams.hideAggregatedPreview", + "type": "CompoundType", "tags": [], - "label": "sort", - "description": [], + "label": "hideAggregatedPreview", + "description": [ + "\nHide mini distribution/preview charts when in Field Statistics mode" + ], "signature": [ - "SortOrder", - "[] | undefined" + "boolean | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.rowHeight", - "type": "number", + "id": "def-common.DiscoverAppLocatorParams.breakdownField", + "type": "string", "tags": [], - "label": "rowHeight", - "description": [], + "label": "breakdownField", + "description": [ + "\nBreakdown field" + ], "signature": [ - "number | undefined" + "string | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "discover", - "id": "def-public.SearchInput.rowsPerPage", - "type": "number", + "id": "def-common.DiscoverAppLocatorParams.isAlertResults", + "type": "CompoundType", "tags": [], - "label": "rowsPerPage", - "description": [], + "label": "isAlertResults", + "description": [ + "\nUsed when navigating to particular alert results" + ], "signature": [ - "number | undefined" + "boolean | undefined" ], - "path": "src/plugins/discover/public/embeddable/types.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false } @@ -1502,201 +1787,47 @@ "initialIsOpen": false } ], - "enums": [ - { - "parentPluginId": "discover", - "id": "def-public.VIEW_MODE", - "type": "Enum", - "tags": [], - "label": "VIEW_MODE", - "description": [], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "enums": [], "misc": [ { "parentPluginId": "discover", - "id": "def-public.DISCOVER_APP_LOCATOR", + "id": "def-common.APP_ICON", "type": "string", "tags": [], - "label": "DISCOVER_APP_LOCATOR", - "description": [], - "signature": [ - "\"DISCOVER_APP_LOCATOR\"" - ], - "path": "src/plugins/discover/public/locator.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverAppLocator", - "type": "Type", - "tags": [], - "label": "DiscoverAppLocator", + "label": "APP_ICON", "description": [], "signature": [ - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.DiscoverAppLocatorParams", - "text": "DiscoverAppLocatorParams" - }, - ">" + "\"discoverApp\"" ], - "path": "src/plugins/discover/public/locator.ts", + "path": "src/plugins/discover/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "discover", - "id": "def-public.SEARCH_EMBEDDABLE_TYPE", + "id": "def-common.CONTEXT_DEFAULT_SIZE_SETTING", "type": "string", "tags": [], - "label": "SEARCH_EMBEDDABLE_TYPE", + "label": "CONTEXT_DEFAULT_SIZE_SETTING", "description": [], "signature": [ - "\"search\"" + "\"context:defaultSize\"" ], "path": "src/plugins/discover/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false - } - ], - "objects": [], - "setup": { - "parentPluginId": "discover", - "id": "def-public.DiscoverSetup", - "type": "Interface", - "tags": [], - "label": "DiscoverSetup", - "description": [], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.DiscoverSetup.docViews", - "type": "Object", - "tags": [], - "label": "docViews", - "description": [], - "signature": [ - "{ addDocView(docViewRaw: ", - "DocViewInput", - " | ", - "DocViewInputFn", - "): void; }" - ], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.DiscoverSetup.locator", - "type": "Object", - "tags": [], - "label": "locator", - "description": [ - "\n`share` plugin URL locator for Discover app. Use it to generate links into\nDiscover application, for example, navigate:\n\n```ts\nawait plugins.discover.locator.navigate({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```\n\nGenerate a location:\n\n```ts\nconst location = await plugins.discover.locator.getLocation({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```" - ], - "signature": [ - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.DiscoverAppLocator", - "text": "DiscoverAppLocator" - }, - " | undefined" - ], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - } - ], - "lifecycle": "setup", - "initialIsOpen": true - }, - "start": { - "parentPluginId": "discover", - "id": "def-public.DiscoverStart", - "type": "Interface", - "tags": [], - "label": "DiscoverStart", - "description": [], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.DiscoverStart.locator", - "type": "Object", - "tags": [], - "label": "locator", - "description": [ - "\n`share` plugin URL locator for Discover app. Use it to generate links into\nDiscover application, for example, navigate:\n\n```ts\nawait plugins.discover.locator.navigate({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```\n\nGenerate a location:\n\n```ts\nconst location = await plugins.discover.locator.getLocation({\n savedSearchId: '571aaf70-4c88-11e8-b3d7-01146121b73d',\n indexPatternId: 'c367b774-a4c2-11ea-bb37-0242ac130002',\n timeRange: {\n to: 'now',\n from: 'now-15m',\n mode: 'relative',\n },\n});\n```" - ], - "signature": [ - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.DiscoverAppLocator", - "text": "DiscoverAppLocator" - }, - " | undefined" - ], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - } - ], - "lifecycle": "start", - "initialIsOpen": true - } - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [ + }, { "parentPluginId": "discover", - "id": "def-common.APP_ICON", + "id": "def-common.CONTEXT_STEP_SETTING", "type": "string", "tags": [], - "label": "APP_ICON", + "label": "CONTEXT_STEP_SETTING", "description": [], "signature": [ - "\"discoverApp\"" + "\"context:step\"" ], "path": "src/plugins/discover/common/index.ts", "deprecated": false, @@ -1705,13 +1836,13 @@ }, { "parentPluginId": "discover", - "id": "def-common.CONTEXT_DEFAULT_SIZE_SETTING", + "id": "def-common.CONTEXT_TIE_BREAKER_FIELDS_SETTING", "type": "string", "tags": [], - "label": "CONTEXT_DEFAULT_SIZE_SETTING", + "label": "CONTEXT_TIE_BREAKER_FIELDS_SETTING", "description": [], "signature": [ - "\"context:defaultSize\"" + "\"context:tieBreakerFields\"" ], "path": "src/plugins/discover/common/index.ts", "deprecated": false, @@ -1720,13 +1851,13 @@ }, { "parentPluginId": "discover", - "id": "def-common.CONTEXT_STEP_SETTING", + "id": "def-common.DEFAULT_COLUMNS_SETTING", "type": "string", "tags": [], - "label": "CONTEXT_STEP_SETTING", + "label": "DEFAULT_COLUMNS_SETTING", "description": [], "signature": [ - "\"context:step\"" + "\"defaultColumns\"" ], "path": "src/plugins/discover/common/index.ts", "deprecated": false, @@ -1735,30 +1866,45 @@ }, { "parentPluginId": "discover", - "id": "def-common.CONTEXT_TIE_BREAKER_FIELDS_SETTING", + "id": "def-common.DISCOVER_APP_LOCATOR", "type": "string", "tags": [], - "label": "CONTEXT_TIE_BREAKER_FIELDS_SETTING", + "label": "DISCOVER_APP_LOCATOR", "description": [], "signature": [ - "\"context:tieBreakerFields\"" + "\"DISCOVER_APP_LOCATOR\"" ], - "path": "src/plugins/discover/common/index.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "discover", - "id": "def-common.DEFAULT_COLUMNS_SETTING", - "type": "string", + "id": "def-common.DiscoverAppLocator", + "type": "Type", "tags": [], - "label": "DEFAULT_COLUMNS_SETTING", + "label": "DiscoverAppLocator", "description": [], "signature": [ - "\"defaultColumns\"" + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + { + "pluginId": "discover", + "scope": "common", + "docId": "kibDiscoverPluginApi", + "section": "def-common.DiscoverAppLocatorParams", + "text": "DiscoverAppLocatorParams" + }, + ">" ], - "path": "src/plugins/discover/common/index.ts", + "path": "src/plugins/discover/common/locator.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 0eb5d81e824ad..e2e3331413690 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 100 | 0 | 82 | 4 | +| 107 | 0 | 88 | 7 | ## Client @@ -45,6 +45,12 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco ## Common +### Classes + + +### Interfaces + + ### Consts, variables and types diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index cdeefcb512970..aa71287214f45 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/embeddable.devdocs.json b/api_docs/embeddable.devdocs.json index 8732fa7880141..e66faa6c9dc3c 100644 --- a/api_docs/embeddable.devdocs.json +++ b/api_docs/embeddable.devdocs.json @@ -10079,9 +10079,9 @@ " | undefined; title?: string | undefined; id: string; lastReloadRequestTime?: number | undefined; hidePanelTitles?: boolean | undefined; enhancements?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; disabledActions?: string[] | undefined; disableTriggers?: boolean | undefined; searchSessionId?: string | undefined; syncColors?: boolean | undefined; syncCursor?: boolean | undefined; syncTooltips?: boolean | undefined; executionContext?: ", @@ -10616,9 +10616,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -10645,9 +10645,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -11326,9 +11326,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => void" @@ -11355,9 +11355,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -11527,9 +11527,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> & { isContainerType: boolean; }" @@ -11575,9 +11575,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -11776,9 +11776,9 @@ " | undefined; title?: string | undefined; id: string; lastReloadRequestTime?: number | undefined; hidePanelTitles?: boolean | undefined; enhancements?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; disabledActions?: string[] | undefined; disableTriggers?: boolean | undefined; searchSessionId?: string | undefined; syncColors?: boolean | undefined; syncCursor?: boolean | undefined; syncTooltips?: boolean | undefined; executionContext?: ", diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 1738c14d7083c..7735c63a7a2a8 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 6f3c8350b0432..97b0e6aea7bbc 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.devdocs.json b/api_docs/encrypted_saved_objects.devdocs.json index 544fee0f50554..9cef856f653c5 100644 --- a/api_docs/encrypted_saved_objects.devdocs.json +++ b/api_docs/encrypted_saved_objects.devdocs.json @@ -209,25 +209,25 @@ "(encryptedDoc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, " | ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ") => encryptedDoc is ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -247,17 +247,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, " | ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -279,25 +279,25 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ", context: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -339,9 +339,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" } ], @@ -432,9 +432,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", @@ -491,9 +491,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -519,25 +519,25 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, ">" @@ -558,9 +558,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -581,9 +581,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -820,25 +820,25 @@ "(encryptedDoc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, " | ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ") => encryptedDoc is ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -858,17 +858,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, " | ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 4d4123029d22a..f510d2d7d5107 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.devdocs.json b/api_docs/enterprise_search.devdocs.json index 1ae8574f747fc..cb4602f89a913 100644 --- a/api_docs/enterprise_search.devdocs.json +++ b/api_docs/enterprise_search.devdocs.json @@ -146,65 +146,65 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ accessCheckTimeout: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; accessCheckTimeoutWarning: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; customHeaders: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | undefined>; host: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; ssl: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ certificateAuthorities: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; verificationMode: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<\"none\" | \"full\" | \"certificate\">; }>; }>" diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 0df0845a9fa72..d83da79fbc0cd 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.devdocs.json b/api_docs/es_ui_shared.devdocs.json index 486bc8199b5a2..0c8b6f69a8f99 100644 --- a/api_docs/es_ui_shared.devdocs.json +++ b/api_docs/es_ui_shared.devdocs.json @@ -1826,9 +1826,9 @@ "({ error, response, handleCustomError, }: EsErrorHandlerParams) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index d40aad8571696..1b43420445e00 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.devdocs.json b/api_docs/event_annotation.devdocs.json index 224bdbecb294c..5e960eb9c9399 100644 --- a/api_docs/event_annotation.devdocs.json +++ b/api_docs/event_annotation.devdocs.json @@ -445,9 +445,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 53263821796a1..43b2ca892920d 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.devdocs.json b/api_docs/event_log.devdocs.json index a9d6c887f136e..316da215e9fec 100644 --- a/api_docs/event_log.devdocs.json +++ b/api_docs/event_log.devdocs.json @@ -1859,9 +1859,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1887,9 +1887,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 0c44980517644..b985f9e43fed2 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 0626e2d1084f8..73b827f2d2efa 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.devdocs.json b/api_docs/expression_gauge.devdocs.json index 0caa768a67009..df2f0f554f8a6 100644 --- a/api_docs/expression_gauge.devdocs.json +++ b/api_docs/expression_gauge.devdocs.json @@ -927,9 +927,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined) => ", @@ -964,9 +964,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" @@ -1092,9 +1092,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 4d7147fe19c2f..015230f284154 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.devdocs.json b/api_docs/expression_heatmap.devdocs.json index 492d3070eedde..00f5b52897b50 100644 --- a/api_docs/expression_heatmap.devdocs.json +++ b/api_docs/expression_heatmap.devdocs.json @@ -525,9 +525,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined) => ", @@ -562,9 +562,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" @@ -642,9 +642,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -714,9 +714,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -786,9 +786,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 50efee29777b3..4ddc27e049392 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.devdocs.json b/api_docs/expression_image.devdocs.json index afa9495151e3f..0ee010f93dc47 100644 --- a/api_docs/expression_image.devdocs.json +++ b/api_docs/expression_image.devdocs.json @@ -409,9 +409,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index a1ee2837bdbf7..23629c444261e 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.devdocs.json b/api_docs/expression_legacy_metric_vis.devdocs.json index 7f330c19bfbde..e75f85673b794 100644 --- a/api_docs/expression_legacy_metric_vis.devdocs.json +++ b/api_docs/expression_legacy_metric_vis.devdocs.json @@ -875,9 +875,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 6542451a51f3c..189ace2228f64 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.devdocs.json b/api_docs/expression_metric.devdocs.json index 8b7be7c3410f7..9535030e09074 100644 --- a/api_docs/expression_metric.devdocs.json +++ b/api_docs/expression_metric.devdocs.json @@ -532,9 +532,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 240e076d6a3a2..0c1c4e7f460ab 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.devdocs.json b/api_docs/expression_metric_vis.devdocs.json index 5d837dadafaf1..7845ea8dd77b6 100644 --- a/api_docs/expression_metric_vis.devdocs.json +++ b/api_docs/expression_metric_vis.devdocs.json @@ -1045,9 +1045,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1133,9 +1133,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 2f02d161a88a8..fe54dd1821b4b 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.devdocs.json b/api_docs/expression_partition_vis.devdocs.json index 46b022d98fc9b..24853354f0e91 100644 --- a/api_docs/expression_partition_vis.devdocs.json +++ b/api_docs/expression_partition_vis.devdocs.json @@ -143,9 +143,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -272,9 +272,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; }" @@ -1174,9 +1174,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1268,9 +1268,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1355,9 +1355,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1472,9 +1472,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1559,9 +1559,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index f3ab2e1299a33..cbd71d00c97af 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.devdocs.json b/api_docs/expression_repeat_image.devdocs.json index 5107ef860b69e..22b84f29f55b8 100644 --- a/api_docs/expression_repeat_image.devdocs.json +++ b/api_docs/expression_repeat_image.devdocs.json @@ -456,9 +456,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 9b25022642c91..1a64c0975ed79 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index e2ecb9726e5d5..14d4655fdfc35 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.devdocs.json b/api_docs/expression_shape.devdocs.json index 20f6fb671527e..595aac8a67a70 100644 --- a/api_docs/expression_shape.devdocs.json +++ b/api_docs/expression_shape.devdocs.json @@ -1520,9 +1520,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -1577,9 +1577,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2524,9 +2524,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2581,9 +2581,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 3a59742e17db4..37ab16cb19254 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 18d0c8a0e5e66..d329df494a154 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.devdocs.json b/api_docs/expression_x_y.devdocs.json index 708688284ce47..a3445449ddf1d 100644 --- a/api_docs/expression_x_y.devdocs.json +++ b/api_docs/expression_x_y.devdocs.json @@ -2269,9 +2269,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2435,9 +2435,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2513,9 +2513,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2610,9 +2610,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2719,9 +2719,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2796,9 +2796,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -2925,9 +2925,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -3078,9 +3078,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -3170,9 +3170,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -3346,9 +3346,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 72f08a98b1c38..492194ece2a6a 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.devdocs.json b/api_docs/expressions.devdocs.json index 72480db6105c4..187a1f46d0f84 100644 --- a/api_docs/expressions.devdocs.json +++ b/api_docs/expressions.devdocs.json @@ -130,9 +130,9 @@ "" @@ -267,9 +267,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -1057,9 +1057,9 @@ " = Record>(logger?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined, state?: ", @@ -1094,9 +1094,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -1246,9 +1246,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -2058,9 +2058,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => ", @@ -2094,9 +2094,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -3826,9 +3826,9 @@ "(value: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ", uiState?: unknown) => Promise" @@ -3847,9 +3847,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -5222,9 +5222,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => ", @@ -5258,9 +5258,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -5483,9 +5483,9 @@ "((value: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") => unknown) | undefined" @@ -5505,9 +5505,9 @@ "((serialized: unknown[]) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") | undefined" @@ -7181,9 +7181,9 @@ "(() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") | undefined" @@ -8328,17 +8328,17 @@ " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited> | ", @@ -8597,9 +8597,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8658,9 +8658,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8703,9 +8703,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8748,9 +8748,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8793,9 +8793,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8862,9 +8862,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -8931,9 +8931,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9000,9 +9000,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9069,9 +9069,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -10642,9 +10642,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined" @@ -11850,9 +11850,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -12327,9 +12327,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -12483,9 +12483,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -12676,97 +12676,97 @@ "(T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends string ? \"string\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends boolean ? \"boolean\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends number ? \"number\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends null ? \"null\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends { type: string; } ? ({ type: string; } & (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited))[\"type\"] : never" @@ -13636,9 +13636,9 @@ "" @@ -13773,9 +13773,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -14344,9 +14344,9 @@ " = Record>(logger?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined, state?: ", @@ -14381,9 +14381,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -14533,9 +14533,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -15345,9 +15345,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => ", @@ -15381,9 +15381,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -16637,9 +16637,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -16708,9 +16708,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -16734,9 +16734,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ") => ", @@ -16762,9 +16762,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -16788,9 +16788,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ") => ", @@ -16816,9 +16816,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -16958,9 +16958,9 @@ "((value: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") => unknown) | undefined" @@ -16980,9 +16980,9 @@ "((serialized: unknown[]) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") | undefined" @@ -18574,9 +18574,9 @@ "(() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") | undefined" @@ -19690,17 +19690,17 @@ " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited> | ", @@ -19959,9 +19959,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20020,9 +20020,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20065,9 +20065,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20110,9 +20110,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20155,9 +20155,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20224,9 +20224,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20293,9 +20293,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20362,9 +20362,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -20431,9 +20431,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -21744,9 +21744,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -22145,9 +22145,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -22301,9 +22301,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -22463,97 +22463,97 @@ "(T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends string ? \"string\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends boolean ? \"boolean\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends number ? \"number\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends null ? \"null\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends { type: string; } ? ({ type: string; } & (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited))[\"type\"] : never" @@ -22789,9 +22789,9 @@ "" @@ -22926,9 +22926,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -23716,9 +23716,9 @@ " = Record>(logger?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined, state?: ", @@ -23753,9 +23753,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -23905,9 +23905,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -24717,9 +24717,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => ", @@ -24753,9 +24753,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -27144,9 +27144,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => ", @@ -27180,9 +27180,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -27405,9 +27405,9 @@ "((value: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") => unknown) | undefined" @@ -27427,9 +27427,9 @@ "((serialized: unknown[]) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ") | undefined" @@ -28942,9 +28942,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -30290,9 +30290,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" @@ -30329,9 +30329,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined" @@ -30627,9 +30627,9 @@ "(() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") | undefined" @@ -32228,9 +32228,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined" @@ -32281,9 +32281,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | undefined" @@ -32564,17 +32564,17 @@ " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited> | ", @@ -32833,9 +32833,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -32894,9 +32894,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -32939,9 +32939,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -32984,9 +32984,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33029,9 +33029,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33098,9 +33098,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33167,9 +33167,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33236,9 +33236,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33305,9 +33305,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -33603,9 +33603,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -36415,9 +36415,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -36814,9 +36814,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -36884,9 +36884,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -36954,9 +36954,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37016,9 +37016,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37086,9 +37086,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37156,9 +37156,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37202,9 +37202,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37264,9 +37264,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37310,9 +37310,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37356,9 +37356,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -37479,9 +37479,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -37658,9 +37658,9 @@ "; info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -38000,97 +38000,97 @@ "(T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends string ? \"string\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends boolean ? \"boolean\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends number ? \"number\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends null ? \"null\" : (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited) extends { type: string; } ? ({ type: string; } & (T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.UnwrapObservable", + "section": "def-common.UnwrapObservable", "text": "UnwrapObservable" }, " : Awaited))[\"type\"] : never" @@ -42623,9 +42623,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => Promise<", @@ -42710,9 +42710,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -45516,9 +45516,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => any" @@ -45583,9 +45583,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -46035,9 +46035,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => unknown" @@ -46102,9 +46102,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -46337,9 +46337,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => unknown" @@ -46404,9 +46404,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 5263506974499..79d75c9373b7b 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.devdocs.json b/api_docs/features.devdocs.json index 0305784bbed93..6831369f3b147 100644 --- a/api_docs/features.devdocs.json +++ b/api_docs/features.devdocs.json @@ -1061,25 +1061,25 @@ "Readonly<{ id: string; management?: Readonly<{ [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "; }> | undefined; catalogue?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " | undefined; privileges: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "<", @@ -1121,9 +1121,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " | undefined" @@ -1143,9 +1143,9 @@ "Readonly<{ [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "; }> | undefined" @@ -1164,9 +1164,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "<", @@ -2796,25 +2796,25 @@ "Readonly<{ id: string; management?: Readonly<{ [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "; }> | undefined; catalogue?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " | undefined; privileges: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "<", @@ -2856,9 +2856,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " | undefined" @@ -2878,9 +2878,9 @@ "Readonly<{ [x: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "; }> | undefined" @@ -2899,9 +2899,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, "<", diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 735f41741caf9..abd5cd8b228d7 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.devdocs.json b/api_docs/field_formats.devdocs.json index 5ac9574730092..798a450ca3183 100644 --- a/api_docs/field_formats.devdocs.json +++ b/api_docs/field_formats.devdocs.json @@ -95,17 +95,17 @@ "() => { pattern: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; timezone: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; }" @@ -274,25 +274,25 @@ "() => { pattern: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; fallbackPattern: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; timezone: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; }" @@ -510,9 +510,9 @@ "(", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -548,9 +548,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "> | undefined" @@ -574,17 +574,17 @@ "() => { pattern: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; timezone: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; }" @@ -836,9 +836,9 @@ "(uiSettings: ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" }, ") => Promise<", @@ -867,9 +867,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -1732,9 +1732,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -1768,9 +1768,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "> | undefined" @@ -1803,9 +1803,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -1840,9 +1840,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "> | undefined" @@ -2044,9 +2044,9 @@ "() => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -2113,9 +2113,9 @@ "() => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -2148,9 +2148,9 @@ "() => { id: string; params: (", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -2362,9 +2362,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "> | undefined" @@ -2392,9 +2392,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined) => ", @@ -2428,9 +2428,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" @@ -2462,9 +2462,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">, metaParamsOptions?: ", @@ -2507,9 +2507,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -3003,9 +3003,9 @@ "(formatId: string, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -3046,9 +3046,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -3091,9 +3091,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -3162,9 +3162,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -3345,9 +3345,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -3416,9 +3416,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -4281,9 +4281,9 @@ "() => { pattern: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "; fractional: boolean; }" @@ -5058,9 +5058,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & ", @@ -5545,9 +5545,9 @@ "{ id: string; params: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "; es?: boolean | undefined; }" @@ -5620,9 +5620,9 @@ "(new (params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined, getConfig?: ", @@ -5636,9 +5636,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, "> | undefined) => ", @@ -5668,9 +5668,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & P" @@ -5871,9 +5871,9 @@ "; getInstance: (formatId: string, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -5903,9 +5903,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -5967,9 +5967,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -6183,9 +6183,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">, metaParamsOptions?: ", @@ -6335,9 +6335,9 @@ "; getInstance: (formatId: string, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -6367,9 +6367,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", @@ -6431,9 +6431,9 @@ "[] | undefined, params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ") => ", diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 6db50785649af..bb6c943590bd9 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index ade802b100a3b..4a9ef9a8066dc 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.devdocs.json b/api_docs/files.devdocs.json index 193350e129e16..595f91b2a5723 100644 --- a/api_docs/files.devdocs.json +++ b/api_docs/files.devdocs.json @@ -2002,9 +2002,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -3190,9 +3190,9 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -3220,9 +3220,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 37b75c70a4133..aa3d76398bb17 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 3a24f3b3d138f..f2f56a329dcb1 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index 20f622e193a7a..520ca8150e7d8 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -4116,9 +4116,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", pathPrefix: string | undefined) => Promise<", @@ -4139,9 +4139,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4444,9 +4444,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", id: string, withPackagePolicies?: boolean) => Promise<", @@ -4474,9 +4474,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4519,9 +4519,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", options: Readonly<{ page?: number | undefined; perPage?: number | undefined; sortField?: string | undefined; sortOrder?: \"asc\" | \"desc\" | undefined; kuery?: any; showUpgradeable?: boolean | undefined; } & {}> & { withPackagePolicies?: boolean | undefined; }) => Promise<{ items: ", @@ -4549,9 +4549,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4586,9 +4586,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", id: string, options?: { standalone: boolean; } | undefined) => Promise<", @@ -4616,9 +4616,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4664,9 +4664,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", ids: string[], options?: { fields?: string[] | undefined; withPackagePolicies?: boolean | undefined; ignoreMissing?: boolean | undefined; }) => Promise<", @@ -4694,9 +4694,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4763,9 +4763,9 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -4791,9 +4791,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4973,6 +4973,49 @@ ], "returnComment": [] }, + { + "parentPluginId": "fleet", + "id": "def-server.ArtifactsClientInterface.bulkCreateArtifacts", + "type": "Function", + "tags": [], + "label": "bulkCreateArtifacts", + "description": [], + "signature": [ + "(optionsList: ", + "ArtifactsClientCreateOptions", + "[]) => Promise<{ artifacts?: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.Artifact", + "text": "Artifact" + }, + "[] | undefined; errors?: Error[] | undefined; }>" + ], + "path": "x-pack/plugins/fleet/server/services/artifacts/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.ArtifactsClientInterface.bulkCreateArtifacts.$1", + "type": "Array", + "tags": [], + "label": "optionsList", + "description": [], + "signature": [ + "ArtifactsClientCreateOptions", + "[]" + ], + "path": "x-pack/plugins/fleet/server/services/artifacts/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "fleet", "id": "def-server.ArtifactsClientInterface.deleteArtifact", @@ -5161,9 +5204,9 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", pkgName: string, datasetPath: string) => Promise" @@ -5182,9 +5225,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -5750,17 +5793,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", packagePolicy: ", @@ -5811,9 +5854,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -5832,9 +5875,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -6031,17 +6074,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", packagePolicies: ", @@ -6078,9 +6121,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6099,9 +6142,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -6202,17 +6245,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", packagePolicyUpdates: (", @@ -6255,9 +6298,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6276,9 +6319,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -6387,9 +6430,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", id: string) => Promise<", @@ -6416,9 +6459,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6456,9 +6499,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", agentPolicyId: string) => Promise<", @@ -6485,9 +6528,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6525,9 +6568,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", ids: string[], options?: { ignoreMissing?: boolean | undefined; } | undefined) => Promise<", @@ -6554,9 +6597,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6621,9 +6664,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", options: ", @@ -6666,9 +6709,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6713,9 +6756,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", options: ", @@ -6750,9 +6793,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6796,17 +6839,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", id: string, packagePolicyUpdate: ", @@ -6849,9 +6892,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -6870,9 +6913,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -7008,17 +7051,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", ids: string[], options?: { user?: ", @@ -7053,9 +7096,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7074,9 +7117,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -7176,17 +7219,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", ids: string[], options?: { user?: ", @@ -7229,9 +7272,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7250,9 +7293,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -7375,9 +7418,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", id: string, packagePolicy?: ", @@ -7412,9 +7455,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7489,9 +7532,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", newPolicy: ", @@ -7526,9 +7569,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7572,17 +7615,17 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", pkgName: string, logger?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined) => Promise<", @@ -7609,9 +7652,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7645,9 +7688,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | undefined" @@ -7695,17 +7738,17 @@ ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise" @@ -7886,9 +7929,9 @@ "(soClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", id: string) => Promise<{ packagePolicy: ", @@ -7925,9 +7968,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -7979,9 +8022,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -8007,9 +8050,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8120,17 +8163,17 @@ ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -8178,9 +8221,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" } ], @@ -8198,9 +8241,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8282,17 +8325,17 @@ ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -8340,9 +8383,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" } ], @@ -8360,9 +8403,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8393,17 +8436,17 @@ ", context: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -8451,9 +8494,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" } ], @@ -8471,9 +8514,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8545,9 +8588,9 @@ "{ fromRequest(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "): Promise<", @@ -14988,6 +15031,37 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.AssetsGroupedByServiceByType", + "type": "Type", + "tags": [], + "label": "AssetsGroupedByServiceByType", + "description": [], + "signature": [ + "Record<\"kibana\", ", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.KibanaAssetTypeToParts", + "text": "KibanaAssetTypeToParts" + }, + "> & Record<\"elasticsearch\", ", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.ElasticsearchAssetTypeToParts", + "text": "ElasticsearchAssetTypeToParts" + }, + ">" + ], + "path": "x-pack/plugins/fleet/common/types/models/epm.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.BulkGetAgentPoliciesResponse", @@ -17721,9 +17795,11 @@ "type": "Object", "tags": [], "label": "ENDPOINT_PRIVILEGES", - "description": [], + "description": [ + "\ndefines endpoint package privileges\nthe key is the name of the packagePrivilege (ie. 'readSecuritySolution')\nthe value object is for mapping kibana privileges and capabilities\nsee x-pack/plugins/fleet/server/services/security/security.ts for example of how object values are used" + ], "signature": [ - "readonly [\"writeEndpointList\", \"readEndpointList\", \"writeTrustedApplications\", \"readTrustedApplications\", \"writeHostIsolationExceptions\", \"readHostIsolationExceptions\", \"writeBlocklist\", \"readBlocklist\", \"writeEventFilters\", \"readEventFilters\", \"writePolicyManagement\", \"readPolicyManagement\", \"writeActionsLogManagement\", \"readActionsLogManagement\", \"writeHostIsolation\", \"writeProcessOperations\", \"writeFileOperations\"]" + "{ [x: string]: PrivilegeMapObject; }" ], "path": "x-pack/plugins/fleet/common/constants/authz.ts", "deprecated": false, diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 9033d42676fe7..481a804c3b7d0 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Fleet](https://github.com/orgs/elastic/teams/fleet) for questions regar | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1029 | 3 | 924 | 20 | +| 1032 | 3 | 926 | 20 | ## Client diff --git a/api_docs/global_search.devdocs.json b/api_docs/global_search.devdocs.json index 7d96b4bfad1da..2131cc5d23d95 100644 --- a/api_docs/global_search.devdocs.json +++ b/api_docs/global_search.devdocs.json @@ -319,9 +319,9 @@ "Record | undefined" @@ -658,25 +658,25 @@ "{ savedObjects: { client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, "; typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; }; uiSettings: { client: ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" }, "; }; capabilities: ", @@ -867,9 +867,9 @@ "Record | undefined" @@ -1209,9 +1209,9 @@ ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1221,9 +1221,9 @@ ">; getSearchableTypes: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise; }" diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 5cb82aba86a2d..c37de49ada21d 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index dc7772e01f697..52e4db85947f4 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.devdocs.json b/api_docs/home.devdocs.json index 0c2b70ce5bf97..c308314384694 100644 --- a/api_docs/home.devdocs.json +++ b/api_docs/home.devdocs.json @@ -1747,9 +1747,9 @@ "{ getSampleDatasets: () => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Writable", + "section": "def-common.Writable", "text": "Writable" }, "[]; previewImagePath: string; overviewDashboard: string; defaultIndex: string; dataIndices: Readonly<{ isDataStream?: boolean | undefined; } & { id: string; fields: Record; timeFields: string[]; dataPath: string; currentTimeMarker: string; preserveDayOfWeekTimeOfDay: boolean; }>[]; }>>[]; addSavedObjectsToSampleDataset: (id: string, savedObjects: ", @@ -1794,9 +1794,9 @@ "() => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Writable", + "section": "def-common.Writable", "text": "Writable" }, "[]; previewImagePath: string; overviewDashboard: string; defaultIndex: string; dataIndices: Readonly<{ isDataStream?: boolean | undefined; } & { id: string; fields: Record; timeFields: string[]; dataPath: string; currentTimeMarker: string; preserveDayOfWeekTimeOfDay: boolean; }>[]; }>>" @@ -2187,9 +2187,9 @@ "{ getSampleDatasets: () => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Writable", + "section": "def-common.Writable", "text": "Writable" }, "[]; previewImagePath: string; overviewDashboard: string; defaultIndex: string; dataIndices: Readonly<{ isDataStream?: boolean | undefined; } & { id: string; fields: Record; timeFields: string[]; dataPath: string; currentTimeMarker: string; preserveDayOfWeekTimeOfDay: boolean; }>[]; }>>[]; addSavedObjectsToSampleDataset: (id: string, savedObjects: ", diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 4eb630e1ad004..88b7bbf497afc 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.devdocs.json b/api_docs/index_lifecycle_management.devdocs.json index 3cc512a363c4e..03825ec75860a 100644 --- a/api_docs/index_lifecycle_management.devdocs.json +++ b/api_docs/index_lifecycle_management.devdocs.json @@ -22,9 +22,9 @@ " extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 1326d9517e374..029bd3a570f1c 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 8934efb99edd1..8e8de976f54a4 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.devdocs.json b/api_docs/infra.devdocs.json index ffbfd58ed53de..78b72a4e776fa 100644 --- a/api_docs/infra.devdocs.json +++ b/api_docs/infra.devdocs.json @@ -655,9 +655,9 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", sourceId?: string | undefined) => Promise" @@ -676,9 +676,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 79154e98cf39b..93b8b0dca2ce6 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 1d8f6b34059c0..cf51135346e4c 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 888c94facf53a..eb1da51e31c26 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 0cca186367fbe..45bf64f06fca0 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 0f9bcd1b02264..b946a46cce234 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.devdocs.json b/api_docs/kbn_aiops_utils.devdocs.json index ce298e173b372..309acf094ca10 100644 --- a/api_docs/kbn_aiops_utils.devdocs.json +++ b/api_docs/kbn_aiops_utils.devdocs.json @@ -189,17 +189,17 @@ "(headers: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" }, ", logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", compressOverride: boolean | undefined, flushFix: boolean | undefined) => StreamFactoryReturnType" @@ -220,9 +220,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" } ], @@ -243,9 +243,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -307,17 +307,17 @@ "(headers: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" }, ", logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", compressOverride: boolean, flushFix: boolean) => StreamFactoryReturnType" @@ -338,9 +338,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" } ], @@ -361,9 +361,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 7d65618073130..5a8f87033b6d2 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx index 54e7303411e5a..2eea67c84789a 100644 --- a/api_docs/kbn_alerts.mdx +++ b/api_docs/kbn_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts title: "@kbn/alerts" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts'] --- import kbnAlertsObj from './kbn_alerts.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 4ecd79e967d64..045f9e9e533e6 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index 079137d661c38..e078afaecdacf 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -133,9 +133,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index d5e767d77d536..fa1efb18383b3 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 7bf5df42ea189..fcc9a3b5cca82 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 6db3b473e9c26..9e3c5096eb8da 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.devdocs.json b/api_docs/kbn_analytics_shippers_elastic_v3_server.devdocs.json index 8259f7451839f..c74c4ff79cfc9 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.devdocs.json +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper", + "id": "def-common.ElasticV3ServerShipper", "type": "Class", "tags": [], "label": "ElasticV3ServerShipper", @@ -22,9 +30,9 @@ "signature": [ { "pluginId": "@kbn/analytics-shippers-elastic-v3-server", - "scope": "server", + "scope": "common", "docId": "kibKbnAnalyticsShippersElasticV3ServerPluginApi", - "section": "def-server.ElasticV3ServerShipper", + "section": "def-common.ElasticV3ServerShipper", "text": "ElasticV3ServerShipper" }, " implements ", @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.shipperName", + "id": "def-common.ElasticV3ServerShipper.shipperName", "type": "string", "tags": [], "label": "shipperName", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.telemetryCounter$", + "id": "def-common.ElasticV3ServerShipper.telemetryCounter$", "type": "Object", "tags": [], "label": "telemetryCounter$", @@ -80,7 +88,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.Unnamed", + "id": "def-common.ElasticV3ServerShipper.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -96,7 +104,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.Unnamed.$1", + "id": "def-common.ElasticV3ServerShipper.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -119,7 +127,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.Unnamed.$2", + "id": "def-common.ElasticV3ServerShipper.Unnamed.$2", "type": "Object", "tags": [], "label": "initContext", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.extendContext", + "id": "def-common.ElasticV3ServerShipper.extendContext", "type": "Function", "tags": [], "label": "extendContext", @@ -169,7 +177,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.extendContext.$1", + "id": "def-common.ElasticV3ServerShipper.extendContext.$1", "type": "Object", "tags": [], "label": "newContext", @@ -195,7 +203,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.optIn", + "id": "def-common.ElasticV3ServerShipper.optIn", "type": "Function", "tags": [], "label": "optIn", @@ -211,7 +219,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.optIn.$1", + "id": "def-common.ElasticV3ServerShipper.optIn.$1", "type": "boolean", "tags": [], "label": "isOptedIn", @@ -231,7 +239,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.reportEvents", + "id": "def-common.ElasticV3ServerShipper.reportEvents", "type": "Function", "tags": [], "label": "reportEvents", @@ -255,7 +263,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.reportEvents.$1", + "id": "def-common.ElasticV3ServerShipper.reportEvents.$1", "type": "Array", "tags": [], "label": "events", @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.flush", + "id": "def-common.ElasticV3ServerShipper.flush", "type": "Function", "tags": [], "label": "flush", @@ -300,7 +308,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ServerShipper.shutdown", + "id": "def-common.ElasticV3ServerShipper.shutdown", "type": "Function", "tags": [], "label": "shutdown", @@ -324,7 +332,7 @@ "interfaces": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ShipperOptions", + "id": "def-common.ElasticV3ShipperOptions", "type": "Interface", "tags": [], "label": "ElasticV3ShipperOptions", @@ -337,7 +345,7 @@ "children": [ { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ShipperOptions.channelName", + "id": "def-common.ElasticV3ShipperOptions.channelName", "type": "string", "tags": [], "label": "channelName", @@ -350,7 +358,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ShipperOptions.version", + "id": "def-common.ElasticV3ShipperOptions.version", "type": "string", "tags": [], "label": "version", @@ -363,7 +371,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ShipperOptions.sendTo", + "id": "def-common.ElasticV3ShipperOptions.sendTo", "type": "CompoundType", "tags": [], "label": "sendTo", @@ -379,7 +387,7 @@ }, { "parentPluginId": "@kbn/analytics-shippers-elastic-v3-server", - "id": "def-server.ElasticV3ShipperOptions.debug", + "id": "def-common.ElasticV3ShipperOptions.debug", "type": "CompoundType", "tags": [], "label": "debug", @@ -400,13 +408,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 77696f41ee827..2e0aed7ae0a3c 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 19 | 0 | 0 | 0 | -## Server +## Common ### Classes - + ### Interfaces - + diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index 79b9cd3749abe..0b445da7609b9 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 07e26d21e325e..b82394c789501 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.devdocs.json b/api_docs/kbn_apm_config_loader.devdocs.json index 6b39978e0e142..aaf18f5aab82d 100644 --- a/api_docs/kbn_apm_config_loader.devdocs.json +++ b/api_docs/kbn_apm_config_loader.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration", + "id": "def-common.ApmConfiguration", "type": "Class", "tags": [], "label": "ApmConfiguration", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.Unnamed", + "id": "def-common.ApmConfiguration.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.Unnamed.$1", + "id": "def-common.ApmConfiguration.Unnamed.$1", "type": "string", "tags": [], "label": "rootDir", @@ -52,7 +60,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.Unnamed.$2", + "id": "def-common.ApmConfiguration.Unnamed.$2", "type": "Object", "tags": [], "label": "rawKibanaConfig", @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.Unnamed.$3", + "id": "def-common.ApmConfiguration.Unnamed.$3", "type": "boolean", "tags": [], "label": "isDistributable", @@ -85,7 +93,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.getConfig", + "id": "def-common.ApmConfiguration.getConfig", "type": "Function", "tags": [], "label": "getConfig", @@ -100,7 +108,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.ApmConfiguration.getConfig.$1", + "id": "def-common.ApmConfiguration.getConfig.$1", "type": "string", "tags": [], "label": "serviceName", @@ -123,7 +131,7 @@ "functions": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.getConfiguration", + "id": "def-common.getConfiguration", "type": "Function", "tags": [], "label": "getConfiguration", @@ -139,7 +147,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.getConfiguration.$1", + "id": "def-common.getConfiguration.$1", "type": "string", "tags": [], "label": "serviceName", @@ -158,7 +166,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.initApm", + "id": "def-common.initApm", "type": "Function", "tags": [], "label": "initApm", @@ -172,7 +180,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.initApm.$1", + "id": "def-common.initApm.$1", "type": "Array", "tags": [], "label": "argv", @@ -187,7 +195,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.initApm.$2", + "id": "def-common.initApm.$2", "type": "string", "tags": [], "label": "rootDir", @@ -202,7 +210,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.initApm.$3", + "id": "def-common.initApm.$3", "type": "boolean", "tags": [], "label": "isDistributable", @@ -217,7 +225,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.initApm.$4", + "id": "def-common.initApm.$4", "type": "string", "tags": [], "label": "serviceName", @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.shouldInstrumentClient", + "id": "def-common.shouldInstrumentClient", "type": "Function", "tags": [], "label": "shouldInstrumentClient", @@ -252,7 +260,7 @@ "children": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.shouldInstrumentClient.$1", + "id": "def-common.shouldInstrumentClient.$1", "type": "Object", "tags": [], "label": "config", @@ -277,7 +285,7 @@ "objects": [ { "parentPluginId": "@kbn/apm-config-loader", - "id": "def-server.apmConfigSchema", + "id": "def-common.apmConfigSchema", "type": "Object", "tags": [], "label": "apmConfigSchema", @@ -285,41 +293,41 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ active: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; serverUrl: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; secretToken: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; globalLabels: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{}>; }>" @@ -330,13 +338,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index c7a8e0ef5be26..e31d17fae07d6 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 17 | 0 | 17 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + diff --git a/api_docs/kbn_apm_synthtrace.devdocs.json b/api_docs/kbn_apm_synthtrace.devdocs.json index c91af4fa61088..8ac8e3da77113 100644 --- a/api_docs/kbn_apm_synthtrace.devdocs.json +++ b/api_docs/kbn_apm_synthtrace.devdocs.json @@ -9,21 +9,29 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient", + "id": "def-common.ApmSynthtraceEsClient", "type": "Class", "tags": [], "label": "ApmSynthtraceEsClient", "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.Unnamed", + "id": "def-common.ApmSynthtraceEsClient.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -31,70 +39,44 @@ "signature": [ "any" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.Unnamed.$1", - "type": "Object", - "tags": [], - "label": "client", - "description": [], - "signature": [ - "default" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.Unnamed.$2", - "type": "Object", - "tags": [], - "label": "logger", - "description": [], - "signature": [ - "{ perf: (name: string, cb: () => T) => T; debug: (...args: any[]) => void; info: (...args: any[]) => void; error: (...args: any[]) => void; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.Unnamed.$3", - "type": "Object", + "id": "def-common.ApmSynthtraceEsClient.Unnamed.$1", + "type": "CompoundType", "tags": [], "label": "options", "description": [], "signature": [ - "ApmSynthtraceEsClientOptions", - " | undefined" + "{ client: ", + "default", + "; logger: ", + "Logger", + "; } & ", + "ApmSynthtraceEsClientOptions" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.runningVersion", + "id": "def-common.ApmSynthtraceEsClient.clean", "type": "Function", "tags": [], - "label": "runningVersion", + "label": "clean", "description": [], "signature": [ - "() => Promise" + "() => Promise" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [], @@ -102,61 +84,87 @@ }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.clean", + "id": "def-common.ApmSynthtraceEsClient.updateComponentTemplate", "type": "Function", "tags": [], - "label": "clean", + "label": "updateComponentTemplate", "description": [], "signature": [ - "(dataStreams?: string[] | undefined) => Promise" + "(name: ", + "ComponentTemplateName", + ", modify: (template: ", + "ClusterComponentTemplateSummary", + ") => ", + "IndicesIndexState", + ") => Promise" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.clean.$1", - "type": "Array", + "id": "def-common.ApmSynthtraceEsClient.updateComponentTemplate.$1", + "type": "Enum", "tags": [], - "label": "dataStreams", + "label": "name", + "description": [], + "signature": [ + "ComponentTemplateName" + ], + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace", + "id": "def-common.ApmSynthtraceEsClient.updateComponentTemplate.$2", + "type": "Function", + "tags": [], + "label": "modify", "description": [], "signature": [ - "string[] | undefined" + "(template: ", + "ClusterComponentTemplateSummary", + ") => ", + "IndicesIndexState" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.updateComponentTemplates", + "id": "def-common.ApmSynthtraceEsClient.refresh", "type": "Function", "tags": [], - "label": "updateComponentTemplates", + "label": "refresh", "description": [], "signature": [ - "(numberOfPrimaryShards: number) => Promise" + "(dataStreams?: string[]) => Promise<", + "ShardsOperationResponseBase", + ">" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.updateComponentTemplates.$1", - "type": "number", + "id": "def-common.ApmSynthtraceEsClient.refresh.$1", + "type": "Array", "tags": [], - "label": "numberOfPrimaryShards", + "label": "dataStreams", "description": [], "signature": [ - "number" + "string[]" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -166,29 +174,31 @@ }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.registerGcpRepository", + "id": "def-common.ApmSynthtraceEsClient.getDefaultPipeline", "type": "Function", "tags": [], - "label": "registerGcpRepository", + "label": "getDefaultPipeline", "description": [], "signature": [ - "(connectionString: string) => Promise" + "(includeSerialization?: boolean) => (base: ", + "Readable", + ") => NodeJS.WritableStream" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.registerGcpRepository.$1", - "type": "string", + "id": "def-common.ApmSynthtraceEsClient.getDefaultPipeline.$1", + "type": "boolean", "tags": [], - "label": "connectionString", + "label": "includeSerialization", "description": [], "signature": [ - "string" + "boolean" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -198,213 +208,117 @@ }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.refresh", + "id": "def-common.ApmSynthtraceEsClient.pipeline", "type": "Function", "tags": [], - "label": "refresh", + "label": "pipeline", "description": [], "signature": [ - "(dataStreams?: string[] | undefined) => Promise<", - "ShardsOperationResponseBase", - ">" + "(cb: (base: ", + "Readable", + ") => NodeJS.WritableStream) => void" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.refresh.$1", - "type": "Array", + "id": "def-common.ApmSynthtraceEsClient.pipeline.$1", + "type": "Function", "tags": [], - "label": "dataStreams", + "label": "cb", "description": [], "signature": [ - "string[] | undefined" + "(base: ", + "Readable", + ") => NodeJS.WritableStream" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.index", + "id": "def-common.ApmSynthtraceEsClient.getVersion", "type": "Function", "tags": [], - "label": "index", + "label": "getVersion", "description": [], "signature": [ - "(events: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - " | ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[], options?: ", - "StreamToBulkOptions", - "<", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "> | undefined, streamProcessor?: ", - "StreamProcessor", - "<", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "> | undefined) => Promise" + "() => string" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.index.$1", - "type": "CompoundType", - "tags": [], - "label": "events", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - " | ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.index.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "StreamToBulkOptions", - "<", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "> | undefined" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.index.$3", - "type": "Object", - "tags": [], - "label": "streamProcessor", - "description": [], - "signature": [ - "StreamProcessor", - "<", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "> | undefined" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], + "children": [], "returnComment": [] }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.createDataStream", + "id": "def-common.ApmSynthtraceEsClient.index", "type": "Function", "tags": [], - "label": "createDataStream", + "label": "index", "description": [], "signature": [ - "(aggregator: ", - "StreamAggregator", + "(streamOrGenerator: MaybeArray<", + "Readable", + " | ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.SynthtraceGenerator", + "text": "SynthtraceGenerator" + }, "<", { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", "text": "ApmFields" }, - ">) => Promise" + ">>) => Promise" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmSynthtraceEsClient.createDataStream.$1", - "type": "Object", + "id": "def-common.ApmSynthtraceEsClient.index.$1", + "type": "CompoundType", "tags": [], - "label": "aggregator", + "label": "streamOrGenerator", "description": [], "signature": [ - "StreamAggregator", + "MaybeArray<", + "Readable", + " | ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.SynthtraceGenerator", + "text": "SynthtraceGenerator" + }, "<", { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", "text": "ApmFields" }, - ">" + ">>" ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -417,36 +331,18 @@ }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable", + "id": "def-common.ApmSynthtraceKibanaClient", "type": "Class", "tags": [], - "label": "EntityArrayIterable", + "label": "ApmSynthtraceKibanaClient", "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityArrayIterable", - "text": "EntityArrayIterable" - }, - " implements ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.Unnamed", + "id": "def-common.ApmSynthtraceKibanaClient.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -454,87 +350,62 @@ "signature": [ "any" ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.Unnamed.$1", - "type": "Array", + "id": "def-common.ApmSynthtraceKibanaClient.Unnamed.$1", + "type": "Object", "tags": [], - "label": "fields", + "label": "options", "description": [], - "signature": [ - "TFields[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace", + "id": "def-common.ApmSynthtraceKibanaClient.Unnamed.$1.logger", + "type": "Object", + "tags": [], + "label": "logger", + "description": [], + "signature": [ + "Logger" + ], + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace", + "id": "def-common.ApmSynthtraceKibanaClient.Unnamed.$1.target", + "type": "string", + "tags": [], + "label": "target", + "description": [], + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.order", - "type": "Function", - "tags": [], - "label": "order", - "description": [], - "signature": [ - "() => \"asc\" | \"desc\"" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.estimatedRatePerMinute", - "type": "Function", - "tags": [], - "label": "estimatedRatePerMinute", - "description": [], - "signature": [ - "() => number" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.Symbol.asyncIterator", - "type": "Function", - "tags": [], - "label": "[Symbol.asyncIterator]", - "description": [], - "signature": [ - "() => AsyncIterator" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.Symbol.iterator", + "id": "def-common.ApmSynthtraceKibanaClient.fetchLatestApmPackageVersion", "type": "Function", "tags": [], - "label": "[Symbol.iterator]", + "label": "fetchLatestApmPackageVersion", "description": [], "signature": [ - "() => Iterator" + "() => Promise" ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, "children": [], @@ -542,68 +413,35 @@ }, { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.merge", + "id": "def-common.ApmSynthtraceKibanaClient.installApmPackage", "type": "Function", "tags": [], - "label": "merge", + "label": "installApmPackage", "description": [], "signature": [ - "(...iterables: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[]) => ", - "EntityStreams", - "" + "(packageVersion: string) => Promise" ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.merge.$1", - "type": "Array", + "id": "def-common.ApmSynthtraceKibanaClient.installApmPackage.$1", + "type": "string", "tags": [], - "label": "iterables", + "label": "packageVersion", "description": [], "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[]" + "string" ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityArrayIterable.toArray", - "type": "Function", - "tags": [], - "label": "toArray", - "description": [], - "signature": [ - "() => TFields[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] } ], "initialIsOpen": false @@ -612,233 +450,44 @@ "functions": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.cleanWriteTargets", + "id": "def-common.createLogger", "type": "Function", "tags": [], - "label": "cleanWriteTargets", + "label": "createLogger", "description": [], "signature": [ - "({\n targets,\n client,\n logger,\n}: { targets: string[]; client: ", - "default", - "; logger: { perf: (name: string, cb: () => T) => T; debug: (...args: any[]) => void; info: (...args: any[]) => void; error: (...args: any[]) => void; }; }) => Promise" + "(logLevel: ", + { + "pluginId": "@kbn/apm-synthtrace", + "scope": "common", + "docId": "kibKbnApmSynthtracePluginApi", + "section": "def-common.LogLevel", + "text": "LogLevel" + }, + ") => ", + "Logger" ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts", + "path": "packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.cleanWriteTargets.$1", - "type": "Object", + "id": "def-common.createLogger.$1", + "type": "Enum", "tags": [], - "label": "{\n targets,\n client,\n logger,\n}", + "label": "logLevel", "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.cleanWriteTargets.$1.targets", - "type": "Array", - "tags": [], - "label": "targets", - "description": [], - "signature": [ - "string[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.cleanWriteTargets.$1.client", - "type": "Object", - "tags": [], - "label": "client", - "description": [], - "signature": [ - "default" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.cleanWriteTargets.$1.logger", - "type": "Object", - "tags": [], - "label": "logger", - "description": [], - "signature": [ - "{ perf: (name: string, cb: () => T) => T; debug: (...args: any[]) => void; info: (...args: any[]) => void; error: (...args: any[]) => void; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.createLogger", - "type": "Function", - "tags": [], - "label": "createLogger", - "description": [], - "signature": [ - "(logLevel: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.LogLevel", - "text": "LogLevel" - }, - ") => { perf: (name: string, cb: () => T) => T; debug: (...args: any[]) => void; info: (...args: any[]) => void; error: (...args: any[]) => void; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.createLogger.$1", - "type": "Enum", - "tags": [], - "label": "logLevel", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.LogLevel", - "text": "LogLevel" - } - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.dedot", - "type": "Function", - "tags": [], - "label": "dedot", - "description": [], - "signature": [ - "(source: Record, target: Record) => Record" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/dedot.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.dedot.$1", - "type": "Object", - "tags": [], - "label": "source", - "description": [], - "signature": [ - "Record" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/dedot.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.dedot.$2", - "type": "Object", - "tags": [], - "label": "target", - "description": [], - "signature": [ - "Record" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/utils/dedot.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.observer", - "type": "Function", - "tags": [], - "label": "observer", - "description": [], - "signature": [ - "() => ", - "Observer" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/agent_config/observer.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.timerange", - "type": "Function", - "tags": [], - "label": "timerange", - "description": [], - "signature": [ - "(from: number | Date, to: number | Date) => ", - "Timerange" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/timerange.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.timerange.$1", - "type": "CompoundType", - "tags": [], - "label": "from", - "description": [], - "signature": [ - "number | Date" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/timerange.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.timerange.$2", - "type": "CompoundType", - "tags": [], - "label": "to", - "description": [], - "signature": [ - "number | Date" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/timerange.ts", + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace", + "scope": "common", + "docId": "kibKbnApmSynthtracePluginApi", + "section": "def-common.LogLevel", + "text": "LogLevel" + } + ], + "path": "packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -848,194 +497,11 @@ "initialIsOpen": false } ], - "interfaces": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmException", - "type": "Interface", - "tags": [], - "label": "ApmException", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmException.message", - "type": "string", - "tags": [], - "label": "message", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable", - "type": "Interface", - "tags": [], - "label": "EntityIterable", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - " extends Iterable,AsyncIterable" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable.order", - "type": "Function", - "tags": [], - "label": "order", - "description": [], - "signature": [ - "() => \"asc\" | \"desc\"" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable.estimatedRatePerMinute", - "type": "Function", - "tags": [], - "label": "estimatedRatePerMinute", - "description": [], - "signature": [ - "() => number" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable.toArray", - "type": "Function", - "tags": [], - "label": "toArray", - "description": [], - "signature": [ - "() => ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable.merge", - "type": "Function", - "tags": [], - "label": "merge", - "description": [], - "signature": [ - "(...iterables: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[]) => ", - "EntityStreams", - "" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.EntityIterable.merge.$1", - "type": "Array", - "tags": [], - "label": "iterables", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.EntityIterable", - "text": "EntityIterable" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.Fields", - "type": "Interface", - "tags": [], - "label": "Fields", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/entity.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.Fields.timestamp", - "type": "number", - "tags": [], - "label": "'@timestamp'", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/entity.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], + "interfaces": [], "enums": [ { "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.LogLevel", + "id": "def-common.LogLevel", "type": "Enum", "tags": [], "label": "LogLevel", @@ -1046,466 +512,6 @@ "initialIsOpen": false } ], - "misc": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.ApmFields", - "type": "Type", - "tags": [], - "label": "ApmFields", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.Fields", - "text": "Fields" - }, - " & Partial<{ 'timestamp.us'?: number | undefined; 'agent.name': string; 'agent.version': string; 'client.geo.city_name': string; 'client.geo.continent_name': string; 'client.geo.country_iso_code': string; 'client.geo.country_name': string; 'client.geo.region_iso_code': string; 'client.geo.region_name': string; 'client.geo.location': ", - "GeoLocation", - "; 'client.ip': string; 'cloud.provider': string; 'cloud.project.name': string; 'cloud.service.name': string; 'cloud.availability_zone': string; 'cloud.machine.type': string; 'cloud.region': string; 'container.id': string; 'destination.address': string; 'destination.port': number; 'device.id': string; 'device.model.identifier': string; 'device.model.name': string; 'device.manufacturer': string; 'ecs.version': string; 'event.outcome': string; 'event.ingested': number; 'error.id': string; 'error.exception': ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmException", - "text": "ApmException" - }, - "[]; 'error.grouping_name': string; 'error.grouping_key': string; 'faas.id': string; 'faas.name': string; 'faas.coldstart': boolean; 'faas.execution': string; 'faas.trigger.type': string; 'faas.trigger.request_id': string; 'host.name': string; 'host.architecture': string; 'host.hostname': string; 'host.os.full': string; 'host.os.name': string; 'host.os.platform': string; 'host.os.type': string; 'host.os.version': string; 'http.request.method': string; 'http.response.status_code': number; 'kubernetes.pod.uid': string; 'kubernetes.pod.name': string; 'metricset.name': string; observer: ", - "Observer", - "; 'network.connection.type': string; 'network.connection.subtype': string; 'network.carrier.name': string; 'network.carrier.mcc': string; 'network.carrier.mnc': string; 'network.carrier.icc': string; 'parent.id': string; 'processor.event': string; 'processor.name': string; 'session.id': string; 'trace.id': string; 'transaction.name': string; 'transaction.type': string; 'transaction.id': string; 'transaction.duration.us': number; 'transaction.duration.histogram': { values: number[]; counts: number[]; }; 'transaction.sampled': true; 'service.name': string; 'service.version': string; 'service.environment': string; 'service.language.name': string; 'service.node.name': string; 'service.runtime.name': string; 'service.runtime.version': string; 'service.framework.name': string; 'service.framework.version': string; 'service.target.name': string; 'service.target.type': string; 'span.action': string; 'span.id': string; 'span.name': string; 'span.type': string; 'span.subtype': string; 'span.duration.us': number; 'span.destination.service.resource': string; 'span.destination.service.response_time.sum.us': number; 'span.destination.service.response_time.count': number; 'span.self_time.count': number; 'span.self_time.sum.us': number; 'span.links': { trace: { id: string; }; span: { id: string; }; }[]; 'url.original': string; }> & Partial<{ 'system.process.memory.size': number; 'system.memory.actual.free': number; 'system.memory.total': number; 'system.cpu.total.norm.pct': number; 'system.process.memory.rss.bytes': number; 'system.process.cpu.total.norm.pct': number; 'jvm.memory.heap.used': number; 'jvm.memory.non_heap.used': number; 'jvm.thread.count': number; 'faas.billed_duration': number; 'faas.timeout': number; 'faas.coldstart_duration': number; 'faas.duration': number; }>" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm", - "type": "Object", - "tags": [], - "label": "apm", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.service", - "type": "Function", - "tags": [], - "label": "service", - "description": [], - "signature": [ - "{ (name: string, environment: string, agentName: string): ", - "Service", - "; (options: { name: string; environment: string; agentName: string; }): ", - "Service", - "; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.mobileApp", - "type": "Function", - "tags": [], - "label": "mobileApp", - "description": [], - "signature": [ - "{ (name: string, environment: string, agentName: MobileAgentName): ", - "MobileApp", - "; (options: { name: string; environment: string; agentName: MobileAgentName; }): ", - "MobileApp", - "; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.browser", - "type": "Function", - "tags": [], - "label": "browser", - "description": [], - "signature": [ - "({ serviceName, environment, userAgent, }: { serviceName: string; environment: string; userAgent: Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>; }) => ", - "Browser" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.browser.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "{ serviceName: string; environment: string; userAgent: Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/browser.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getTransactionMetrics", - "type": "Function", - "tags": [], - "label": "getTransactionMetrics", - "description": [], - "signature": [ - "(events: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]) => { 'metricset.name': string; 'transaction.duration.histogram': { values: number[]; counts: number[]; }; _doc_count: number; '@timestamp'?: number | undefined; 'timestamp.us'?: number | undefined; 'agent.name'?: string | undefined; 'agent.version'?: string | undefined; 'client.geo.city_name'?: string | undefined; 'client.geo.continent_name'?: string | undefined; 'client.geo.country_iso_code'?: string | undefined; 'client.geo.country_name'?: string | undefined; 'client.geo.region_iso_code'?: string | undefined; 'client.geo.region_name'?: string | undefined; 'client.geo.location'?: ", - "GeoLocation", - " | undefined; 'client.ip'?: string | undefined; 'cloud.provider'?: string | undefined; 'cloud.project.name'?: string | undefined; 'cloud.service.name'?: string | undefined; 'cloud.availability_zone'?: string | undefined; 'cloud.machine.type'?: string | undefined; 'cloud.region'?: string | undefined; 'container.id'?: string | undefined; 'destination.address'?: string | undefined; 'destination.port'?: number | undefined; 'device.id'?: string | undefined; 'device.model.identifier'?: string | undefined; 'device.model.name'?: string | undefined; 'device.manufacturer'?: string | undefined; 'ecs.version'?: string | undefined; 'event.outcome'?: string | undefined; 'event.ingested'?: number | undefined; 'error.id'?: string | undefined; 'error.exception'?: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmException", - "text": "ApmException" - }, - "[] | undefined; 'error.grouping_name'?: string | undefined; 'error.grouping_key'?: string | undefined; 'faas.id'?: string | undefined; 'faas.name'?: string | undefined; 'faas.coldstart'?: boolean | undefined; 'faas.execution'?: string | undefined; 'faas.trigger.type'?: string | undefined; 'faas.trigger.request_id'?: string | undefined; 'host.name'?: string | undefined; 'host.architecture'?: string | undefined; 'host.hostname'?: string | undefined; 'host.os.full'?: string | undefined; 'host.os.name'?: string | undefined; 'host.os.platform'?: string | undefined; 'host.os.type'?: string | undefined; 'host.os.version'?: string | undefined; 'http.request.method'?: string | undefined; 'http.response.status_code'?: number | undefined; 'kubernetes.pod.uid'?: string | undefined; 'kubernetes.pod.name'?: string | undefined; observer?: ", - "Observer", - " | undefined; 'network.connection.type'?: string | undefined; 'network.connection.subtype'?: string | undefined; 'network.carrier.name'?: string | undefined; 'network.carrier.mcc'?: string | undefined; 'network.carrier.mnc'?: string | undefined; 'network.carrier.icc'?: string | undefined; 'parent.id'?: string | undefined; 'processor.event'?: string | undefined; 'processor.name'?: string | undefined; 'session.id'?: string | undefined; 'trace.id'?: string | undefined; 'transaction.name'?: string | undefined; 'transaction.type'?: string | undefined; 'transaction.id'?: string | undefined; 'transaction.duration.us'?: number | undefined; 'transaction.sampled'?: true | undefined; 'service.name'?: string | undefined; 'service.version'?: string | undefined; 'service.environment'?: string | undefined; 'service.language.name'?: string | undefined; 'service.node.name'?: string | undefined; 'service.runtime.name'?: string | undefined; 'service.runtime.version'?: string | undefined; 'service.framework.name'?: string | undefined; 'service.framework.version'?: string | undefined; 'service.target.name'?: string | undefined; 'service.target.type'?: string | undefined; 'span.action'?: string | undefined; 'span.id'?: string | undefined; 'span.name'?: string | undefined; 'span.type'?: string | undefined; 'span.subtype'?: string | undefined; 'span.duration.us'?: number | undefined; 'span.destination.service.resource'?: string | undefined; 'span.destination.service.response_time.sum.us'?: number | undefined; 'span.destination.service.response_time.count'?: number | undefined; 'span.self_time.count'?: number | undefined; 'span.self_time.sum.us'?: number | undefined; 'span.links'?: { trace: { id: string; }; span: { id: string; }; }[] | undefined; 'url.original'?: string | undefined; 'system.process.memory.size'?: number | undefined; 'system.memory.actual.free'?: number | undefined; 'system.memory.total'?: number | undefined; 'system.cpu.total.norm.pct'?: number | undefined; 'system.process.memory.rss.bytes'?: number | undefined; 'system.process.cpu.total.norm.pct'?: number | undefined; 'jvm.memory.heap.used'?: number | undefined; 'jvm.memory.non_heap.used'?: number | undefined; 'jvm.thread.count'?: number | undefined; 'faas.billed_duration'?: number | undefined; 'faas.timeout'?: number | undefined; 'faas.coldstart_duration'?: number | undefined; 'faas.duration'?: number | undefined; }[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getTransactionMetrics.$1", - "type": "Array", - "tags": [], - "label": "events", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/processors/get_transaction_metrics.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getSpanDestinationMetrics", - "type": "Function", - "tags": [], - "label": "getSpanDestinationMetrics", - "description": [], - "signature": [ - "(events: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]) => { \"metricset.name\": string; 'span.destination.service.response_time.sum.us': number; 'span.destination.service.response_time.count': number; '@timestamp'?: number | undefined; 'timestamp.us'?: number | undefined; 'agent.name'?: string | undefined; 'agent.version'?: string | undefined; 'client.geo.city_name'?: string | undefined; 'client.geo.continent_name'?: string | undefined; 'client.geo.country_iso_code'?: string | undefined; 'client.geo.country_name'?: string | undefined; 'client.geo.region_iso_code'?: string | undefined; 'client.geo.region_name'?: string | undefined; 'client.geo.location'?: ", - "GeoLocation", - " | undefined; 'client.ip'?: string | undefined; 'cloud.provider'?: string | undefined; 'cloud.project.name'?: string | undefined; 'cloud.service.name'?: string | undefined; 'cloud.availability_zone'?: string | undefined; 'cloud.machine.type'?: string | undefined; 'cloud.region'?: string | undefined; 'container.id'?: string | undefined; 'destination.address'?: string | undefined; 'destination.port'?: number | undefined; 'device.id'?: string | undefined; 'device.model.identifier'?: string | undefined; 'device.model.name'?: string | undefined; 'device.manufacturer'?: string | undefined; 'ecs.version'?: string | undefined; 'event.outcome'?: string | undefined; 'event.ingested'?: number | undefined; 'error.id'?: string | undefined; 'error.exception'?: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmException", - "text": "ApmException" - }, - "[] | undefined; 'error.grouping_name'?: string | undefined; 'error.grouping_key'?: string | undefined; 'faas.id'?: string | undefined; 'faas.name'?: string | undefined; 'faas.coldstart'?: boolean | undefined; 'faas.execution'?: string | undefined; 'faas.trigger.type'?: string | undefined; 'faas.trigger.request_id'?: string | undefined; 'host.name'?: string | undefined; 'host.architecture'?: string | undefined; 'host.hostname'?: string | undefined; 'host.os.full'?: string | undefined; 'host.os.name'?: string | undefined; 'host.os.platform'?: string | undefined; 'host.os.type'?: string | undefined; 'host.os.version'?: string | undefined; 'http.request.method'?: string | undefined; 'http.response.status_code'?: number | undefined; 'kubernetes.pod.uid'?: string | undefined; 'kubernetes.pod.name'?: string | undefined; observer?: ", - "Observer", - " | undefined; 'network.connection.type'?: string | undefined; 'network.connection.subtype'?: string | undefined; 'network.carrier.name'?: string | undefined; 'network.carrier.mcc'?: string | undefined; 'network.carrier.mnc'?: string | undefined; 'network.carrier.icc'?: string | undefined; 'parent.id'?: string | undefined; 'processor.event'?: string | undefined; 'processor.name'?: string | undefined; 'session.id'?: string | undefined; 'trace.id'?: string | undefined; 'transaction.name'?: string | undefined; 'transaction.type'?: string | undefined; 'transaction.id'?: string | undefined; 'transaction.duration.us'?: number | undefined; 'transaction.duration.histogram'?: { values: number[]; counts: number[]; } | undefined; 'transaction.sampled'?: true | undefined; 'service.name'?: string | undefined; 'service.version'?: string | undefined; 'service.environment'?: string | undefined; 'service.language.name'?: string | undefined; 'service.node.name'?: string | undefined; 'service.runtime.name'?: string | undefined; 'service.runtime.version'?: string | undefined; 'service.framework.name'?: string | undefined; 'service.framework.version'?: string | undefined; 'service.target.name'?: string | undefined; 'service.target.type'?: string | undefined; 'span.action'?: string | undefined; 'span.id'?: string | undefined; 'span.name'?: string | undefined; 'span.type'?: string | undefined; 'span.subtype'?: string | undefined; 'span.duration.us'?: number | undefined; 'span.destination.service.resource'?: string | undefined; 'span.self_time.count'?: number | undefined; 'span.self_time.sum.us'?: number | undefined; 'span.links'?: { trace: { id: string; }; span: { id: string; }; }[] | undefined; 'url.original'?: string | undefined; 'system.process.memory.size'?: number | undefined; 'system.memory.actual.free'?: number | undefined; 'system.memory.total'?: number | undefined; 'system.cpu.total.norm.pct'?: number | undefined; 'system.process.memory.rss.bytes'?: number | undefined; 'system.process.cpu.total.norm.pct'?: number | undefined; 'jvm.memory.heap.used'?: number | undefined; 'jvm.memory.non_heap.used'?: number | undefined; 'jvm.thread.count'?: number | undefined; 'faas.billed_duration'?: number | undefined; 'faas.timeout'?: number | undefined; 'faas.coldstart_duration'?: number | undefined; 'faas.duration'?: number | undefined; }[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getSpanDestinationMetrics.$1", - "type": "Array", - "tags": [], - "label": "events", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/processors/get_span_destination_metrics.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getChromeUserAgentDefaults", - "type": "Function", - "tags": [], - "label": "getChromeUserAgentDefaults", - "description": [], - "signature": [ - "() => Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getBreakdownMetrics", - "type": "Function", - "tags": [], - "label": "getBreakdownMetrics", - "description": [], - "signature": [ - "(events: ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]) => ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getBreakdownMetrics.$1", - "type": "Array", - "tags": [], - "label": "events", - "description": [], - "signature": [ - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmFields", - "text": "ApmFields" - }, - "[]" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/processors/get_breakdown_metrics.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getApmWriteTargets", - "type": "Function", - "tags": [], - "label": "getApmWriteTargets", - "description": [], - "signature": [ - "({ client, forceLegacyIndices, }: { client: ", - "default", - "; forceLegacyIndices?: boolean | undefined; }) => Promise<", - "ApmElasticsearchOutputWriteTargets", - ">" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.getApmWriteTargets.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "{ client: ", - "default", - "; forceLegacyIndices?: boolean | undefined; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/utils/get_apm_write_targets.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.ApmSynthtraceEsClient", - "type": "Object", - "tags": [], - "label": "ApmSynthtraceEsClient", - "description": [], - "signature": [ - "typeof ", - { - "pluginId": "@kbn/apm-synthtrace", - "scope": "server", - "docId": "kibKbnApmSynthtracePluginApi", - "section": "def-server.ApmSynthtraceEsClient", - "text": "ApmSynthtraceEsClient" - } - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.ApmSynthtraceKibanaClient", - "type": "Object", - "tags": [], - "label": "ApmSynthtraceKibanaClient", - "description": [], - "signature": [ - "typeof ", - "ApmSynthtraceKibanaClient" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.serverlessFunction", - "type": "Function", - "tags": [], - "label": "serverlessFunction", - "description": [], - "signature": [ - "({ functionName, serviceName, environment, agentName, architecture, }: { functionName: string; environment: string; agentName: string; serviceName?: string | undefined; architecture?: string | undefined; }) => ", - "ServerlessFunction" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.apm.serverlessFunction.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "{ functionName: string; environment: string; agentName: string; serviceName?: string | undefined; architecture?: string | undefined; }" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/apm/serverless_function.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.stackMonitoring", - "type": "Object", - "tags": [], - "label": "stackMonitoring", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/stack_monitoring/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.stackMonitoring.cluster", - "type": "Function", - "tags": [], - "label": "cluster", - "description": [], - "signature": [ - "(name: string) => ", - "Cluster" - ], - "path": "packages/kbn-apm-synthtrace/src/lib/stack_monitoring/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/apm-synthtrace", - "id": "def-server.stackMonitoring.cluster.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "initialIsOpen": false - } - ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], "misc": [], "objects": [] } diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 3a0912c20d542..557008a3bc292 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; @@ -21,25 +21,16 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 77 | 0 | 77 | 15 | +| 27 | 0 | 27 | 3 | -## Server - -### Objects - +## Common ### Functions - + ### Classes - - -### Interfaces - + ### Enums - - -### Consts, variables and types - + diff --git a/api_docs/kbn_apm_synthtrace_client.devdocs.json b/api_docs/kbn_apm_synthtrace_client.devdocs.json new file mode 100644 index 0000000000000..3b9c8f26a7be3 --- /dev/null +++ b/api_docs/kbn_apm_synthtrace_client.devdocs.json @@ -0,0 +1,2542 @@ +{ + "id": "@kbn/apm-synthtrace-client", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace", + "type": "Class", + "tags": [], + "label": "DistributedTrace", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.serviceInstance", + "type": "Object", + "tags": [], + "label": "serviceInstance", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Instance", + "text": "Instance" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.spanEndTimes", + "type": "Array", + "tags": [], + "label": "spanEndTimes", + "description": [], + "signature": [ + "number[]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.childSpans", + "type": "Array", + "tags": [], + "label": "childSpans", + "description": [], + "signature": [ + "BaseSpan", + "[]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.transaction", + "type": "Object", + "tags": [], + "label": "transaction", + "description": [], + "signature": [ + "Transaction" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "{\n serviceInstance,\n transactionName,\n timestamp,\n children,\n }", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1.serviceInstance", + "type": "Object", + "tags": [], + "label": "serviceInstance", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Instance", + "text": "Instance" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1.transactionName", + "type": "string", + "tags": [], + "label": "transactionName", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1.children", + "type": "Function", + "tags": [], + "label": "children", + "description": [], + "signature": [ + "((dt: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DistributedTrace", + "text": "DistributedTrace" + }, + ") => void) | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.Unnamed.$1.children.$1", + "type": "Object", + "tags": [], + "label": "dt", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DistributedTrace", + "text": "DistributedTrace" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.getTransaction", + "type": "Function", + "tags": [], + "label": "getTransaction", + "description": [], + "signature": [ + "() => ", + "Transaction" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service", + "type": "Function", + "tags": [], + "label": "service", + "description": [], + "signature": [ + "({ serviceInstance, transactionName, latency, repeat, timestamp, duration, children, }: { serviceInstance: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Instance", + "text": "Instance" + }, + "; transactionName: string; repeat?: number | undefined; timestamp?: number | undefined; latency?: number | undefined; duration?: number | undefined; children?: ((dt: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DistributedTrace", + "text": "DistributedTrace" + }, + ") => unknown) | undefined; }) => void" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1", + "type": "Object", + "tags": [], + "label": "{\n serviceInstance,\n transactionName,\n latency = 0,\n repeat = 1,\n timestamp = this.timestamp,\n duration,\n children,\n }", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.serviceInstance", + "type": "Object", + "tags": [], + "label": "serviceInstance", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Instance", + "text": "Instance" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.transactionName", + "type": "string", + "tags": [], + "label": "transactionName", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.repeat", + "type": "number", + "tags": [], + "label": "repeat", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.latency", + "type": "number", + "tags": [], + "label": "latency", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.duration", + "type": "number", + "tags": [], + "label": "duration", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.children", + "type": "Function", + "tags": [], + "label": "children", + "description": [], + "signature": [ + "((dt: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DistributedTrace", + "text": "DistributedTrace" + }, + ") => unknown) | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.service.$1.children.$1", + "type": "Object", + "tags": [], + "label": "dt", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DistributedTrace", + "text": "DistributedTrace" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external", + "type": "Function", + "tags": [], + "label": "external", + "description": [], + "signature": [ + "({ name, url, method, statusCode, duration, timestamp, }: { name: string; url: string; method?: ", + "HttpMethod", + " | undefined; statusCode?: number | undefined; duration: number; timestamp?: number | undefined; }) => void" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1", + "type": "Object", + "tags": [], + "label": "{\n name,\n url,\n method,\n statusCode,\n duration,\n timestamp = this.timestamp,\n }", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.url", + "type": "string", + "tags": [], + "label": "url", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.method", + "type": "CompoundType", + "tags": [], + "label": "method", + "description": [], + "signature": [ + "HttpMethod", + " | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.statusCode", + "type": "number", + "tags": [], + "label": "statusCode", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.duration", + "type": "number", + "tags": [], + "label": "duration", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.external.$1.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db", + "type": "Function", + "tags": [], + "label": "db", + "description": [], + "signature": [ + "({ name, duration, type, statement, timestamp, }: { name: string; duration: number; type: \"elasticsearch\" | \"sqlite\" | \"redis\"; statement?: string | undefined; timestamp?: number | undefined; }) => void" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1", + "type": "Object", + "tags": [], + "label": "{\n name,\n duration,\n type,\n statement,\n timestamp = this.timestamp,\n }", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1.duration", + "type": "number", + "tags": [], + "label": "duration", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1.type", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"elasticsearch\" | \"sqlite\" | \"redis\"" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1.statement", + "type": "string", + "tags": [], + "label": "statement", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DistributedTrace.db.$1.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance", + "type": "Class", + "tags": [], + "label": "Instance", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Instance", + "text": "Instance" + }, + " extends ", + "Entity", + "<", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", + "text": "ApmFields" + }, + ">" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.transaction", + "type": "Function", + "tags": [], + "label": "transaction", + "description": [], + "signature": [ + "(...options: [string] | [string, string] | [{ transactionName: string; transactionType?: string | undefined; }]) => ", + "Transaction" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.transaction.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string] | [string, string] | [{ transactionName: string; transactionType?: string | undefined; }]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.span", + "type": "Function", + "tags": [], + "label": "span", + "description": [], + "signature": [ + "(...options: [string, string] | [string, string, string] | [", + "SpanParams", + "]) => ", + "Span" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.span.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string, string] | [string, string, string] | [", + "SpanParams", + "]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.error", + "type": "Function", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "({ message, type, groupingName, }: { message: string; type?: string | undefined; groupingName?: string | undefined; }) => ", + "ApmError" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.error.$1", + "type": "Object", + "tags": [], + "label": "{\n message,\n type,\n groupingName,\n }", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.error.$1.message", + "type": "string", + "tags": [], + "label": "message", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.error.$1.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.error.$1.groupingName", + "type": "string", + "tags": [], + "label": "groupingName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.containerId", + "type": "Function", + "tags": [], + "label": "containerId", + "description": [], + "signature": [ + "(containerId: string) => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.containerId.$1", + "type": "string", + "tags": [], + "label": "containerId", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.podId", + "type": "Function", + "tags": [], + "label": "podId", + "description": [], + "signature": [ + "(podId: string) => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.podId.$1", + "type": "string", + "tags": [], + "label": "podId", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.appMetrics", + "type": "Function", + "tags": [], + "label": "appMetrics", + "description": [], + "signature": [ + "(metrics: Partial<{ 'system.process.memory.size': number; 'system.memory.actual.free': number; 'system.memory.total': number; 'system.cpu.total.norm.pct': number; 'system.process.memory.rss.bytes': number; 'system.process.cpu.total.norm.pct': number; 'jvm.memory.heap.used': number; 'jvm.memory.non_heap.used': number; 'jvm.thread.count': number; 'faas.billed_duration': number; 'faas.timeout': number; 'faas.coldstart_duration': number; 'faas.duration': number; }>) => ", + "Metricset", + "<", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", + "text": "ApmFields" + }, + ">" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Instance.appMetrics.$1", + "type": "Object", + "tags": [], + "label": "metrics", + "description": [], + "signature": [ + "Partial<{ 'system.process.memory.size': number; 'system.memory.actual.free': number; 'system.memory.total': number; 'system.cpu.total.norm.pct': number; 'system.process.memory.rss.bytes': number; 'system.process.cpu.total.norm.pct': number; 'jvm.memory.heap.used': number; 'jvm.memory.non_heap.used': number; 'jvm.thread.count': number; 'faas.billed_duration': number; 'faas.timeout': number; 'faas.coldstart_duration': number; 'faas.duration': number; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice", + "type": "Class", + "tags": [], + "label": "MobileDevice", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.MobileDevice", + "text": "MobileDevice" + }, + " extends ", + "Entity", + "<", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", + "text": "ApmFields" + }, + ">" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.networkConnection", + "type": "Object", + "tags": [], + "label": "networkConnection", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.NetworkConnectionInfo", + "text": "NetworkConnectionInfo" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.Unnamed.$1", + "type": "CompoundType", + "tags": [], + "label": "fields", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", + "text": "ApmFields" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.deviceInfo", + "type": "Function", + "tags": [], + "label": "deviceInfo", + "description": [], + "signature": [ + "(...options: [string, string] | [string, string, string] | [", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DeviceInfo", + "text": "DeviceInfo" + }, + "]) => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.deviceInfo.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string, string] | [string, string, string] | [", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.DeviceInfo", + "text": "DeviceInfo" + }, + "]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.osInfo", + "type": "Function", + "tags": [], + "label": "osInfo", + "description": [], + "signature": [ + "(...options: [string, string] | [string, string, string] | [string, string, string, string] | [", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.OSInfo", + "text": "OSInfo" + }, + "]) => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.osInfo.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string, string] | [string, string, string] | [string, string, string, string] | [", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.OSInfo", + "text": "OSInfo" + }, + "]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.startNewSession", + "type": "Function", + "tags": [], + "label": "startNewSession", + "description": [], + "signature": [ + "() => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.setNetworkConnection", + "type": "Function", + "tags": [], + "label": "setNetworkConnection", + "description": [], + "signature": [ + "(networkInfo: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.NetworkConnectionInfo", + "text": "NetworkConnectionInfo" + }, + ") => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.setNetworkConnection.$1", + "type": "Object", + "tags": [], + "label": "networkInfo", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.NetworkConnectionInfo", + "text": "NetworkConnectionInfo" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.setGeoInfo", + "type": "Function", + "tags": [], + "label": "setGeoInfo", + "description": [], + "signature": [ + "(geoInfo: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.GeoInfo", + "text": "GeoInfo" + }, + ") => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.setGeoInfo.$1", + "type": "Object", + "tags": [], + "label": "geoInfo", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.GeoInfo", + "text": "GeoInfo" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.transaction", + "type": "Function", + "tags": [], + "label": "transaction", + "description": [], + "signature": [ + "(...options: [string] | [string, string] | [string, string, string] | [{ transactionName: string; frameworkName?: string | undefined; frameworkVersion?: string | undefined; }]) => ", + "Transaction" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.transaction.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string] | [string, string] | [string, string, string] | [{ transactionName: string; frameworkName?: string | undefined; frameworkVersion?: string | undefined; }]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.span", + "type": "Function", + "tags": [], + "label": "span", + "description": [], + "signature": [ + "(...options: [string, string] | [string, string, string] | [", + "SpanParams", + "]) => ", + "Span" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.span.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string, string] | [string, string, string] | [", + "SpanParams", + "]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.httpSpan", + "type": "Function", + "tags": [], + "label": "httpSpan", + "description": [], + "signature": [ + "(...options: [string, string, string] | [{ spanName: string; httpMethod: string; httpUrl: string; }]) => ", + "Span" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.MobileDevice.httpSpan.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "[string, string, string] | [{ spanName: string; httpMethod: string; httpUrl: string; }]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable", + "type": "Class", + "tags": [], + "label": "Serializable", + "description": [], + "signature": [ + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Serializable", + "text": "Serializable" + }, + " extends ", + "Entity", + "" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable.Unnamed.$1", + "type": "Uncategorized", + "tags": [], + "label": "fields", + "description": [], + "signature": [ + "TFields" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable.timestamp", + "type": "Function", + "tags": [], + "label": "timestamp", + "description": [], + "signature": [ + "(time: number) => this" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable.timestamp.$1", + "type": "number", + "tags": [], + "label": "time", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Serializable.serialize", + "type": "Function", + "tags": [], + "label": "serialize", + "description": [], + "signature": [ + "() => TFields[]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/serializable.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange", + "type": "Class", + "tags": [], + "label": "Timerange", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "from", + "description": [], + "signature": [ + "Date" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.Unnamed.$2", + "type": "Object", + "tags": [], + "label": "to", + "description": [], + "signature": [ + "Date" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.interval", + "type": "Function", + "tags": [], + "label": "interval", + "description": [], + "signature": [ + "(interval: string) => ", + "Interval", + "<{ '@timestamp'?: number | undefined; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.interval.$1", + "type": "string", + "tags": [], + "label": "interval", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.ratePerMinute", + "type": "Function", + "tags": [], + "label": "ratePerMinute", + "description": [], + "signature": [ + "(rate: number) => ", + "Interval", + "<{ '@timestamp'?: number | undefined; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Timerange.ratePerMinute.$1", + "type": "number", + "tags": [], + "label": "rate", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.appendHash", + "type": "Function", + "tags": [], + "label": "appendHash", + "description": [], + "signature": [ + "(hash: string, value: string) => string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.appendHash.$1", + "type": "string", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.appendHash.$2", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.dedot", + "type": "Function", + "tags": [], + "label": "dedot", + "description": [], + "signature": [ + "(source: Record, target: Record) => Record" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/dedot.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.dedot.$1", + "type": "Object", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "Record" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/dedot.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.dedot.$2", + "type": "Object", + "tags": [], + "label": "target", + "description": [], + "signature": [ + "Record" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/dedot.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.generateLongId", + "type": "Function", + "tags": [], + "label": "generateLongId", + "description": [], + "signature": [ + "(seed: string | undefined) => string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.generateLongId.$1", + "type": "string", + "tags": [], + "label": "seed", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.generateShortId", + "type": "Function", + "tags": [], + "label": "generateShortId", + "description": [], + "signature": [ + "(seed: string | undefined) => string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.generateShortId.$1", + "type": "string", + "tags": [], + "label": "seed", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.hashKeysOf", + "type": "Function", + "tags": [], + "label": "hashKeysOf", + "description": [], + "signature": [ + "(source: T, keys: (keyof T)[]) => string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.hashKeysOf.$1", + "type": "Uncategorized", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "T" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.hashKeysOf.$2", + "type": "Array", + "tags": [], + "label": "keys", + "description": [], + "signature": [ + "(keyof T)[]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan", + "type": "Function", + "tags": [], + "label": "httpExitSpan", + "description": [], + "signature": [ + "({\n spanName,\n destinationUrl,\n method = 'GET',\n statusCode = 200,\n}: { spanName: string; destinationUrl: string; method?: ", + "HttpMethod", + " | undefined; statusCode?: number | undefined; }) => ", + "SpanParams" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan.$1", + "type": "Object", + "tags": [], + "label": "{\n spanName,\n destinationUrl,\n method = 'GET',\n statusCode = 200,\n}", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan.$1.spanName", + "type": "string", + "tags": [], + "label": "spanName", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan.$1.destinationUrl", + "type": "string", + "tags": [], + "label": "destinationUrl", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan.$1.method", + "type": "CompoundType", + "tags": [], + "label": "method", + "description": [], + "signature": [ + "HttpMethod", + " | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.httpExitSpan.$1.statusCode", + "type": "number", + "tags": [], + "label": "statusCode", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.observer", + "type": "Function", + "tags": [], + "label": "observer", + "description": [], + "signature": [ + "() => ", + "Observer" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/agent_config/observer.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.parseInterval", + "type": "Function", + "tags": [], + "label": "parseInterval", + "description": [], + "signature": [ + "(interval: string) => { intervalAmount: number; intervalUnit: moment.unitOfTime.DurationConstructor; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/interval.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.parseInterval.$1", + "type": "string", + "tags": [], + "label": "interval", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/interval.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.timerange", + "type": "Function", + "tags": [], + "label": "timerange", + "description": [], + "signature": [ + "(from: number | Date, to: number | Date) => ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Timerange", + "text": "Timerange" + } + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.timerange.$1", + "type": "CompoundType", + "tags": [], + "label": "from", + "description": [], + "signature": [ + "number | Date" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.timerange.$2", + "type": "CompoundType", + "tags": [], + "label": "to", + "description": [], + "signature": [ + "number | Date" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/timerange.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DeviceInfo", + "type": "Interface", + "tags": [], + "label": "DeviceInfo", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DeviceInfo.manufacturer", + "type": "string", + "tags": [], + "label": "manufacturer", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DeviceInfo.modelIdentifier", + "type": "string", + "tags": [], + "label": "modelIdentifier", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.DeviceInfo.modelName", + "type": "string", + "tags": [], + "label": "modelName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo", + "type": "Interface", + "tags": [], + "label": "GeoInfo", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.clientIp", + "type": "string", + "tags": [], + "label": "clientIp", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.cityName", + "type": "string", + "tags": [], + "label": "cityName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.continentName", + "type": "string", + "tags": [], + "label": "continentName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.countryIsoCode", + "type": "string", + "tags": [], + "label": "countryIsoCode", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.countryName", + "type": "string", + "tags": [], + "label": "countryName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.regionName", + "type": "string", + "tags": [], + "label": "regionName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.regionIsoCode", + "type": "string", + "tags": [], + "label": "regionIsoCode", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.GeoInfo.location", + "type": "Object", + "tags": [], + "label": "location", + "description": [], + "signature": [ + "GeoLocation", + " | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo", + "type": "Interface", + "tags": [], + "label": "NetworkConnectionInfo", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.type", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"unknown\" | \"cell\" | \"unavailable\" | \"wifi\" | \"wired\"" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.subType", + "type": "string", + "tags": [], + "label": "subType", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.carrierName", + "type": "string", + "tags": [], + "label": "carrierName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.carrierMCC", + "type": "string", + "tags": [], + "label": "carrierMCC", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.carrierMNC", + "type": "string", + "tags": [], + "label": "carrierMNC", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.NetworkConnectionInfo.carrierICC", + "type": "string", + "tags": [], + "label": "carrierICC", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.OSInfo", + "type": "Interface", + "tags": [], + "label": "OSInfo", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.OSInfo.osType", + "type": "CompoundType", + "tags": [], + "label": "osType", + "description": [], + "signature": [ + "\"android\" | \"ios\"" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.OSInfo.osVersion", + "type": "string", + "tags": [], + "label": "osVersion", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.OSInfo.osFull", + "type": "string", + "tags": [], + "label": "osFull", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.OSInfo.runtimeVersion", + "type": "string", + "tags": [], + "label": "runtimeVersion", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.AgentConfigFields", + "type": "Type", + "tags": [], + "label": "AgentConfigFields", + "description": [], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.ApmFields", + "text": "ApmFields" + }, + ", \"@timestamp\" | \"metricset.name\" | \"ecs.version\" | \"event.ingested\" | \"observer.type\" | \"observer.version\" | \"observer.version_major\" | \"processor.event\" | \"processor.name\"> & Partial<{ 'labels.etag': string; agent_config_applied: number; 'event.agent_id_status': string; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config_fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.ApmFields", + "type": "Type", + "tags": [], + "label": "ApmFields", + "description": [], + "signature": [ + "{ '@timestamp'?: number | undefined; } & Partial<{ meta: { 'metricset.id': string; }; }> & Partial<{ 'timestamp.us'?: number | undefined; 'agent.name': string; 'agent.version': string; 'client.geo.city_name': string; 'client.geo.continent_name': string; 'client.geo.country_iso_code': string; 'client.geo.country_name': string; 'client.geo.location': ", + "GeoLocation", + "; 'client.geo.region_iso_code': string; 'client.geo.region_name': string; 'client.ip': string; 'cloud.account.id': string; 'cloud.account.name': string; 'cloud.availability_zone': string; 'cloud.machine.type': string; 'cloud.project.id': string; 'cloud.project.name': string; 'cloud.provider': string; 'cloud.region': string; 'cloud.service.name': string; 'container.id': string; 'destination.address': string; 'destination.port': number; 'device.id': string; 'device.manufacturer': string; 'device.model.identifier': string; 'device.model.name': string; 'ecs.version': string; 'error.exception': ", + "ApmException", + "[]; 'error.grouping_key': string; 'error.grouping_name': string; 'error.id': string; 'event.ingested': number; 'event.name': string; 'event.outcome': string; 'event.outcome_numeric': number | { sum: number; value_count: number; }; 'faas.coldstart': boolean; 'faas.execution': string; 'faas.id': string; 'faas.name': string; 'faas.trigger.type': string; 'faas.version': string; 'host.architecture': string; 'host.hostname': string; 'host.name': string; 'host.os.full': string; 'host.os.name': string; 'host.os.platform': string; 'host.os.type': string; 'host.os.version': string; 'http.request.method': string; 'http.response.status_code': number; 'kubernetes.pod.name': string; 'kubernetes.pod.uid': string; 'metricset.name': string; 'network.carrier.icc': string; 'network.carrier.mcc': string; 'network.carrier.mnc': string; 'network.carrier.name': string; 'network.connection.subtype': string; 'network.connection.type': string; 'observer.type': string; 'observer.version_major': number; 'observer.version': string; 'parent.id': string; 'processor.event': string; 'processor.name': string; 'session.id': string; 'trace.id': string; 'transaction.duration.us': number; 'transaction.id': string; 'transaction.name': string; 'transaction.type': string; 'transaction.duration.histogram': { values: number[]; counts: number[]; }; 'service.environment': string; 'service.framework.name': string; 'service.framework.version': string; 'service.language.name': string; 'service.language.version': string; 'service.name': string; 'service.node.name': string; 'service.runtime.name': string; 'service.runtime.version': string; 'service.target.name': string; 'service.target.type': string; 'service.version': string; 'span.action': string; 'span.destination.service.resource': string; 'span.destination.service.response_time.count': number; 'span.destination.service.response_time.sum.us': number; 'span.duration.us': number; 'span.id': string; 'span.name': string; 'span.self_time.count': number; 'span.self_time.sum.us': number; 'span.subtype': string; 'span.type': string; 'transaction.result': string; 'transaction.sampled': true; 'span.links': { trace: { id: string; }; span: { id: string; }; }[]; 'url.original': string; }> & Partial<{ 'system.process.memory.size': number; 'system.memory.actual.free': number; 'system.memory.total': number; 'system.cpu.total.norm.pct': number; 'system.process.memory.rss.bytes': number; 'system.process.cpu.total.norm.pct': number; 'jvm.memory.heap.used': number; 'jvm.memory.non_heap.used': number; 'jvm.thread.count': number; 'faas.billed_duration': number; 'faas.timeout': number; 'faas.coldstart_duration': number; 'faas.duration': number; }> & Partial<{ 'metricset.interval': string; 'transaction.duration.summary': string; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.ESDocumentWithOperation", + "type": "Type", + "tags": [], + "label": "ESDocumentWithOperation", + "description": [], + "signature": [ + "{ _index?: string | undefined; _action?: ", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.SynthtraceESAction", + "text": "SynthtraceESAction" + }, + " | undefined; } & TFields" + ], + "path": "packages/kbn-apm-synthtrace-client/src/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.Fields", + "type": "Type", + "tags": [], + "label": "Fields", + "description": [], + "signature": [ + "{ '@timestamp'?: number | undefined; } & (TMeta extends undefined ? {} : Partial<{ meta: TMeta; }>)" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/entity.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.SynthtraceESAction", + "type": "Type", + "tags": [], + "label": "SynthtraceESAction", + "description": [], + "signature": [ + "{ create: ", + "BulkCreateOperation", + "; } | { index: ", + "BulkIndexOperation", + "; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.SynthtraceGenerator", + "type": "Type", + "tags": [], + "label": "SynthtraceGenerator", + "description": [], + "signature": [ + "Generator<", + { + "pluginId": "@kbn/apm-synthtrace-client", + "scope": "common", + "docId": "kibKbnApmSynthtraceClientPluginApi", + "section": "def-common.Serializable", + "text": "Serializable" + }, + ", any, unknown>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm", + "type": "Object", + "tags": [], + "label": "apm", + "description": [], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.service", + "type": "Function", + "tags": [], + "label": "service", + "description": [], + "signature": [ + "{ (name: string, environment: string, agentName: string): ", + "Service", + "; (options: { name: string; environment: string; agentName: string; }): ", + "Service", + "; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.mobileApp", + "type": "Function", + "tags": [], + "label": "mobileApp", + "description": [], + "signature": [ + "{ (name: string, environment: string, agentName: MobileAgentName): ", + "MobileApp", + "; (options: { name: string; environment: string; agentName: MobileAgentName; }): ", + "MobileApp", + "; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.browser", + "type": "Function", + "tags": [], + "label": "browser", + "description": [], + "signature": [ + "({ serviceName, environment, userAgent, }: { serviceName: string; environment: string; userAgent: Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>; }) => ", + "Browser" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.browser.$1", + "type": "Object", + "tags": [], + "label": "__0", + "description": [], + "signature": [ + "{ serviceName: string; environment: string; userAgent: Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/browser.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.getChromeUserAgentDefaults", + "type": "Function", + "tags": [], + "label": "getChromeUserAgentDefaults", + "description": [], + "signature": [ + "() => Partial<{ 'user_agent.original': string; 'user_agent.os.name': string; 'user_agent.name': string; 'user_agent.device.name': string; 'user_agent.version': number; }>" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.serverlessFunction", + "type": "Function", + "tags": [], + "label": "serverlessFunction", + "description": [], + "signature": [ + "({ functionName, serviceName, environment, agentName, architecture, }: { functionName: string; environment: string; agentName: string; serviceName?: string | undefined; architecture?: string | undefined; }) => ", + "ServerlessFunction" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.apm.serverlessFunction.$1", + "type": "Object", + "tags": [], + "label": "__0", + "description": [], + "signature": [ + "{ functionName: string; environment: string; agentName: string; serviceName?: string | undefined; architecture?: string | undefined; }" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/apm/serverless_function.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx new file mode 100644 index 0000000000000..294123f44cf4e --- /dev/null +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -0,0 +1,42 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnApmSynthtraceClientPluginApi +slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client +title: "@kbn/apm-synthtrace-client" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/apm-synthtrace-client plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] +--- +import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; + +Elastic APM trace data generator + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 152 | 0 | 152 | 16 | + +## Common + +### Objects + + +### Functions + + +### Classes + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_apm_utils.devdocs.json b/api_docs/kbn_apm_utils.devdocs.json index 7152f8b316759..a2f6a020ccaba 100644 --- a/api_docs/kbn_apm_utils.devdocs.json +++ b/api_docs/kbn_apm_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.parseSpanOptions", + "id": "def-common.parseSpanOptions", "type": "Function", "tags": [], "label": "parseSpanOptions", @@ -22,17 +30,17 @@ "(optionsOrName: string | ", { "pluginId": "@kbn/apm-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnApmUtilsPluginApi", - "section": "def-server.SpanOptions", + "section": "def-common.SpanOptions", "text": "SpanOptions" }, ") => ", { "pluginId": "@kbn/apm-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnApmUtilsPluginApi", - "section": "def-server.SpanOptions", + "section": "def-common.SpanOptions", "text": "SpanOptions" } ], @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.parseSpanOptions.$1", + "id": "def-common.parseSpanOptions.$1", "type": "CompoundType", "tags": [], "label": "optionsOrName", @@ -51,9 +59,9 @@ "string | ", { "pluginId": "@kbn/apm-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnApmUtilsPluginApi", - "section": "def-server.SpanOptions", + "section": "def-common.SpanOptions", "text": "SpanOptions" } ], @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.withSpan", + "id": "def-common.withSpan", "type": "Function", "tags": [], "label": "withSpan", @@ -77,9 +85,9 @@ "(optionsOrName: string | ", { "pluginId": "@kbn/apm-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnApmUtilsPluginApi", - "section": "def-server.SpanOptions", + "section": "def-common.SpanOptions", "text": "SpanOptions" }, ", cb: (span?: ", @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.withSpan.$1", + "id": "def-common.withSpan.$1", "type": "CompoundType", "tags": [], "label": "optionsOrName", @@ -101,9 +109,9 @@ "string | ", { "pluginId": "@kbn/apm-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnApmUtilsPluginApi", - "section": "def-server.SpanOptions", + "section": "def-common.SpanOptions", "text": "SpanOptions" } ], @@ -114,7 +122,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.withSpan.$2", + "id": "def-common.withSpan.$2", "type": "Function", "tags": [], "label": "cb", @@ -137,7 +145,7 @@ "interfaces": [ { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions", + "id": "def-common.SpanOptions", "type": "Interface", "tags": [], "label": "SpanOptions", @@ -148,7 +156,7 @@ "children": [ { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions.name", + "id": "def-common.SpanOptions.name", "type": "string", "tags": [], "label": "name", @@ -159,7 +167,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions.type", + "id": "def-common.SpanOptions.type", "type": "string", "tags": [], "label": "type", @@ -173,7 +181,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions.subtype", + "id": "def-common.SpanOptions.subtype", "type": "string", "tags": [], "label": "subtype", @@ -187,7 +195,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions.labels", + "id": "def-common.SpanOptions.labels", "type": "Object", "tags": [], "label": "labels", @@ -201,7 +209,7 @@ }, { "parentPluginId": "@kbn/apm-utils", - "id": "def-server.SpanOptions.intercept", + "id": "def-common.SpanOptions.intercept", "type": "CompoundType", "tags": [], "label": "intercept", @@ -220,13 +228,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 1366a648dd3d5..dfee7d81e7a4b 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 11 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 6ff3179538d6b..b94af0b0cd2a2 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index ecace909e7067..0959716abc102 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index e1d0ef521bef2..14b2c20683f87 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.devdocs.json b/api_docs/kbn_ci_stats_core.devdocs.json index 2f0ac23f7ca6c..2f62e232dbb06 100644 --- a/api_docs/kbn_ci_stats_core.devdocs.json +++ b/api_docs/kbn_ci_stats_core.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.parseConfig", + "id": "def-common.parseConfig", "type": "Function", "tags": [], "label": "parseConfig", @@ -22,17 +30,17 @@ "(log: ", { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" }, ") => ", { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, " | undefined" @@ -43,7 +51,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.parseConfig.$1", + "id": "def-common.parseConfig.$1", "type": "Object", "tags": [], "label": "log", @@ -51,9 +59,9 @@ "signature": [ { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" } ], @@ -70,7 +78,7 @@ "interfaces": [ { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.CiStatsMetadata", + "id": "def-common.CiStatsMetadata", "type": "Interface", "tags": [], "label": "CiStatsMetadata", @@ -83,7 +91,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.CiStatsMetadata.Unnamed", + "id": "def-common.CiStatsMetadata.Unnamed", "type": "IndexSignature", "tags": [], "label": "[key: string]: string | number | boolean | string[] | undefined", @@ -102,7 +110,7 @@ }, { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.Config", + "id": "def-common.Config", "type": "Interface", "tags": [], "label": "Config", @@ -115,7 +123,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.Config.apiToken", + "id": "def-common.Config.apiToken", "type": "string", "tags": [], "label": "apiToken", @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/ci-stats-core", - "id": "def-server.Config.buildId", + "id": "def-common.Config.buildId", "type": "string", "tags": [], "label": "buildId", @@ -146,13 +154,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index dee1fb896401a..e7cdf7a9d2ae0 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 2 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_ci_stats_performance_metrics.devdocs.json b/api_docs/kbn_ci_stats_performance_metrics.devdocs.json index bc5d1bc3a9e5d..5caf5b925820a 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.devdocs.json +++ b/api_docs/kbn_ci_stats_performance_metrics.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/ci-stats-performance-metrics", - "id": "def-server.reporter", + "id": "def-common.reporter", "type": "Function", "tags": [], "label": "reporter", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-performance-metrics", - "id": "def-server.reporter.$1", + "id": "def-common.reporter.$1", "type": "Object", "tags": [], "label": "options", @@ -46,7 +54,7 @@ }, { "parentPluginId": "@kbn/ci-stats-performance-metrics", - "id": "def-server.runCli", + "id": "def-common.runCli", "type": "Function", "tags": [], "label": "runCli", @@ -66,13 +74,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 3566150bc24da..d644913d7397e 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 3 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_ci_stats_reporter.devdocs.json b/api_docs/kbn_ci_stats_reporter.devdocs.json index d43b7a22add37..f7fc0218d22d7 100644 --- a/api_docs/kbn_ci_stats_reporter.devdocs.json +++ b/api_docs/kbn_ci_stats_reporter.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter", + "id": "def-common.CiStatsReporter", "type": "Class", "tags": [], "label": "CiStatsReporter", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.fromEnv", + "id": "def-common.CiStatsReporter.fromEnv", "type": "Function", "tags": [], "label": "fromEnv", @@ -36,17 +44,17 @@ "(log: ", { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" }, ") => ", { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsReporter", + "section": "def-common.CiStatsReporter", "text": "CiStatsReporter" } ], @@ -56,7 +64,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.fromEnv.$1", + "id": "def-common.CiStatsReporter.fromEnv.$1", "type": "Object", "tags": [], "label": "log", @@ -64,9 +72,9 @@ "signature": [ { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" } ], @@ -80,7 +88,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.Unnamed", + "id": "def-common.CiStatsReporter.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -94,7 +102,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.Unnamed.$1", + "id": "def-common.CiStatsReporter.Unnamed.$1", "type": "Object", "tags": [], "label": "config", @@ -102,9 +110,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, " | undefined" @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.Unnamed.$2", + "id": "def-common.CiStatsReporter.Unnamed.$2", "type": "Object", "tags": [], "label": "log", @@ -124,9 +132,9 @@ "signature": [ { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" } ], @@ -140,7 +148,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.isEnabled", + "id": "def-common.CiStatsReporter.isEnabled", "type": "Function", "tags": [], "label": "isEnabled", @@ -158,7 +166,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.hasBuildConfig", + "id": "def-common.CiStatsReporter.hasBuildConfig", "type": "Function", "tags": [], "label": "hasBuildConfig", @@ -176,7 +184,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.timings", + "id": "def-common.CiStatsReporter.timings", "type": "Function", "tags": [], "label": "timings", @@ -187,9 +195,9 @@ "(options: ", { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.TimingsOptions", + "section": "def-common.TimingsOptions", "text": "TimingsOptions" }, ") => Promise" @@ -200,7 +208,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.timings.$1", + "id": "def-common.CiStatsReporter.timings.$1", "type": "Object", "tags": [], "label": "options", @@ -208,9 +216,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.TimingsOptions", + "section": "def-common.TimingsOptions", "text": "TimingsOptions" } ], @@ -224,7 +232,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.metrics", + "id": "def-common.CiStatsReporter.metrics", "type": "Function", "tags": [], "label": "metrics", @@ -235,17 +243,17 @@ "(metrics: ", { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsMetric", + "section": "def-common.CiStatsMetric", "text": "CiStatsMetric" }, "[], options?: ", { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.MetricsOptions", + "section": "def-common.MetricsOptions", "text": "MetricsOptions" }, " | undefined) => Promise" @@ -256,7 +264,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.metrics.$1", + "id": "def-common.CiStatsReporter.metrics.$1", "type": "Array", "tags": [], "label": "metrics", @@ -264,9 +272,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsMetric", + "section": "def-common.CiStatsMetric", "text": "CiStatsMetric" }, "[]" @@ -278,7 +286,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.metrics.$2", + "id": "def-common.CiStatsReporter.metrics.$2", "type": "Object", "tags": [], "label": "options", @@ -286,9 +294,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.MetricsOptions", + "section": "def-common.MetricsOptions", "text": "MetricsOptions" }, " | undefined" @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.reportTests", + "id": "def-common.CiStatsReporter.reportTests", "type": "Function", "tags": [], "label": "reportTests", @@ -314,9 +322,9 @@ "({ group, testRuns }: ", { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsReportTestsOptions", + "section": "def-common.CiStatsReportTestsOptions", "text": "CiStatsReportTestsOptions" }, ") => Promise" @@ -327,7 +335,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.reportTests.$1", + "id": "def-common.CiStatsReporter.reportTests.$1", "type": "Object", "tags": [], "label": "{ group, testRuns }", @@ -335,9 +343,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsReportTestsOptions", + "section": "def-common.CiStatsReportTestsOptions", "text": "CiStatsReportTestsOptions" } ], @@ -351,7 +359,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.reportPerformanceMetrics", + "id": "def-common.CiStatsReporter.reportPerformanceMetrics", "type": "Function", "tags": [], "label": "reportPerformanceMetrics", @@ -367,7 +375,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReporter.reportPerformanceMetrics.$1", + "id": "def-common.CiStatsReporter.reportPerformanceMetrics.$1", "type": "Object", "tags": [], "label": "metrics", @@ -390,7 +398,7 @@ "functions": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.getTimeReporter", + "id": "def-common.getTimeReporter", "type": "Function", "tags": [], "label": "getTimeReporter", @@ -399,9 +407,9 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", group: string) => (startTime: number, id: string, meta: Record) => Promise" @@ -412,7 +420,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.getTimeReporter.$1", + "id": "def-common.getTimeReporter.$1", "type": "Object", "tags": [], "label": "log", @@ -420,9 +428,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -433,7 +441,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.getTimeReporter.$2", + "id": "def-common.getTimeReporter.$2", "type": "string", "tags": [], "label": "group", @@ -454,7 +462,7 @@ "interfaces": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric", + "id": "def-common.CiStatsMetric", "type": "Interface", "tags": [], "label": "CiStatsMetric", @@ -467,7 +475,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.group", + "id": "def-common.CiStatsMetric.group", "type": "string", "tags": [], "label": "group", @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.id", + "id": "def-common.CiStatsMetric.id", "type": "string", "tags": [], "label": "id", @@ -493,7 +501,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.value", + "id": "def-common.CiStatsMetric.value", "type": "number", "tags": [], "label": "value", @@ -506,7 +514,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.limit", + "id": "def-common.CiStatsMetric.limit", "type": "number", "tags": [], "label": "limit", @@ -522,7 +530,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.limitConfigPath", + "id": "def-common.CiStatsMetric.limitConfigPath", "type": "string", "tags": [], "label": "limitConfigPath", @@ -538,7 +546,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsMetric.meta", + "id": "def-common.CiStatsMetric.meta", "type": "Object", "tags": [], "label": "meta", @@ -548,9 +556,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.CiStatsMetadata", + "section": "def-common.CiStatsMetadata", "text": "CiStatsMetadata" }, " | undefined" @@ -564,7 +572,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReportTestsOptions", + "id": "def-common.CiStatsReportTestsOptions", "type": "Interface", "tags": [], "label": "CiStatsReportTestsOptions", @@ -577,7 +585,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReportTestsOptions.group", + "id": "def-common.CiStatsReportTestsOptions.group", "type": "Object", "tags": [], "label": "group", @@ -587,9 +595,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsTestGroupInfo", + "section": "def-common.CiStatsTestGroupInfo", "text": "CiStatsTestGroupInfo" } ], @@ -599,7 +607,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsReportTestsOptions.testRuns", + "id": "def-common.CiStatsReportTestsOptions.testRuns", "type": "Array", "tags": [], "label": "testRuns", @@ -609,9 +617,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsTestRun", + "section": "def-common.CiStatsTestRun", "text": "CiStatsTestRun" }, "[]" @@ -625,7 +633,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo", + "id": "def-common.CiStatsTestGroupInfo", "type": "Interface", "tags": [], "label": "CiStatsTestGroupInfo", @@ -636,7 +644,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.startTime", + "id": "def-common.CiStatsTestGroupInfo.startTime", "type": "string", "tags": [], "label": "startTime", @@ -649,7 +657,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.durationMs", + "id": "def-common.CiStatsTestGroupInfo.durationMs", "type": "number", "tags": [], "label": "durationMs", @@ -662,7 +670,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.type", + "id": "def-common.CiStatsTestGroupInfo.type", "type": "string", "tags": [], "label": "type", @@ -675,7 +683,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.name", + "id": "def-common.CiStatsTestGroupInfo.name", "type": "string", "tags": [], "label": "name", @@ -688,7 +696,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.result", + "id": "def-common.CiStatsTestGroupInfo.result", "type": "CompoundType", "tags": [], "label": "result", @@ -704,7 +712,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestGroupInfo.meta", + "id": "def-common.CiStatsTestGroupInfo.meta", "type": "Object", "tags": [], "label": "meta", @@ -714,9 +722,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.CiStatsMetadata", + "section": "def-common.CiStatsMetadata", "text": "CiStatsMetadata" } ], @@ -729,7 +737,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun", + "id": "def-common.CiStatsTestRun", "type": "Interface", "tags": [], "label": "CiStatsTestRun", @@ -740,7 +748,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.startTime", + "id": "def-common.CiStatsTestRun.startTime", "type": "string", "tags": [], "label": "startTime", @@ -753,7 +761,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.durationMs", + "id": "def-common.CiStatsTestRun.durationMs", "type": "number", "tags": [], "label": "durationMs", @@ -766,7 +774,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.seq", + "id": "def-common.CiStatsTestRun.seq", "type": "number", "tags": [], "label": "seq", @@ -779,7 +787,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.type", + "id": "def-common.CiStatsTestRun.type", "type": "CompoundType", "tags": [], "label": "type", @@ -795,7 +803,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.result", + "id": "def-common.CiStatsTestRun.result", "type": "CompoundType", "tags": [], "label": "result", @@ -811,7 +819,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.suites", + "id": "def-common.CiStatsTestRun.suites", "type": "Array", "tags": [], "label": "suites", @@ -827,7 +835,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.name", + "id": "def-common.CiStatsTestRun.name", "type": "string", "tags": [], "label": "name", @@ -840,7 +848,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.file", + "id": "def-common.CiStatsTestRun.file", "type": "string", "tags": [], "label": "file", @@ -853,7 +861,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.error", + "id": "def-common.CiStatsTestRun.error", "type": "string", "tags": [], "label": "error", @@ -869,7 +877,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.stdout", + "id": "def-common.CiStatsTestRun.stdout", "type": "string", "tags": [], "label": "stdout", @@ -885,7 +893,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestRun.screenshots", + "id": "def-common.CiStatsTestRun.screenshots", "type": "Array", "tags": [], "label": "screenshots", @@ -904,7 +912,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTiming", + "id": "def-common.CiStatsTiming", "type": "Interface", "tags": [], "label": "CiStatsTiming", @@ -917,7 +925,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTiming.group", + "id": "def-common.CiStatsTiming.group", "type": "string", "tags": [], "label": "group", @@ -930,7 +938,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTiming.id", + "id": "def-common.CiStatsTiming.id", "type": "string", "tags": [], "label": "id", @@ -943,7 +951,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTiming.ms", + "id": "def-common.CiStatsTiming.ms", "type": "number", "tags": [], "label": "ms", @@ -956,7 +964,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTiming.meta", + "id": "def-common.CiStatsTiming.meta", "type": "Object", "tags": [], "label": "meta", @@ -966,9 +974,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.CiStatsMetadata", + "section": "def-common.CiStatsMetadata", "text": "CiStatsMetadata" }, " | undefined" @@ -982,7 +990,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.MetricsOptions", + "id": "def-common.MetricsOptions", "type": "Interface", "tags": [], "label": "MetricsOptions", @@ -995,7 +1003,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.MetricsOptions.defaultMeta", + "id": "def-common.MetricsOptions.defaultMeta", "type": "Object", "tags": [], "label": "defaultMeta", @@ -1005,9 +1013,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-core", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsCorePluginApi", - "section": "def-server.CiStatsMetadata", + "section": "def-common.CiStatsMetadata", "text": "CiStatsMetadata" }, " | undefined" @@ -1021,7 +1029,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.TimingsOptions", + "id": "def-common.TimingsOptions", "type": "Interface", "tags": [], "label": "TimingsOptions", @@ -1034,7 +1042,7 @@ "children": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.TimingsOptions.timings", + "id": "def-common.TimingsOptions.timings", "type": "Array", "tags": [], "label": "timings", @@ -1044,9 +1052,9 @@ "signature": [ { "pluginId": "@kbn/ci-stats-reporter", - "scope": "server", + "scope": "common", "docId": "kibKbnCiStatsReporterPluginApi", - "section": "def-server.CiStatsTiming", + "section": "def-common.CiStatsTiming", "text": "CiStatsTiming" }, "[]" @@ -1057,7 +1065,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.TimingsOptions.upstreamBranch", + "id": "def-common.TimingsOptions.upstreamBranch", "type": "string", "tags": [], "label": "upstreamBranch", @@ -1073,7 +1081,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.TimingsOptions.kibanaUuid", + "id": "def-common.TimingsOptions.kibanaUuid", "type": "CompoundType", "tags": [], "label": "kibanaUuid", @@ -1095,7 +1103,7 @@ "misc": [ { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestResult", + "id": "def-common.CiStatsTestResult", "type": "Type", "tags": [], "label": "CiStatsTestResult", @@ -1110,7 +1118,7 @@ }, { "parentPluginId": "@kbn/ci-stats-reporter", - "id": "def-server.CiStatsTestType", + "id": "def-common.CiStatsTestType", "type": "Type", "tags": [], "label": "CiStatsTestType", @@ -1125,13 +1133,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 7d2ae7281c73c..b68a74f4541f5 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; @@ -23,17 +23,17 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 62 | 0 | 17 | 1 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_cli_dev_mode.devdocs.json b/api_docs/kbn_cli_dev_mode.devdocs.json index 2f1b44dd52f5e..c37bb3fd626b3 100644 --- a/api_docs/kbn_cli_dev_mode.devdocs.json +++ b/api_docs/kbn_cli_dev_mode.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/cli-dev-mode", - "id": "def-server.bootstrapDevMode", + "id": "def-common.bootstrapDevMode", "type": "Function", "tags": [], "label": "bootstrapDevMode", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/cli-dev-mode", - "id": "def-server.bootstrapDevMode.$1", + "id": "def-common.bootstrapDevMode.$1", "type": "Object", "tags": [], "label": "{ configs, cliArgs, applyConfigOverrides }", @@ -49,13 +57,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index bb386b5d9ba94..6412436fbd71f 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 2 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index fbfd51c700a58..2d85899bd6932 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.devdocs.json b/api_docs/kbn_config.devdocs.json index bc31f6ba45c46..29abb2853e111 100644 --- a/api_docs/kbn_config.devdocs.json +++ b/api_docs/kbn_config.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/config", - "id": "def-server.Env", + "id": "def-common.Env", "type": "Class", "tags": [], "label": "Env", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.Env.packageInfo", + "id": "def-common.Env.packageInfo", "type": "Object", "tags": [], "label": "packageInfo", @@ -39,7 +47,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.Env.mode", + "id": "def-common.Env.mode", "type": "Object", "tags": [], "label": "mode", @@ -60,7 +68,7 @@ "functions": [ { "parentPluginId": "@kbn/config", - "id": "def-server.hasConfigPathIntersection", + "id": "def-common.hasConfigPathIntersection", "type": "Function", "tags": [], "label": "hasConfigPathIntersection", @@ -74,7 +82,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.hasConfigPathIntersection.$1", + "id": "def-common.hasConfigPathIntersection.$1", "type": "string", "tags": [], "label": "leafPath", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.hasConfigPathIntersection.$2", + "id": "def-common.hasConfigPathIntersection.$2", "type": "string", "tags": [], "label": "rootPath", @@ -108,7 +116,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.isConfigPath", + "id": "def-common.isConfigPath", "type": "Function", "tags": [], "label": "isConfigPath", @@ -124,7 +132,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.isConfigPath.$1", + "id": "def-common.isConfigPath.$1", "type": "Unknown", "tags": [], "label": "value", @@ -147,7 +155,7 @@ "interfaces": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ChangedDeprecatedPaths", + "id": "def-common.ChangedDeprecatedPaths", "type": "Interface", "tags": [], "label": "ChangedDeprecatedPaths", @@ -160,7 +168,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ChangedDeprecatedPaths.set", + "id": "def-common.ChangedDeprecatedPaths.set", "type": "Array", "tags": [], "label": "set", @@ -174,7 +182,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ChangedDeprecatedPaths.unset", + "id": "def-common.ChangedDeprecatedPaths.unset", "type": "Array", "tags": [], "label": "unset", @@ -191,7 +199,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationCommand", + "id": "def-common.ConfigDeprecationCommand", "type": "Interface", "tags": [], "label": "ConfigDeprecationCommand", @@ -204,7 +212,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationCommand.set", + "id": "def-common.ConfigDeprecationCommand.set", "type": "Array", "tags": [], "label": "set", @@ -218,7 +226,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationCommand.unset", + "id": "def-common.ConfigDeprecationCommand.unset", "type": "Array", "tags": [], "label": "unset", @@ -235,7 +243,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationContext", + "id": "def-common.ConfigDeprecationContext", "type": "Interface", "tags": [], "label": "ConfigDeprecationContext", @@ -248,7 +256,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationContext.version", + "id": "def-common.ConfigDeprecationContext.version", "type": "string", "tags": [], "label": "version", @@ -261,7 +269,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationContext.branch", + "id": "def-common.ConfigDeprecationContext.branch", "type": "string", "tags": [], "label": "branch", @@ -274,7 +282,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationContext.docLinks", + "id": "def-common.ConfigDeprecationContext.docLinks", "type": "Object", "tags": [], "label": "docLinks", @@ -299,7 +307,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory", + "id": "def-common.ConfigDeprecationFactory", "type": "Interface", "tags": [], "label": "ConfigDeprecationFactory", @@ -312,7 +320,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecate", + "id": "def-common.ConfigDeprecationFactory.deprecate", "type": "Function", "tags": [], "label": "deprecate", @@ -325,9 +333,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -337,7 +345,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecate.$1", + "id": "def-common.ConfigDeprecationFactory.deprecate.$1", "type": "string", "tags": [], "label": "deprecatedKey", @@ -352,7 +360,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecate.$2", + "id": "def-common.ConfigDeprecationFactory.deprecate.$2", "type": "string", "tags": [], "label": "removeBy", @@ -367,7 +375,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecate.$3", + "id": "def-common.ConfigDeprecationFactory.deprecate.$3", "type": "CompoundType", "tags": [], "label": "details", @@ -385,7 +393,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecateFromRoot", + "id": "def-common.ConfigDeprecationFactory.deprecateFromRoot", "type": "Function", "tags": [], "label": "deprecateFromRoot", @@ -398,9 +406,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -410,7 +418,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecateFromRoot.$1", + "id": "def-common.ConfigDeprecationFactory.deprecateFromRoot.$1", "type": "string", "tags": [], "label": "deprecatedKey", @@ -425,7 +433,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecateFromRoot.$2", + "id": "def-common.ConfigDeprecationFactory.deprecateFromRoot.$2", "type": "string", "tags": [], "label": "removeBy", @@ -440,7 +448,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.deprecateFromRoot.$3", + "id": "def-common.ConfigDeprecationFactory.deprecateFromRoot.$3", "type": "CompoundType", "tags": [], "label": "details", @@ -458,7 +466,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.rename", + "id": "def-common.ConfigDeprecationFactory.rename", "type": "Function", "tags": [], "label": "rename", @@ -471,9 +479,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -483,7 +491,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.rename.$1", + "id": "def-common.ConfigDeprecationFactory.rename.$1", "type": "string", "tags": [], "label": "oldKey", @@ -498,7 +506,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.rename.$2", + "id": "def-common.ConfigDeprecationFactory.rename.$2", "type": "string", "tags": [], "label": "newKey", @@ -513,7 +521,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.rename.$3", + "id": "def-common.ConfigDeprecationFactory.rename.$3", "type": "CompoundType", "tags": [], "label": "details", @@ -531,7 +539,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.renameFromRoot", + "id": "def-common.ConfigDeprecationFactory.renameFromRoot", "type": "Function", "tags": [], "label": "renameFromRoot", @@ -544,9 +552,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -556,7 +564,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.renameFromRoot.$1", + "id": "def-common.ConfigDeprecationFactory.renameFromRoot.$1", "type": "string", "tags": [], "label": "oldKey", @@ -571,7 +579,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.renameFromRoot.$2", + "id": "def-common.ConfigDeprecationFactory.renameFromRoot.$2", "type": "string", "tags": [], "label": "newKey", @@ -586,7 +594,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.renameFromRoot.$3", + "id": "def-common.ConfigDeprecationFactory.renameFromRoot.$3", "type": "CompoundType", "tags": [], "label": "details", @@ -604,7 +612,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unused", + "id": "def-common.ConfigDeprecationFactory.unused", "type": "Function", "tags": [], "label": "unused", @@ -617,9 +625,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -629,7 +637,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unused.$1", + "id": "def-common.ConfigDeprecationFactory.unused.$1", "type": "string", "tags": [], "label": "unusedKey", @@ -644,7 +652,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unused.$2", + "id": "def-common.ConfigDeprecationFactory.unused.$2", "type": "CompoundType", "tags": [], "label": "details", @@ -662,7 +670,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unusedFromRoot", + "id": "def-common.ConfigDeprecationFactory.unusedFromRoot", "type": "Function", "tags": [], "label": "unusedFromRoot", @@ -675,9 +683,9 @@ ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" } ], @@ -687,7 +695,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unusedFromRoot.$1", + "id": "def-common.ConfigDeprecationFactory.unusedFromRoot.$1", "type": "string", "tags": [], "label": "unusedKey", @@ -702,7 +710,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationFactory.unusedFromRoot.$2", + "id": "def-common.ConfigDeprecationFactory.unusedFromRoot.$2", "type": "CompoundType", "tags": [], "label": "details", @@ -723,7 +731,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails", + "id": "def-common.DeprecatedConfigDetails", "type": "Interface", "tags": [], "label": "DeprecatedConfigDetails", @@ -736,7 +744,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.configPath", + "id": "def-common.DeprecatedConfigDetails.configPath", "type": "string", "tags": [], "label": "configPath", @@ -749,7 +757,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.title", + "id": "def-common.DeprecatedConfigDetails.title", "type": "string", "tags": [], "label": "title", @@ -765,7 +773,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.message", + "id": "def-common.DeprecatedConfigDetails.message", "type": "string", "tags": [], "label": "message", @@ -778,7 +786,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.level", + "id": "def-common.DeprecatedConfigDetails.level", "type": "CompoundType", "tags": [], "label": "level", @@ -794,7 +802,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.silent", + "id": "def-common.DeprecatedConfigDetails.silent", "type": "CompoundType", "tags": [], "label": "silent", @@ -810,7 +818,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.documentationUrl", + "id": "def-common.DeprecatedConfigDetails.documentationUrl", "type": "string", "tags": [], "label": "documentationUrl", @@ -826,7 +834,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.DeprecatedConfigDetails.correctiveActions", + "id": "def-common.DeprecatedConfigDetails.correctiveActions", "type": "Object", "tags": [], "label": "correctiveActions", @@ -845,7 +853,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.EnvironmentMode", + "id": "def-common.EnvironmentMode", "type": "Interface", "tags": [], "label": "EnvironmentMode", @@ -856,7 +864,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.EnvironmentMode.name", + "id": "def-common.EnvironmentMode.name", "type": "CompoundType", "tags": [], "label": "name", @@ -870,7 +878,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.EnvironmentMode.dev", + "id": "def-common.EnvironmentMode.dev", "type": "boolean", "tags": [], "label": "dev", @@ -881,7 +889,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.EnvironmentMode.prod", + "id": "def-common.EnvironmentMode.prod", "type": "boolean", "tags": [], "label": "prod", @@ -895,7 +903,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo", + "id": "def-common.PackageInfo", "type": "Interface", "tags": [], "label": "PackageInfo", @@ -906,7 +914,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo.version", + "id": "def-common.PackageInfo.version", "type": "string", "tags": [], "label": "version", @@ -917,7 +925,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo.branch", + "id": "def-common.PackageInfo.branch", "type": "string", "tags": [], "label": "branch", @@ -928,7 +936,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo.buildNum", + "id": "def-common.PackageInfo.buildNum", "type": "number", "tags": [], "label": "buildNum", @@ -939,7 +947,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo.buildSha", + "id": "def-common.PackageInfo.buildSha", "type": "string", "tags": [], "label": "buildSha", @@ -950,7 +958,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.PackageInfo.dist", + "id": "def-common.PackageInfo.dist", "type": "boolean", "tags": [], "label": "dist", @@ -967,7 +975,7 @@ "misc": [ { "parentPluginId": "@kbn/config", - "id": "def-server.AddConfigDeprecation", + "id": "def-common.AddConfigDeprecation", "type": "Type", "tags": [], "label": "AddConfigDeprecation", @@ -978,9 +986,9 @@ "(details: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, ") => void" @@ -992,7 +1000,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.AddConfigDeprecation.$1", + "id": "def-common.AddConfigDeprecation.$1", "type": "Object", "tags": [], "label": "details", @@ -1000,9 +1008,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" } ], @@ -1015,7 +1023,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation", + "id": "def-common.ConfigDeprecation", "type": "Type", "tags": [], "label": "ConfigDeprecation", @@ -1026,25 +1034,25 @@ "(config: Readonly<{ [x: string]: any; }>, fromPath: string, addDeprecation: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.AddConfigDeprecation", + "section": "def-common.AddConfigDeprecation", "text": "AddConfigDeprecation" }, ", context: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" }, ") => void | ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationCommand", + "section": "def-common.ConfigDeprecationCommand", "text": "ConfigDeprecationCommand" } ], @@ -1055,7 +1063,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation.$1", + "id": "def-common.ConfigDeprecation.$1", "type": "Object", "tags": [], "label": "config", @@ -1071,7 +1079,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation.$2", + "id": "def-common.ConfigDeprecation.$2", "type": "string", "tags": [], "label": "fromPath", @@ -1082,7 +1090,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation.$3", + "id": "def-common.ConfigDeprecation.$3", "type": "Function", "tags": [], "label": "addDeprecation", @@ -1091,9 +1099,9 @@ "(details: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, ") => void" @@ -1105,7 +1113,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation.$3.$1", + "id": "def-common.ConfigDeprecation.$3.$1", "type": "Object", "tags": [], "label": "details", @@ -1113,9 +1121,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" } ], @@ -1127,7 +1135,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecation.$4", + "id": "def-common.ConfigDeprecation.$4", "type": "Object", "tags": [], "label": "context", @@ -1135,9 +1143,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" } ], @@ -1150,7 +1158,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationProvider", + "id": "def-common.ConfigDeprecationProvider", "type": "Type", "tags": [], "label": "ConfigDeprecationProvider", @@ -1161,17 +1169,17 @@ "(factory: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" }, ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -1183,7 +1191,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigDeprecationProvider.$1", + "id": "def-common.ConfigDeprecationProvider.$1", "type": "Object", "tags": [], "label": "factory", @@ -1191,9 +1199,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" } ], @@ -1206,7 +1214,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.ConfigPath", + "id": "def-common.ConfigPath", "type": "Type", "tags": [], "label": "ConfigPath", @@ -1221,7 +1229,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.RawConfigAdapter", + "id": "def-common.RawConfigAdapter", "type": "Type", "tags": [], "label": "RawConfigAdapter", @@ -1236,7 +1244,7 @@ "children": [ { "parentPluginId": "@kbn/config", - "id": "def-server.RawConfigAdapter.$1", + "id": "def-common.RawConfigAdapter.$1", "type": "Object", "tags": [], "label": "rawConfig", @@ -1253,7 +1261,7 @@ }, { "parentPluginId": "@kbn/config", - "id": "def-server.RawConfigurationProvider", + "id": "def-common.RawConfigurationProvider", "type": "Type", "tags": [], "label": "RawConfigurationProvider", @@ -1270,13 +1278,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index d34657ff4e847..0649c3d10f983 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 73 | 0 | 44 | 9 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_config_mocks.devdocs.json b/api_docs/kbn_config_mocks.devdocs.json index 5e1b5d32aa4b4..800e030c8cac8 100644 --- a/api_docs/kbn_config_mocks.devdocs.json +++ b/api_docs/kbn_config_mocks.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestEnv", + "id": "def-common.createTestEnv", "type": "Function", "tags": [], "label": "createTestEnv", @@ -26,9 +34,9 @@ " | undefined; }) => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.Env", + "section": "def-common.Env", "text": "Env" } ], @@ -38,7 +46,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestEnv.$1", + "id": "def-common.createTestEnv.$1", "type": "Object", "tags": [], "label": "{\n repoRoot = REPO_ROOT,\n envOptions = getEnvOptions(),\n packageInfo = createTestPackageInfo(),\n}", @@ -49,7 +57,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestEnv.$1.repoRoot", + "id": "def-common.createTestEnv.$1.repoRoot", "type": "string", "tags": [], "label": "repoRoot", @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestEnv.$1.envOptions", + "id": "def-common.createTestEnv.$1.envOptions", "type": "Object", "tags": [], "label": "envOptions", @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestEnv.$1.packageInfo", + "id": "def-common.createTestEnv.$1.packageInfo", "type": "Object", "tags": [], "label": "packageInfo", @@ -99,7 +107,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestPackageInfo", + "id": "def-common.createTestPackageInfo", "type": "Function", "tags": [], "label": "createTestPackageInfo", @@ -114,7 +122,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestPackageInfo.$1", + "id": "def-common.createTestPackageInfo.$1", "type": "Object", "tags": [], "label": "{ dist = true }", @@ -125,7 +133,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.createTestPackageInfo.$1.dist", + "id": "def-common.createTestPackageInfo.$1.dist", "type": "CompoundType", "tags": [], "label": "dist", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.getEnvOptions", + "id": "def-common.getEnvOptions", "type": "Function", "tags": [], "label": "getEnvOptions", @@ -162,7 +170,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.getEnvOptions.$1", + "id": "def-common.getEnvOptions.$1", "type": "Object", "tags": [], "label": "options", @@ -187,7 +195,7 @@ "misc": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.ConfigDeprecationContextMock", + "id": "def-common.ConfigDeprecationContextMock", "type": "Type", "tags": [], "label": "ConfigDeprecationContextMock", @@ -195,9 +203,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" } ], @@ -208,7 +216,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.ConfigMock", + "id": "def-common.ConfigMock", "type": "Type", "tags": [], "label": "ConfigMock", @@ -217,25 +225,25 @@ "{ has: jest.MockInstance; get: jest.MockInstance; set: jest.MockInstance; getFlattenedPaths: jest.MockInstance; toRaw: jest.MockInstance, []>; } & ", @@ -248,7 +256,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.IConfigServiceMock", + "id": "def-common.IConfigServiceMock", "type": "Type", "tags": [], "label": "IConfigServiceMock", @@ -263,41 +271,41 @@ ">, []>; setSchema: jest.MockInstance]>; addDeprecationProvider: jest.MockInstance; getHandledDeprecatedConfigs: jest.MockInstance<[string, ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.DeprecatedConfigDetails", + "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, "[]][], []>; atPath: jest.MockInstance<", @@ -305,25 +313,25 @@ ", [path: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigPath", + "section": "def-common.ConfigPath", "text": "ConfigPath" }, "]>; atPathSync: jest.MockInstance; isEnabledAtPath: jest.MockInstance, [path: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigPath", + "section": "def-common.ConfigPath", "text": "ConfigPath" }, "]>; getUnusedPaths: jest.MockInstance, []>; getUsedPaths: jest.MockInstance, []>; getDeprecatedConfigPath$: jest.MockInstance<", @@ -331,9 +339,9 @@ "<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ChangedDeprecatedPaths", + "section": "def-common.ChangedDeprecatedPaths", "text": "ChangedDeprecatedPaths" }, ">, []>; } & ", @@ -346,7 +354,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.RawConfigServiceMock", + "id": "def-common.RawConfigServiceMock", "type": "Type", "tags": [], "label": "RawConfigServiceMock", @@ -357,9 +365,9 @@ ">, []>; loadConfig: jest.MockInstance; reloadConfig: jest.MockInstance; } & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", @@ -375,7 +383,7 @@ "objects": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configDeprecationsMock", + "id": "def-common.configDeprecationsMock", "type": "Object", "tags": [], "label": "configDeprecationsMock", @@ -386,7 +394,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configDeprecationsMock.createContext", + "id": "def-common.configDeprecationsMock.createContext", "type": "Function", "tags": [], "label": "createContext", @@ -395,9 +403,9 @@ "() => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationContext", + "section": "def-common.ConfigDeprecationContext", "text": "ConfigDeprecationContext" } ], @@ -412,7 +420,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configMock", + "id": "def-common.configMock", "type": "Object", "tags": [], "label": "configMock", @@ -423,7 +431,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configMock.create", + "id": "def-common.configMock.create", "type": "Function", "tags": [], "label": "create", @@ -432,9 +440,9 @@ "() => ", { "pluginId": "@kbn/config-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigMocksPluginApi", - "section": "def-server.ConfigMock", + "section": "def-common.ConfigMock", "text": "ConfigMock" } ], @@ -449,7 +457,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configServiceMock", + "id": "def-common.configServiceMock", "type": "Object", "tags": [], "label": "configServiceMock", @@ -460,7 +468,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configServiceMock.create", + "id": "def-common.configServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -469,9 +477,9 @@ "({ atPath, getConfig$, }?: { atPath?: Record | undefined; getConfig$?: Record | undefined; }) => ", { "pluginId": "@kbn/config-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigMocksPluginApi", - "section": "def-server.IConfigServiceMock", + "section": "def-common.IConfigServiceMock", "text": "IConfigServiceMock" } ], @@ -482,7 +490,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.configServiceMock.create.$1", + "id": "def-common.configServiceMock.create.$1", "type": "Object", "tags": [], "label": "__0", @@ -501,7 +509,7 @@ }, { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.rawConfigServiceMock", + "id": "def-common.rawConfigServiceMock", "type": "Object", "tags": [], "label": "rawConfigServiceMock", @@ -512,7 +520,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.rawConfigServiceMock.create", + "id": "def-common.rawConfigServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -523,9 +531,9 @@ "> | undefined; }) => ", { "pluginId": "@kbn/config-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigMocksPluginApi", - "section": "def-server.RawConfigServiceMock", + "section": "def-common.RawConfigServiceMock", "text": "RawConfigServiceMock" } ], @@ -536,7 +544,7 @@ "children": [ { "parentPluginId": "@kbn/config-mocks", - "id": "def-server.rawConfigServiceMock.create.$1", + "id": "def-common.rawConfigServiceMock.create.$1", "type": "Object", "tags": [], "label": "__0", @@ -556,13 +564,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index f0d0ca3469768..3be8481e20f34 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 24 | 0 | 24 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_config_schema.devdocs.json b/api_docs/kbn_config_schema.devdocs.json index fba38fe0d44cc..402ab48e1bebc 100644 --- a/api_docs/kbn_config_schema.devdocs.json +++ b/api_docs/kbn_config_schema.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType", + "id": "def-common.AnyType", "type": "Class", "tags": [], "label": "AnyType", @@ -20,17 +28,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.AnyType", + "section": "def-common.AnyType", "text": "AnyType" }, " extends ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -41,7 +49,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType.Unnamed", + "id": "def-common.AnyType.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -55,7 +63,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType.Unnamed.$1", + "id": "def-common.AnyType.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -74,7 +82,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType.handleError", + "id": "def-common.AnyType.handleError", "type": "Function", "tags": [], "label": "handleError", @@ -88,7 +96,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType.handleError.$1", + "id": "def-common.AnyType.handleError.$1", "type": "string", "tags": [], "label": "type", @@ -103,7 +111,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.AnyType.handleError.$2", + "id": "def-common.AnyType.handleError.$2", "type": "Object", "tags": [], "label": "{ value }", @@ -124,7 +132,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue", + "id": "def-common.ByteSizeValue", "type": "Class", "tags": [], "label": "ByteSizeValue", @@ -135,7 +143,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.parse", + "id": "def-common.ByteSizeValue.parse", "type": "Function", "tags": [], "label": "parse", @@ -144,9 +152,9 @@ "(text: string) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -156,7 +164,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.parse.$1", + "id": "def-common.ByteSizeValue.parse.$1", "type": "string", "tags": [], "label": "text", @@ -174,7 +182,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.Unnamed", + "id": "def-common.ByteSizeValue.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -188,7 +196,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.Unnamed.$1", + "id": "def-common.ByteSizeValue.Unnamed.$1", "type": "number", "tags": [], "label": "valueInBytes", @@ -206,7 +214,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isGreaterThan", + "id": "def-common.ByteSizeValue.isGreaterThan", "type": "Function", "tags": [], "label": "isGreaterThan", @@ -215,9 +223,9 @@ "(other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean" @@ -228,7 +236,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isGreaterThan.$1", + "id": "def-common.ByteSizeValue.isGreaterThan.$1", "type": "Object", "tags": [], "label": "other", @@ -236,9 +244,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -252,7 +260,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isLessThan", + "id": "def-common.ByteSizeValue.isLessThan", "type": "Function", "tags": [], "label": "isLessThan", @@ -261,9 +269,9 @@ "(other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean" @@ -274,7 +282,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isLessThan.$1", + "id": "def-common.ByteSizeValue.isLessThan.$1", "type": "Object", "tags": [], "label": "other", @@ -282,9 +290,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -298,7 +306,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isEqualTo", + "id": "def-common.ByteSizeValue.isEqualTo", "type": "Function", "tags": [], "label": "isEqualTo", @@ -307,9 +315,9 @@ "(other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean" @@ -320,7 +328,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.isEqualTo.$1", + "id": "def-common.ByteSizeValue.isEqualTo.$1", "type": "Object", "tags": [], "label": "other", @@ -328,9 +336,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -344,7 +352,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.getValueInBytes", + "id": "def-common.ByteSizeValue.getValueInBytes", "type": "Function", "tags": [], "label": "getValueInBytes", @@ -360,7 +368,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.toString", + "id": "def-common.ByteSizeValue.toString", "type": "Function", "tags": [], "label": "toString", @@ -376,7 +384,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ByteSizeValue.toString.$1", + "id": "def-common.ByteSizeValue.toString.$1", "type": "CompoundType", "tags": [], "label": "returnUnit", @@ -398,7 +406,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType", + "id": "def-common.ConditionalType", "type": "Class", "tags": [], "label": "ConditionalType", @@ -406,17 +414,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, " extends ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -427,7 +435,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed", + "id": "def-common.ConditionalType.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -441,7 +449,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed.$1", + "id": "def-common.ConditionalType.Unnamed.$1", "type": "Object", "tags": [], "label": "leftOperand", @@ -457,7 +465,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed.$2", + "id": "def-common.ConditionalType.Unnamed.$2", "type": "CompoundType", "tags": [], "label": "rightOperand", @@ -468,9 +476,9 @@ " | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -482,7 +490,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed.$3", + "id": "def-common.ConditionalType.Unnamed.$3", "type": "Object", "tags": [], "label": "equalType", @@ -490,9 +498,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -504,7 +512,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed.$4", + "id": "def-common.ConditionalType.Unnamed.$4", "type": "Object", "tags": [], "label": "notEqualType", @@ -512,9 +520,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -526,7 +534,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.Unnamed.$5", + "id": "def-common.ConditionalType.Unnamed.$5", "type": "Object", "tags": [], "label": "options", @@ -545,7 +553,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.handleError", + "id": "def-common.ConditionalType.handleError", "type": "Function", "tags": [], "label": "handleError", @@ -559,7 +567,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.handleError.$1", + "id": "def-common.ConditionalType.handleError.$1", "type": "string", "tags": [], "label": "type", @@ -574,7 +582,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ConditionalType.handleError.$2", + "id": "def-common.ConditionalType.handleError.$2", "type": "Object", "tags": [], "label": "{ value }", @@ -595,7 +603,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType", + "id": "def-common.ObjectType", "type": "Class", "tags": [], "label": "ObjectType", @@ -603,33 +611,33 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "

extends ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "]?: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.TypeOf", + "section": "def-common.TypeOf", "text": "TypeOf" }, " | undefined; } & { [K in keyof RequiredProperties

]: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.TypeOf", + "section": "def-common.TypeOf", "text": "TypeOf" }, "; }>>" @@ -640,7 +648,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.Unnamed", + "id": "def-common.ObjectType.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -654,7 +662,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.Unnamed.$1", + "id": "def-common.ObjectType.Unnamed.$1", "type": "Uncategorized", "tags": [], "label": "props", @@ -669,7 +677,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.Unnamed.$2", + "id": "def-common.ObjectType.Unnamed.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -688,7 +696,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.extends", + "id": "def-common.ObjectType.extends", "type": "Function", "tags": [], "label": "extends", @@ -699,9 +707,9 @@ "(newProps: NP, newOptions?: ExtendedObjectTypeOptions | undefined) => ExtendedObjectType" @@ -712,7 +720,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.extends.$1", + "id": "def-common.ObjectType.extends.$1", "type": "Uncategorized", "tags": [], "label": "newProps", @@ -727,7 +735,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.extends.$2", + "id": "def-common.ObjectType.extends.$2", "type": "CompoundType", "tags": [], "label": "newOptions", @@ -745,7 +753,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.handleError", + "id": "def-common.ObjectType.handleError", "type": "Function", "tags": [], "label": "handleError", @@ -759,7 +767,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.handleError.$1", + "id": "def-common.ObjectType.handleError.$1", "type": "string", "tags": [], "label": "type", @@ -774,7 +782,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.handleError.$2", + "id": "def-common.ObjectType.handleError.$2", "type": "Object", "tags": [], "label": "{ reason, value }", @@ -792,7 +800,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.validateKey", + "id": "def-common.ObjectType.validateKey", "type": "Function", "tags": [], "label": "validateKey", @@ -806,7 +814,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.validateKey.$1", + "id": "def-common.ObjectType.validateKey.$1", "type": "string", "tags": [], "label": "key", @@ -821,7 +829,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ObjectType.validateKey.$2", + "id": "def-common.ObjectType.validateKey.$2", "type": "Any", "tags": [], "label": "value", @@ -842,7 +850,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaTypeError", + "id": "def-common.SchemaTypeError", "type": "Class", "tags": [], "label": "SchemaTypeError", @@ -850,9 +858,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaTypeError", + "section": "def-common.SchemaTypeError", "text": "SchemaTypeError" }, " extends ", @@ -864,7 +872,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaTypeError.Unnamed", + "id": "def-common.SchemaTypeError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -878,7 +886,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaTypeError.Unnamed.$1", + "id": "def-common.SchemaTypeError.Unnamed.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -893,7 +901,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaTypeError.Unnamed.$2", + "id": "def-common.SchemaTypeError.Unnamed.$2", "type": "Array", "tags": [], "label": "path", @@ -914,7 +922,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type", + "id": "def-common.Type", "type": "Class", "tags": [], "label": "Type", @@ -922,9 +930,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -935,7 +943,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.type", + "id": "def-common.Type.type", "type": "Uncategorized", "tags": [], "label": "type", @@ -949,7 +957,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.__isKbnConfigSchemaType", + "id": "def-common.Type.__isKbnConfigSchemaType", "type": "boolean", "tags": [], "label": "__isKbnConfigSchemaType", @@ -963,7 +971,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.internalSchema", + "id": "def-common.Type.internalSchema", "type": "Object", "tags": [ "type" @@ -981,7 +989,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.Unnamed", + "id": "def-common.Type.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -995,7 +1003,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.Unnamed.$1", + "id": "def-common.Type.Unnamed.$1", "type": "Object", "tags": [], "label": "schema", @@ -1010,7 +1018,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.Unnamed.$2", + "id": "def-common.Type.Unnamed.$2", "type": "Object", "tags": [], "label": "options", @@ -1029,7 +1037,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.validate", + "id": "def-common.Type.validate", "type": "Function", "tags": [], "label": "validate", @@ -1043,7 +1051,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.validate.$1", + "id": "def-common.Type.validate.$1", "type": "Any", "tags": [], "label": "value", @@ -1058,7 +1066,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.validate.$2", + "id": "def-common.Type.validate.$2", "type": "Object", "tags": [], "label": "context", @@ -1073,7 +1081,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.validate.$3", + "id": "def-common.Type.validate.$3", "type": "string", "tags": [], "label": "namespace", @@ -1091,7 +1099,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.getSchemaStructure", + "id": "def-common.Type.getSchemaStructure", "type": "Function", "tags": [], "label": "getSchemaStructure", @@ -1100,9 +1108,9 @@ "() => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaStructureEntry", + "section": "def-common.SchemaStructureEntry", "text": "SchemaStructureEntry" }, "[]" @@ -1115,7 +1123,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.handleError", + "id": "def-common.Type.handleError", "type": "Function", "tags": [], "label": "handleError", @@ -1124,9 +1132,9 @@ "(type: string, context: Record, path: string[]) => string | void | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaTypeError", + "section": "def-common.SchemaTypeError", "text": "SchemaTypeError" } ], @@ -1136,7 +1144,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.handleError.$1", + "id": "def-common.Type.handleError.$1", "type": "string", "tags": [], "label": "type", @@ -1151,7 +1159,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.handleError.$2", + "id": "def-common.Type.handleError.$2", "type": "Object", "tags": [], "label": "context", @@ -1166,7 +1174,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Type.handleError.$3", + "id": "def-common.Type.handleError.$3", "type": "Array", "tags": [], "label": "path", @@ -1187,7 +1195,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ValidationError", + "id": "def-common.ValidationError", "type": "Class", "tags": [], "label": "ValidationError", @@ -1195,9 +1203,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ValidationError", + "section": "def-common.ValidationError", "text": "ValidationError" }, " extends ", @@ -1209,7 +1217,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ValidationError.Unnamed", + "id": "def-common.ValidationError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -1223,7 +1231,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ValidationError.Unnamed.$1", + "id": "def-common.ValidationError.Unnamed.$1", "type": "Object", "tags": [], "label": "error", @@ -1231,9 +1239,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaTypeError", + "section": "def-common.SchemaTypeError", "text": "SchemaTypeError" } ], @@ -1244,7 +1252,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.ValidationError.Unnamed.$2", + "id": "def-common.ValidationError.Unnamed.$2", "type": "string", "tags": [], "label": "namespace", @@ -1267,7 +1275,7 @@ "functions": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.isConfigSchema", + "id": "def-common.isConfigSchema", "type": "Function", "tags": [], "label": "isConfigSchema", @@ -1281,7 +1289,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.isConfigSchema.$1", + "id": "def-common.isConfigSchema.$1", "type": "Any", "tags": [], "label": "obj", @@ -1302,7 +1310,7 @@ "interfaces": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaStructureEntry", + "id": "def-common.SchemaStructureEntry", "type": "Interface", "tags": [], "label": "SchemaStructureEntry", @@ -1313,7 +1321,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaStructureEntry.path", + "id": "def-common.SchemaStructureEntry.path", "type": "Array", "tags": [], "label": "path", @@ -1327,7 +1335,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.SchemaStructureEntry.type", + "id": "def-common.SchemaStructureEntry.type", "type": "string", "tags": [], "label": "type", @@ -1344,7 +1352,7 @@ "misc": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.NullableProps", + "id": "def-common.NullableProps", "type": "Type", "tags": [], "label": "NullableProps", @@ -1353,9 +1361,9 @@ "{ [x: string]: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | null | undefined; }" @@ -1367,7 +1375,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Props", + "id": "def-common.Props", "type": "Type", "tags": [], "label": "Props", @@ -1376,9 +1384,9 @@ "{ [x: string]: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }" @@ -1390,7 +1398,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.Schema", + "id": "def-common.Schema", "type": "Type", "tags": [], "label": "Schema", @@ -1401,17 +1409,17 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.AnyType", + "section": "def-common.AnyType", "text": "AnyType" }, "; arrayOf: (itemType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -1419,9 +1427,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; boolean: (options?: ", @@ -1429,9 +1437,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; buffer: (options?: ", @@ -1439,9 +1447,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; byteSize: (options?: ", @@ -1449,17 +1457,17 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ">; conditional: | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", equalType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", notEqualType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -1497,9 +1505,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, "; contextRef: (key: string) => ", @@ -1509,9 +1517,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; ip: (options?: ", @@ -1519,33 +1527,33 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; literal: (value: T) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; mapOf: (keyType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", valueType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -1553,49 +1561,49 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">; maybe: (type: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ") => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; nullable: (type: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ") => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; never: () => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; number: (options?: ", @@ -1603,17 +1611,17 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; object:

(props: P, options?: ", @@ -1621,89 +1629,89 @@ "

| undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "

; oneOf: { (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -1711,81 +1719,81 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -1793,73 +1801,73 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -1867,65 +1875,65 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -1933,57 +1941,57 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -1991,49 +1999,49 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -2041,41 +2049,41 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -2083,33 +2091,33 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -2117,25 +2125,25 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -2143,17 +2151,17 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -2161,25 +2169,25 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }; recordOf: (keyType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", valueType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -2187,9 +2195,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">; stream: (options?: ", @@ -2199,9 +2207,9 @@ "> | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", @@ -2213,9 +2221,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; uri: (options?: ", @@ -2223,9 +2231,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }" @@ -2237,7 +2245,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.TypeOf", + "id": "def-common.TypeOf", "type": "Type", "tags": [], "label": "TypeOf", @@ -2254,7 +2262,7 @@ "objects": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema", + "id": "def-common.schema", "type": "Object", "tags": [], "label": "schema", @@ -2265,7 +2273,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.any", + "id": "def-common.schema.any", "type": "Function", "tags": [], "label": "any", @@ -2276,9 +2284,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.AnyType", + "section": "def-common.AnyType", "text": "AnyType" } ], @@ -2289,7 +2297,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.any.$1", + "id": "def-common.schema.any.$1", "type": "Object", "tags": [], "label": "options", @@ -2306,7 +2314,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.arrayOf", + "id": "def-common.schema.arrayOf", "type": "Function", "tags": [], "label": "arrayOf", @@ -2315,9 +2323,9 @@ "(itemType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -2325,9 +2333,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2339,7 +2347,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.arrayOf.$1", + "id": "def-common.schema.arrayOf.$1", "type": "Object", "tags": [], "label": "itemType", @@ -2347,9 +2355,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2360,7 +2368,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.arrayOf.$2", + "id": "def-common.schema.arrayOf.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -2377,7 +2385,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.boolean", + "id": "def-common.schema.boolean", "type": "Function", "tags": [], "label": "boolean", @@ -2388,9 +2396,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2402,7 +2410,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.boolean.$1", + "id": "def-common.schema.boolean.$1", "type": "Object", "tags": [], "label": "options", @@ -2419,7 +2427,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.buffer", + "id": "def-common.schema.buffer", "type": "Function", "tags": [], "label": "buffer", @@ -2430,9 +2438,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2444,7 +2452,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.buffer.$1", + "id": "def-common.schema.buffer.$1", "type": "Object", "tags": [], "label": "options", @@ -2461,7 +2469,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.byteSize", + "id": "def-common.schema.byteSize", "type": "Function", "tags": [], "label": "byteSize", @@ -2472,17 +2480,17 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ">" @@ -2494,7 +2502,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.byteSize.$1", + "id": "def-common.schema.byteSize.$1", "type": "Object", "tags": [], "label": "options", @@ -2511,7 +2519,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional", + "id": "def-common.schema.conditional", "type": "Function", "tags": [], "label": "conditional", @@ -2526,25 +2534,25 @@ " | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", equalType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", notEqualType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -2552,9 +2560,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, "" @@ -2566,7 +2574,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional.$1", + "id": "def-common.schema.conditional.$1", "type": "Object", "tags": [], "label": "leftOperand", @@ -2581,7 +2589,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional.$2", + "id": "def-common.schema.conditional.$2", "type": "CompoundType", "tags": [], "label": "rightOperand", @@ -2592,9 +2600,9 @@ " | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2605,7 +2613,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional.$3", + "id": "def-common.schema.conditional.$3", "type": "Object", "tags": [], "label": "equalType", @@ -2613,9 +2621,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2626,7 +2634,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional.$4", + "id": "def-common.schema.conditional.$4", "type": "Object", "tags": [], "label": "notEqualType", @@ -2634,9 +2642,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2647,7 +2655,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.conditional.$5", + "id": "def-common.schema.conditional.$5", "type": "Object", "tags": [], "label": "options", @@ -2664,7 +2672,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.contextRef", + "id": "def-common.schema.contextRef", "type": "Function", "tags": [], "label": "contextRef", @@ -2681,7 +2689,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.contextRef.$1", + "id": "def-common.schema.contextRef.$1", "type": "string", "tags": [], "label": "key", @@ -2694,7 +2702,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.duration", + "id": "def-common.schema.duration", "type": "Function", "tags": [], "label": "duration", @@ -2705,9 +2713,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2719,7 +2727,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.duration.$1", + "id": "def-common.schema.duration.$1", "type": "Object", "tags": [], "label": "options", @@ -2736,7 +2744,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.ip", + "id": "def-common.schema.ip", "type": "Function", "tags": [], "label": "ip", @@ -2747,9 +2755,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2761,7 +2769,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.ip.$1", + "id": "def-common.schema.ip.$1", "type": "CompoundType", "tags": [], "label": "options", @@ -2778,7 +2786,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.literal", + "id": "def-common.schema.literal", "type": "Function", "tags": [], "label": "literal", @@ -2787,9 +2795,9 @@ "(value: T) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2801,7 +2809,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.literal.$1", + "id": "def-common.schema.literal.$1", "type": "Uncategorized", "tags": [], "label": "value", @@ -2817,7 +2825,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.mapOf", + "id": "def-common.schema.mapOf", "type": "Function", "tags": [], "label": "mapOf", @@ -2826,17 +2834,17 @@ "(keyType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", valueType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -2844,9 +2852,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">" @@ -2858,7 +2866,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.mapOf.$1", + "id": "def-common.schema.mapOf.$1", "type": "Object", "tags": [], "label": "keyType", @@ -2866,9 +2874,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2879,7 +2887,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.mapOf.$2", + "id": "def-common.schema.mapOf.$2", "type": "Object", "tags": [], "label": "valueType", @@ -2887,9 +2895,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2900,7 +2908,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.mapOf.$3", + "id": "def-common.schema.mapOf.$3", "type": "Object", "tags": [], "label": "options", @@ -2917,7 +2925,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.maybe", + "id": "def-common.schema.maybe", "type": "Function", "tags": [], "label": "maybe", @@ -2926,17 +2934,17 @@ "(type: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ") => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2948,7 +2956,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.maybe.$1", + "id": "def-common.schema.maybe.$1", "type": "Object", "tags": [], "label": "type", @@ -2956,9 +2964,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -2971,7 +2979,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.nullable", + "id": "def-common.schema.nullable", "type": "Function", "tags": [], "label": "nullable", @@ -2980,17 +2988,17 @@ "(type: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ") => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3002,7 +3010,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.nullable.$1", + "id": "def-common.schema.nullable.$1", "type": "Object", "tags": [], "label": "type", @@ -3010,9 +3018,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3025,7 +3033,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.never", + "id": "def-common.schema.never", "type": "Function", "tags": [], "label": "never", @@ -3034,9 +3042,9 @@ "() => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3049,7 +3057,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.number", + "id": "def-common.schema.number", "type": "Function", "tags": [], "label": "number", @@ -3060,9 +3068,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3074,7 +3082,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.number.$1", + "id": "def-common.schema.number.$1", "type": "CompoundType", "tags": [], "label": "options", @@ -3091,7 +3099,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.object", + "id": "def-common.schema.object", "type": "Function", "tags": [], "label": "object", @@ -3100,9 +3108,9 @@ "

(props: P, options?: ", @@ -3110,9 +3118,9 @@ "

| undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "

" @@ -3124,7 +3132,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.object.$1", + "id": "def-common.schema.object.$1", "type": "Uncategorized", "tags": [], "label": "props", @@ -3138,7 +3146,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.object.$2", + "id": "def-common.schema.object.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -3155,7 +3163,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.oneOf", + "id": "def-common.schema.oneOf", "type": "Function", "tags": [], "label": "oneOf", @@ -3164,81 +3172,81 @@ "{ (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3246,81 +3254,81 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3328,73 +3336,73 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3402,65 +3410,65 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3468,57 +3476,57 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3526,49 +3534,49 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3576,41 +3584,41 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3618,33 +3626,33 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3652,25 +3660,25 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3678,17 +3686,17 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; (types: [", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "], options?: ", @@ -3696,9 +3704,9 @@ " | undefined): ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }" @@ -3709,7 +3717,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.recordOf", + "id": "def-common.schema.recordOf", "type": "Function", "tags": [], "label": "recordOf", @@ -3718,17 +3726,17 @@ "(keyType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", valueType: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ", options?: ", @@ -3736,9 +3744,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">" @@ -3750,7 +3758,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.recordOf.$1", + "id": "def-common.schema.recordOf.$1", "type": "Object", "tags": [], "label": "keyType", @@ -3758,9 +3766,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3771,7 +3779,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.recordOf.$2", + "id": "def-common.schema.recordOf.$2", "type": "Object", "tags": [], "label": "valueType", @@ -3779,9 +3787,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3792,7 +3800,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.recordOf.$3", + "id": "def-common.schema.recordOf.$3", "type": "Object", "tags": [], "label": "options", @@ -3809,7 +3817,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.stream", + "id": "def-common.schema.stream", "type": "Function", "tags": [], "label": "stream", @@ -3822,9 +3830,9 @@ "> | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", @@ -3838,7 +3846,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.stream.$1", + "id": "def-common.schema.stream.$1", "type": "Object", "tags": [], "label": "options", @@ -3857,7 +3865,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.siblingRef", + "id": "def-common.schema.siblingRef", "type": "Function", "tags": [], "label": "siblingRef", @@ -3874,7 +3882,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.siblingRef.$1", + "id": "def-common.schema.siblingRef.$1", "type": "string", "tags": [], "label": "key", @@ -3887,7 +3895,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.string", + "id": "def-common.schema.string", "type": "Function", "tags": [], "label": "string", @@ -3898,9 +3906,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3912,7 +3920,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.string.$1", + "id": "def-common.schema.string.$1", "type": "CompoundType", "tags": [], "label": "options", @@ -3929,7 +3937,7 @@ }, { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.uri", + "id": "def-common.schema.uri", "type": "Function", "tags": [], "label": "uri", @@ -3940,9 +3948,9 @@ " | undefined) => ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -3954,7 +3962,7 @@ "children": [ { "parentPluginId": "@kbn/config-schema", - "id": "def-server.schema.uri.$1", + "id": "def-common.schema.uri.$1", "type": "CompoundType", "tags": [], "label": "options", @@ -3973,13 +3981,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index c003fcb1ff125..2476ff0ad31a9 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; @@ -23,20 +23,20 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 129 | 3 | 127 | 17 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index de6f0aa74e698..51eada1261279 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index e27b4491105de..ff76ee4ec4b0b 100644 --- a/api_docs/kbn_content_management_table_list.mdx +++ b/api_docs/kbn_content_management_table_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list title: "@kbn/content-management-table-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index c476eb499fbb5..196ce19af1289 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index 6e9c174e293df..6053092c118ac 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index 318cc55b6ba77..afe663d47e550 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.devdocs.json b/api_docs/kbn_core_analytics_server.devdocs.json index f254ded72092f..9f116d542418f 100644 --- a/api_docs/kbn_core_analytics_server.devdocs.json +++ b/api_docs/kbn_core_analytics_server.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-analytics-server", - "id": "def-server.AnalyticsServicePreboot", + "id": "def-common.AnalyticsServicePreboot", "type": "Type", "tags": [], "label": "AnalyticsServicePreboot", @@ -91,7 +99,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server", - "id": "def-server.AnalyticsServiceSetup", + "id": "def-common.AnalyticsServiceSetup", "type": "Type", "tags": [], "label": "AnalyticsServiceSetup", @@ -166,7 +174,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server", - "id": "def-server.AnalyticsServiceStart", + "id": "def-common.AnalyticsServiceStart", "type": "Type", "tags": [], "label": "AnalyticsServiceStart", @@ -201,13 +209,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index 6b750d7420e64..ff381508579ab 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 0 | 0 | -## Server +## Common ### Consts, variables and types - + diff --git a/api_docs/kbn_core_analytics_server_internal.devdocs.json b/api_docs/kbn_core_analytics_server_internal.devdocs.json index e12cd7a4e45f6..681905927740f 100644 --- a/api_docs/kbn_core_analytics_server_internal.devdocs.json +++ b/api_docs/kbn_core_analytics_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService", + "id": "def-common.AnalyticsService", "type": "Class", "tags": [], "label": "AnalyticsService", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.Unnamed", + "id": "def-common.AnalyticsService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.Unnamed.$1", + "id": "def-common.AnalyticsService.Unnamed.$1", "type": "Object", "tags": [], "label": "core", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.preboot", + "id": "def-common.AnalyticsService.preboot", "type": "Function", "tags": [], "label": "preboot", @@ -64,9 +72,9 @@ "() => ", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServicePreboot", + "section": "def-common.AnalyticsServicePreboot", "text": "AnalyticsServicePreboot" } ], @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.setup", + "id": "def-common.AnalyticsService.setup", "type": "Function", "tags": [], "label": "setup", @@ -87,9 +95,9 @@ "() => ", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceSetup", + "section": "def-common.AnalyticsServiceSetup", "text": "AnalyticsServiceSetup" } ], @@ -101,7 +109,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.start", + "id": "def-common.AnalyticsService.start", "type": "Function", "tags": [], "label": "start", @@ -110,9 +118,9 @@ "() => ", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceStart", + "section": "def-common.AnalyticsServiceStart", "text": "AnalyticsServiceStart" } ], @@ -124,7 +132,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-internal", - "id": "def-server.AnalyticsService.stop", + "id": "def-common.AnalyticsService.stop", "type": "Function", "tags": [], "label": "stop", @@ -147,13 +155,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 3f515738e82f9..b568a6e5c45d1 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 7 | 0 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_analytics_server_mocks.devdocs.json b/api_docs/kbn_core_analytics_server_mocks.devdocs.json index 3b88c66575047..5054657f4db84 100644 --- a/api_docs/kbn_core_analytics_server_mocks.devdocs.json +++ b/api_docs/kbn_core_analytics_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-analytics-server-mocks", - "id": "def-server.analyticsServiceMock", + "id": "def-common.analyticsServiceMock", "type": "Object", "tags": [], "label": "analyticsServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-analytics-server-mocks", - "id": "def-server.analyticsServiceMock.create", + "id": "def-common.analyticsServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-mocks", - "id": "def-server.analyticsServiceMock.createAnalyticsServicePreboot", + "id": "def-common.analyticsServiceMock.createAnalyticsServicePreboot", "type": "Function", "tags": [], "label": "createAnalyticsServicePreboot", @@ -53,9 +61,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServicePreboot", + "section": "def-common.AnalyticsServicePreboot", "text": "AnalyticsServicePreboot" }, ">" @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-mocks", - "id": "def-server.analyticsServiceMock.createAnalyticsServiceSetup", + "id": "def-common.analyticsServiceMock.createAnalyticsServiceSetup", "type": "Function", "tags": [], "label": "createAnalyticsServiceSetup", @@ -77,9 +85,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceSetup", + "section": "def-common.AnalyticsServiceSetup", "text": "AnalyticsServiceSetup" }, ">" @@ -92,7 +100,7 @@ }, { "parentPluginId": "@kbn/core-analytics-server-mocks", - "id": "def-server.analyticsServiceMock.createAnalyticsServiceStart", + "id": "def-common.analyticsServiceMock.createAnalyticsServiceStart", "type": "Function", "tags": [], "label": "createAnalyticsServiceStart", @@ -101,9 +109,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceStart", + "section": "def-common.AnalyticsServiceStart", "text": "AnalyticsServiceStart" }, ">" @@ -118,13 +126,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 4a6410530cca0..a1bf555c0b494 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 5 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index cbbd15d7fe1a7..72b86e7ddda21 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 860c047009d24..171671c34c8fd 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 5d0f37f75aca2..d5bca32ce3699 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index f0832df176f18..f13953c207ba8 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index f6435e1e88694..980f255541d4a 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index d01a23360c21d..8e09ad45ebd40 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.devdocs.json b/api_docs/kbn_core_apps_server_internal.devdocs.json index 20c8639b26b2b..56bb924457859 100644 --- a/api_docs/kbn_core_apps_server_internal.devdocs.json +++ b/api_docs/kbn_core_apps_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle", + "id": "def-common.registerRouteForBundle", "type": "Function", "tags": [], "label": "registerRouteForBundle", @@ -22,17 +30,17 @@ "(router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, ">, {\n publicPath,\n routePath,\n bundlesPath,\n fileHashCache,\n isDist,\n }: { publicPath: string; routePath: string; bundlesPath: string; fileHashCache: ", @@ -45,7 +53,7 @@ "children": [ { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$1", + "id": "def-common.registerRouteForBundle.$1", "type": "Object", "tags": [], "label": "router", @@ -53,17 +61,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, ">" @@ -75,7 +83,7 @@ }, { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2", + "id": "def-common.registerRouteForBundle.$2", "type": "Object", "tags": [], "label": "{\n publicPath,\n routePath,\n bundlesPath,\n fileHashCache,\n isDist,\n }", @@ -86,7 +94,7 @@ "children": [ { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2.publicPath", + "id": "def-common.registerRouteForBundle.$2.publicPath", "type": "string", "tags": [], "label": "publicPath", @@ -97,7 +105,7 @@ }, { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2.routePath", + "id": "def-common.registerRouteForBundle.$2.routePath", "type": "string", "tags": [], "label": "routePath", @@ -108,7 +116,7 @@ }, { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2.bundlesPath", + "id": "def-common.registerRouteForBundle.$2.bundlesPath", "type": "string", "tags": [], "label": "bundlesPath", @@ -119,7 +127,7 @@ }, { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2.fileHashCache", + "id": "def-common.registerRouteForBundle.$2.fileHashCache", "type": "Object", "tags": [], "label": "fileHashCache", @@ -133,7 +141,7 @@ }, { "parentPluginId": "@kbn/core-apps-server-internal", - "id": "def-server.registerRouteForBundle.$2.isDist", + "id": "def-common.registerRouteForBundle.$2.isDist", "type": "boolean", "tags": [], "label": "isDist", @@ -153,13 +161,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 6682854a06bc4..d038fde8e9ff2 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 8 | 0 | 8 | 1 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 7787fb0b84592..77f59211f3b5f 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.devdocs.json b/api_docs/kbn_core_base_common.devdocs.json index e5fae7dc02d76..301740adfc8f2 100644 --- a/api_docs/kbn_core_base_common.devdocs.json +++ b/api_docs/kbn_core_base_common.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin", + "id": "def-common.DiscoveredPlugin", "type": "Interface", "tags": [], "label": "DiscoveredPlugin", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.id", + "id": "def-common.DiscoveredPlugin.id", "type": "string", "tags": [], "label": "id", @@ -40,7 +48,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.configPath", + "id": "def-common.DiscoveredPlugin.configPath", "type": "CompoundType", "tags": [], "label": "configPath", @@ -56,7 +64,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.type", + "id": "def-common.DiscoveredPlugin.type", "type": "Enum", "tags": [], "label": "type", @@ -66,9 +74,9 @@ "signature": [ { "pluginId": "@kbn/core-base-common", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreBaseCommonPluginApi", - "section": "def-server.PluginType", + "section": "def-common.PluginType", "text": "PluginType" } ], @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.requiredPlugins", + "id": "def-common.DiscoveredPlugin.requiredPlugins", "type": "Object", "tags": [], "label": "requiredPlugins", @@ -94,7 +102,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.optionalPlugins", + "id": "def-common.DiscoveredPlugin.optionalPlugins", "type": "Object", "tags": [], "label": "optionalPlugins", @@ -110,7 +118,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.requiredBundles", + "id": "def-common.DiscoveredPlugin.requiredBundles", "type": "Object", "tags": [], "label": "requiredBundles", @@ -126,7 +134,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.DiscoveredPlugin.enabledOnAnonymousPages", + "id": "def-common.DiscoveredPlugin.enabledOnAnonymousPages", "type": "CompoundType", "tags": [], "label": "enabledOnAnonymousPages", @@ -147,7 +155,7 @@ "enums": [ { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.PluginType", + "id": "def-common.PluginType", "type": "Enum", "tags": [], "label": "PluginType", @@ -161,7 +169,7 @@ "misc": [ { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.EUI_STYLES_GLOBAL", + "id": "def-common.EUI_STYLES_GLOBAL", "type": "string", "tags": [], "label": "EUI_STYLES_GLOBAL", @@ -176,7 +184,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.PluginName", + "id": "def-common.PluginName", "type": "Type", "tags": [], "label": "PluginName", @@ -193,7 +201,7 @@ }, { "parentPluginId": "@kbn/core-base-common", - "id": "def-server.PluginOpaqueId", + "id": "def-common.PluginOpaqueId", "type": "Type", "tags": [], "label": "PluginOpaqueId", @@ -208,13 +216,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 3a51e55dec03a..4ec5bd6584162 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 12 | 0 | 3 | 0 | -## Server +## Common ### Interfaces - + ### Enums - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_base_server_internal.devdocs.json b/api_docs/kbn_core_base_server_internal.devdocs.json index 55eda9cdfc30a..3850ba7b54a39 100644 --- a/api_docs/kbn_core_base_server_internal.devdocs.json +++ b/api_docs/kbn_core_base_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError", + "id": "def-common.CriticalError", "type": "Class", "tags": [], "label": "CriticalError", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-base-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreBaseServerInternalPluginApi", - "section": "def-server.CriticalError", + "section": "def-common.CriticalError", "text": "CriticalError" }, " extends Error" @@ -33,7 +41,7 @@ "children": [ { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError.Unnamed", + "id": "def-common.CriticalError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -47,7 +55,7 @@ "children": [ { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError.Unnamed.$1", + "id": "def-common.CriticalError.Unnamed.$1", "type": "string", "tags": [], "label": "message", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError.Unnamed.$2", + "id": "def-common.CriticalError.Unnamed.$2", "type": "string", "tags": [], "label": "code", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError.Unnamed.$3", + "id": "def-common.CriticalError.Unnamed.$3", "type": "number", "tags": [], "label": "processExitCode", @@ -92,7 +100,7 @@ }, { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.CriticalError.Unnamed.$4", + "id": "def-common.CriticalError.Unnamed.$4", "type": "Object", "tags": [], "label": "cause", @@ -119,7 +127,7 @@ "objects": [ { "parentPluginId": "@kbn/core-base-server-internal", - "id": "def-server.uuidRegexp", + "id": "def-common.uuidRegexp", "type": "Object", "tags": [], "label": "uuidRegexp", @@ -133,13 +141,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 72aabbf3ddb08..4740495bcd1cc 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 7 | 2 | -## Server +## Common ### Objects - + ### Classes - + diff --git a/api_docs/kbn_core_base_server_mocks.devdocs.json b/api_docs/kbn_core_base_server_mocks.devdocs.json index 49538fe9953d9..5a39670b56538 100644 --- a/api_docs/kbn_core_base_server_mocks.devdocs.json +++ b/api_docs/kbn_core_base_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-base-server-mocks", - "id": "def-server.mockCoreContext", + "id": "def-common.mockCoreContext", "type": "Object", "tags": [], "label": "mockCoreContext", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-base-server-mocks", - "id": "def-server.mockCoreContext.create", + "id": "def-common.mockCoreContext.create", "type": "Function", "tags": [], "label": "create", @@ -37,17 +45,17 @@ "({ env, logger, configService, }?: { env?: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.Env", + "section": "def-common.Env", "text": "Env" }, " | undefined; logger?: jest.Mocked<", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" }, "> | undefined; configService?: jest.Mocked<", @@ -55,9 +63,9 @@ "> | undefined; }) => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", @@ -71,7 +79,7 @@ "children": [ { "parentPluginId": "@kbn/core-base-server-mocks", - "id": "def-server.mockCoreContext.create.$1", + "id": "def-common.mockCoreContext.create.$1", "type": "Object", "tags": [], "label": "__0", @@ -80,17 +88,17 @@ "{ env?: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.Env", + "section": "def-common.Env", "text": "Env" }, " | undefined; logger?: jest.Mocked<", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" }, "> | undefined; configService?: jest.Mocked<", @@ -107,13 +115,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 5aa0443660b12..11f45f1805f90 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 3 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_capabilities_browser_mocks.devdocs.json b/api_docs/kbn_core_capabilities_browser_mocks.devdocs.json index 8deb9635d33e0..73b4fd5141d51 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_capabilities_browser_mocks.devdocs.json @@ -45,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index aedd598594d4c..c6811c3437df4 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 783bbceb4be50..25b7884be85bb 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.devdocs.json b/api_docs/kbn_core_capabilities_server.devdocs.json index cd7bd72d9c4bd..062051be28223 100644 --- a/api_docs/kbn_core_capabilities_server.devdocs.json +++ b/api_docs/kbn_core_capabilities_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSetup", + "id": "def-common.CapabilitiesSetup", "type": "Interface", "tags": [], "label": "CapabilitiesSetup", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSetup.registerProvider", + "id": "def-common.CapabilitiesSetup.registerProvider", "type": "Function", "tags": [], "label": "registerProvider", @@ -38,9 +46,9 @@ "(provider: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesProvider", + "section": "def-common.CapabilitiesProvider", "text": "CapabilitiesProvider" }, ") => void" @@ -51,7 +59,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSetup.registerProvider.$1", + "id": "def-common.CapabilitiesSetup.registerProvider.$1", "type": "Function", "tags": [], "label": "provider", @@ -59,9 +67,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesProvider", + "section": "def-common.CapabilitiesProvider", "text": "CapabilitiesProvider" } ], @@ -75,7 +83,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSetup.registerSwitcher", + "id": "def-common.CapabilitiesSetup.registerSwitcher", "type": "Function", "tags": [], "label": "registerSwitcher", @@ -86,9 +94,9 @@ "(switcher: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSwitcher", + "section": "def-common.CapabilitiesSwitcher", "text": "CapabilitiesSwitcher" }, ") => void" @@ -99,7 +107,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSetup.registerSwitcher.$1", + "id": "def-common.CapabilitiesSetup.registerSwitcher.$1", "type": "Function", "tags": [], "label": "switcher", @@ -107,9 +115,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSwitcher", + "section": "def-common.CapabilitiesSwitcher", "text": "CapabilitiesSwitcher" } ], @@ -126,7 +134,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesStart", + "id": "def-common.CapabilitiesStart", "type": "Interface", "tags": [], "label": "CapabilitiesStart", @@ -139,7 +147,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesStart.resolveCapabilities", + "id": "def-common.CapabilitiesStart.resolveCapabilities", "type": "Function", "tags": [], "label": "resolveCapabilities", @@ -150,17 +158,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", options?: ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.ResolveCapabilitiesOptions", + "section": "def-common.ResolveCapabilitiesOptions", "text": "ResolveCapabilitiesOptions" }, " | undefined) => Promise<", @@ -179,7 +187,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesStart.resolveCapabilities.$1", + "id": "def-common.CapabilitiesStart.resolveCapabilities.$1", "type": "Object", "tags": [], "label": "request", @@ -187,9 +195,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -201,7 +209,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesStart.resolveCapabilities.$2", + "id": "def-common.CapabilitiesStart.resolveCapabilities.$2", "type": "Object", "tags": [], "label": "options", @@ -209,9 +217,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.ResolveCapabilitiesOptions", + "section": "def-common.ResolveCapabilitiesOptions", "text": "ResolveCapabilitiesOptions" }, " | undefined" @@ -229,7 +237,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.ResolveCapabilitiesOptions", + "id": "def-common.ResolveCapabilitiesOptions", "type": "Interface", "tags": [], "label": "ResolveCapabilitiesOptions", @@ -242,7 +250,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.ResolveCapabilitiesOptions.useDefaultCapabilities", + "id": "def-common.ResolveCapabilitiesOptions.useDefaultCapabilities", "type": "boolean", "tags": [], "label": "useDefaultCapabilities", @@ -261,7 +269,7 @@ "misc": [ { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesProvider", + "id": "def-common.CapabilitiesProvider", "type": "Type", "tags": [], "label": "CapabilitiesProvider", @@ -288,7 +296,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSwitcher", + "id": "def-common.CapabilitiesSwitcher", "type": "Type", "tags": [], "label": "CapabilitiesSwitcher", @@ -299,9 +307,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", uiCapabilities: ", @@ -315,9 +323,9 @@ ", useDefaultCapabilities: boolean) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "" @@ -358,7 +366,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSwitcher.$2", + "id": "def-common.CapabilitiesSwitcher.$2", "type": "Object", "tags": [], "label": "uiCapabilities", @@ -378,7 +386,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server", - "id": "def-server.CapabilitiesSwitcher.$3", + "id": "def-common.CapabilitiesSwitcher.$3", "type": "boolean", "tags": [], "label": "useDefaultCapabilities", @@ -392,13 +400,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index 9da5230b09ebd..1b95f924077ee 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 16 | 0 | 7 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_capabilities_server_mocks.devdocs.json b/api_docs/kbn_core_capabilities_server_mocks.devdocs.json index c4cb6a1ee8a16..67c9f022b8b4c 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.devdocs.json +++ b/api_docs/kbn_core_capabilities_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.CapabilitiesServiceContract", + "id": "def-common.CapabilitiesServiceContract", "type": "Type", "tags": [], "label": "CapabilitiesServiceContract", @@ -25,17 +33,17 @@ "{ setup: (setupDeps: SetupDeps) => ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSetup", + "section": "def-common.CapabilitiesSetup", "text": "CapabilitiesSetup" }, "; start: () => ", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesStart", + "section": "def-common.CapabilitiesStart", "text": "CapabilitiesStart" }, "; preboot: (prebootDeps: PrebootSetupDeps) => void; }" @@ -49,7 +57,7 @@ "objects": [ { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.capabilitiesServiceMock", + "id": "def-common.capabilitiesServiceMock", "type": "Object", "tags": [], "label": "capabilitiesServiceMock", @@ -60,7 +68,7 @@ "children": [ { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.capabilitiesServiceMock.create", + "id": "def-common.capabilitiesServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -69,9 +77,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-capabilities-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerMocksPluginApi", - "section": "def-server.CapabilitiesServiceContract", + "section": "def-common.CapabilitiesServiceContract", "text": "CapabilitiesServiceContract" }, ">" @@ -84,7 +92,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.capabilitiesServiceMock.createSetupContract", + "id": "def-common.capabilitiesServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -93,9 +101,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSetup", + "section": "def-common.CapabilitiesSetup", "text": "CapabilitiesSetup" }, ">" @@ -108,7 +116,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.capabilitiesServiceMock.createStartContract", + "id": "def-common.capabilitiesServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -117,9 +125,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesStart", + "section": "def-common.CapabilitiesStart", "text": "CapabilitiesStart" }, ">" @@ -132,7 +140,7 @@ }, { "parentPluginId": "@kbn/core-capabilities-server-mocks", - "id": "def-server.capabilitiesServiceMock.createCapabilities", + "id": "def-common.capabilitiesServiceMock.createCapabilities", "type": "Function", "tags": [], "label": "createCapabilities", @@ -157,13 +165,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 4219ec1c7dde6..3ea1b2387b554 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 671ae1bcbc87a..e7a0aaf59da41 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.devdocs.json b/api_docs/kbn_core_chrome_browser_mocks.devdocs.json index 42c9aacfa3dc9..1c4b66c5da9a0 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_chrome_browser_mocks.devdocs.json @@ -61,9 +61,9 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index fe030ed820924..6487bfff0d154 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.devdocs.json b/api_docs/kbn_core_config_server_internal.devdocs.json index 65ff20ef0238d..83a0b76b35fc0 100644 --- a/api_docs/kbn_core_config_server_internal.devdocs.json +++ b/api_docs/kbn_core_config_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-config-server-internal", - "id": "def-server.coreDeprecationProvider", + "id": "def-common.coreDeprecationProvider", "type": "Function", "tags": [], "label": "coreDeprecationProvider", @@ -22,9 +30,9 @@ "() => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -38,7 +46,7 @@ }, { "parentPluginId": "@kbn/core-config-server-internal", - "id": "def-server.ensureValidConfiguration", + "id": "def-common.ensureValidConfiguration", "type": "Function", "tags": [], "label": "ensureValidConfiguration", @@ -56,7 +64,7 @@ "children": [ { "parentPluginId": "@kbn/core-config-server-internal", - "id": "def-server.ensureValidConfiguration.$1", + "id": "def-common.ensureValidConfiguration.$1", "type": "Object", "tags": [], "label": "configService", @@ -71,7 +79,7 @@ }, { "parentPluginId": "@kbn/core-config-server-internal", - "id": "def-server.ensureValidConfiguration.$2", + "id": "def-common.ensureValidConfiguration.$2", "type": "Object", "tags": [], "label": "params", @@ -94,13 +102,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 49110efb29eaf..818c42cdab654 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 81ce521034835..1f25924c4e84d 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index aee2d1b9b2f30..9761482626b63 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.devdocs.json b/api_docs/kbn_core_deprecations_browser_mocks.devdocs.json index 897d016b3527d..bc2f308ff4698 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_deprecations_browser_mocks.devdocs.json @@ -45,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index da674897d1f5e..705e8bec588f6 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 8eb093f503e17..80b05500a11ab 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.devdocs.json b/api_docs/kbn_core_deprecations_server.devdocs.json index dbf0a0be1088a..631178909fb5d 100644 --- a/api_docs/kbn_core_deprecations_server.devdocs.json +++ b/api_docs/kbn_core_deprecations_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationRegistryProvider", + "id": "def-common.DeprecationRegistryProvider", "type": "Interface", "tags": [], "label": "DeprecationRegistryProvider", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationRegistryProvider.getRegistry", + "id": "def-common.DeprecationRegistryProvider.getRegistry", "type": "Function", "tags": [], "label": "getRegistry", @@ -34,9 +42,9 @@ "(domainId: string) => ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsServiceSetup", + "section": "def-common.DeprecationsServiceSetup", "text": "DeprecationsServiceSetup" } ], @@ -46,7 +54,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationRegistryProvider.getRegistry.$1", + "id": "def-common.DeprecationRegistryProvider.getRegistry.$1", "type": "string", "tags": [], "label": "domainId", @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsClient", + "id": "def-common.DeprecationsClient", "type": "Interface", "tags": [], "label": "DeprecationsClient", @@ -80,7 +88,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsClient.getAllDeprecations", + "id": "def-common.DeprecationsClient.getAllDeprecations", "type": "Function", "tags": [], "label": "getAllDeprecations", @@ -107,7 +115,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsRequestHandlerContext", + "id": "def-common.DeprecationsRequestHandlerContext", "type": "Interface", "tags": [], "label": "DeprecationsRequestHandlerContext", @@ -120,7 +128,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsRequestHandlerContext.client", + "id": "def-common.DeprecationsRequestHandlerContext.client", "type": "Object", "tags": [], "label": "client", @@ -128,9 +136,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsClient", + "section": "def-common.DeprecationsClient", "text": "DeprecationsClient" } ], @@ -143,7 +151,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsServiceSetup", + "id": "def-common.DeprecationsServiceSetup", "type": "Interface", "tags": [], "label": "DeprecationsServiceSetup", @@ -156,7 +164,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsServiceSetup.registerDeprecations", + "id": "def-common.DeprecationsServiceSetup.registerDeprecations", "type": "Function", "tags": [], "label": "registerDeprecations", @@ -165,9 +173,9 @@ "(deprecationContext: ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.RegisterDeprecationsConfig", + "section": "def-common.RegisterDeprecationsConfig", "text": "RegisterDeprecationsConfig" }, ") => void" @@ -178,7 +186,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.DeprecationsServiceSetup.registerDeprecations.$1", + "id": "def-common.DeprecationsServiceSetup.registerDeprecations.$1", "type": "Object", "tags": [], "label": "deprecationContext", @@ -186,9 +194,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.RegisterDeprecationsConfig", + "section": "def-common.RegisterDeprecationsConfig", "text": "RegisterDeprecationsConfig" } ], @@ -205,7 +213,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.GetDeprecationsContext", + "id": "def-common.GetDeprecationsContext", "type": "Interface", "tags": [], "label": "GetDeprecationsContext", @@ -216,7 +224,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.GetDeprecationsContext.esClient", + "id": "def-common.GetDeprecationsContext.esClient", "type": "Object", "tags": [], "label": "esClient", @@ -224,9 +232,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.GetDeprecationsContext.savedObjectsClient", + "id": "def-common.GetDeprecationsContext.savedObjectsClient", "type": "Object", "tags": [], "label": "savedObjectsClient", @@ -244,9 +252,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -259,7 +267,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.RegisterDeprecationsConfig", + "id": "def-common.RegisterDeprecationsConfig", "type": "Interface", "tags": [], "label": "RegisterDeprecationsConfig", @@ -270,7 +278,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.RegisterDeprecationsConfig.getDeprecations", + "id": "def-common.RegisterDeprecationsConfig.getDeprecations", "type": "Function", "tags": [], "label": "getDeprecations", @@ -279,17 +287,17 @@ "(context: ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.GetDeprecationsContext", + "section": "def-common.GetDeprecationsContext", "text": "GetDeprecationsContext" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -308,7 +316,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server", - "id": "def-server.RegisterDeprecationsConfig.getDeprecations.$1", + "id": "def-common.RegisterDeprecationsConfig.getDeprecations.$1", "type": "Object", "tags": [], "label": "context", @@ -316,9 +324,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.GetDeprecationsContext", + "section": "def-common.GetDeprecationsContext", "text": "GetDeprecationsContext" } ], @@ -337,13 +345,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index d4046ed2bcb22..10c609f98e5fe 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 16 | 0 | 13 | 0 | -## Server +## Common ### Interfaces - + diff --git a/api_docs/kbn_core_deprecations_server_internal.devdocs.json b/api_docs/kbn_core_deprecations_server_internal.devdocs.json index 438b29f186d86..19a46dc48c8dc 100644 --- a/api_docs/kbn_core_deprecations_server_internal.devdocs.json +++ b/api_docs/kbn_core_deprecations_server_internal.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-deprecations-server-internal", - "id": "def-server.InternalDeprecationsServiceStart", + "id": "def-common.InternalDeprecationsServiceStart", "type": "Interface", "tags": [], "label": "InternalDeprecationsServiceStart", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server-internal", - "id": "def-server.InternalDeprecationsServiceStart.asScopedToClient", + "id": "def-common.InternalDeprecationsServiceStart.asScopedToClient", "type": "Function", "tags": [], "label": "asScopedToClient", @@ -36,25 +44,25 @@ "(esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" }, ", savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsClient", + "section": "def-common.DeprecationsClient", "text": "DeprecationsClient" } ], @@ -64,7 +72,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server-internal", - "id": "def-server.InternalDeprecationsServiceStart.asScopedToClient.$1", + "id": "def-common.InternalDeprecationsServiceStart.asScopedToClient.$1", "type": "Object", "tags": [], "label": "esClient", @@ -72,9 +80,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -85,7 +93,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server-internal", - "id": "def-server.InternalDeprecationsServiceStart.asScopedToClient.$2", + "id": "def-common.InternalDeprecationsServiceStart.asScopedToClient.$2", "type": "Object", "tags": [], "label": "savedObjectsClient", @@ -93,9 +101,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -114,13 +122,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 1f82d92789981..54a452b8487a4 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 3 | 0 | -## Server +## Common ### Interfaces - + diff --git a/api_docs/kbn_core_deprecations_server_mocks.devdocs.json b/api_docs/kbn_core_deprecations_server_mocks.devdocs.json index 69467b4a093d4..f8e68d8374ca2 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.devdocs.json +++ b/api_docs/kbn_core_deprecations_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock", + "id": "def-common.deprecationsServiceMock", "type": "Object", "tags": [], "label": "deprecationsServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock.create", + "id": "def-common.deprecationsServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock.createInternalSetupContract", + "id": "def-common.deprecationsServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -53,9 +61,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationRegistryProvider", + "section": "def-common.DeprecationRegistryProvider", "text": "DeprecationRegistryProvider" }, ">" @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock.createSetupContract", + "id": "def-common.deprecationsServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -77,9 +85,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsServiceSetup", + "section": "def-common.DeprecationsServiceSetup", "text": "DeprecationsServiceSetup" }, ">" @@ -92,7 +100,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock.createInternalStartContract", + "id": "def-common.deprecationsServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -101,9 +109,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerInternalPluginApi", - "section": "def-server.InternalDeprecationsServiceStart", + "section": "def-common.InternalDeprecationsServiceStart", "text": "InternalDeprecationsServiceStart" }, ">" @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/core-deprecations-server-mocks", - "id": "def-server.deprecationsServiceMock.createClient", + "id": "def-common.deprecationsServiceMock.createClient", "type": "Function", "tags": [], "label": "createClient", @@ -125,9 +133,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsClient", + "section": "def-common.DeprecationsClient", "text": "DeprecationsClient" }, ">" @@ -142,13 +150,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index e27611f06eee6..5e0bb3568ba33 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 3cbd388c04018..312aa38986877 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 7509c6e8e05b0..64a364a50e6ce 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.devdocs.json b/api_docs/kbn_core_doc_links_server.devdocs.json index c820d0c60c68d..53bafcec4a7c0 100644 --- a/api_docs/kbn_core_doc_links_server.devdocs.json +++ b/api_docs/kbn_core_doc_links_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-doc-links-server", - "id": "def-server.DocLinksServiceSetup", + "id": "def-common.DocLinksServiceSetup", "type": "Interface", "tags": [], "label": "DocLinksServiceSetup", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-doc-links-server", - "id": "def-server.DocLinksServiceSetup.version", + "id": "def-common.DocLinksServiceSetup.version", "type": "string", "tags": [], "label": "version", @@ -38,7 +46,7 @@ }, { "parentPluginId": "@kbn/core-doc-links-server", - "id": "def-server.DocLinksServiceSetup.elasticWebsiteUrl", + "id": "def-common.DocLinksServiceSetup.elasticWebsiteUrl", "type": "string", "tags": [], "label": "elasticWebsiteUrl", @@ -51,7 +59,7 @@ }, { "parentPluginId": "@kbn/core-doc-links-server", - "id": "def-server.DocLinksServiceSetup.links", + "id": "def-common.DocLinksServiceSetup.links", "type": "Object", "tags": [], "label": "links", @@ -79,7 +87,7 @@ "misc": [ { "parentPluginId": "@kbn/core-doc-links-server", - "id": "def-server.DocLinksServiceStart", + "id": "def-common.DocLinksServiceStart", "type": "Type", "tags": [], "label": "DocLinksServiceStart", @@ -87,9 +95,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -100,13 +108,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index f87f89520f245..38f8ee6a4f9a5 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 2 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_doc_links_server_mocks.devdocs.json b/api_docs/kbn_core_doc_links_server_mocks.devdocs.json index bd82f1fed2249..c357a59cceb8f 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.devdocs.json +++ b/api_docs/kbn_core_doc_links_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-doc-links-server-mocks", - "id": "def-server.docLinksServiceMock", + "id": "def-common.docLinksServiceMock", "type": "Object", "tags": [], "label": "docLinksServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-doc-links-server-mocks", - "id": "def-server.docLinksServiceMock.create", + "id": "def-common.docLinksServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-doc-links-server-mocks", - "id": "def-server.docLinksServiceMock.createSetupContract", + "id": "def-common.docLinksServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -53,9 +61,9 @@ "() => ", { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-doc-links-server-mocks", - "id": "def-server.docLinksServiceMock.createStartContract", + "id": "def-common.docLinksServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -76,9 +84,9 @@ "() => ", { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -92,13 +100,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index 1a6ac1f8d8220..18a09e85cfb7d 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.devdocs.json b/api_docs/kbn_core_elasticsearch_client_server_internal.devdocs.json index 66472dd2f1a85..a26f76816cb98 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient", + "id": "def-common.configureClient", "type": "Function", "tags": [], "label": "configureClient", @@ -22,17 +30,17 @@ "(config: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, ", { logger, type, scoped, getExecutionContext, agentFactoryProvider, kibanaVersion, }: { logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; type: string; scoped?: boolean | undefined; getExecutionContext?: (() => string | undefined) | undefined; agentFactoryProvider: ", @@ -46,7 +54,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$1", + "id": "def-common.configureClient.$1", "type": "Object", "tags": [], "label": "config", @@ -54,9 +62,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" } ], @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2", + "id": "def-common.configureClient.$2", "type": "Object", "tags": [], "label": "{\n logger,\n type,\n scoped = false,\n getExecutionContext = noop,\n agentFactoryProvider,\n kibanaVersion,\n }", @@ -78,7 +86,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.logger", + "id": "def-common.configureClient.$2.logger", "type": "Object", "tags": [], "label": "logger", @@ -86,9 +94,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.type", + "id": "def-common.configureClient.$2.type", "type": "string", "tags": [], "label": "type", @@ -109,7 +117,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.scoped", + "id": "def-common.configureClient.$2.scoped", "type": "CompoundType", "tags": [], "label": "scoped", @@ -123,7 +131,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.getExecutionContext", + "id": "def-common.configureClient.$2.getExecutionContext", "type": "Function", "tags": [], "label": "getExecutionContext", @@ -139,7 +147,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.agentFactoryProvider", + "id": "def-common.configureClient.$2.agentFactoryProvider", "type": "Object", "tags": [], "label": "agentFactoryProvider", @@ -153,7 +161,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.configureClient.$2.kibanaVersion", + "id": "def-common.configureClient.$2.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -170,7 +178,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.getErrorMessage", + "id": "def-common.getErrorMessage", "type": "Function", "tags": [], "label": "getErrorMessage", @@ -188,7 +196,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.getErrorMessage.$1", + "id": "def-common.getErrorMessage.$1", "type": "Object", "tags": [], "label": "error", @@ -207,7 +215,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.getRequestDebugMeta", + "id": "def-common.getRequestDebugMeta", "type": "Function", "tags": [], "label": "getRequestDebugMeta", @@ -225,7 +233,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.getRequestDebugMeta.$1", + "id": "def-common.getRequestDebugMeta.$1", "type": "Object", "tags": [], "label": "event", @@ -247,7 +255,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.AgentStore", + "id": "def-common.AgentStore", "type": "Interface", "tags": [], "label": "AgentStore", @@ -258,7 +266,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.AgentStore.getAgents", + "id": "def-common.AgentStore.getAgents", "type": "Function", "tags": [], "label": "getAgents", @@ -267,9 +275,9 @@ "() => Set<", { "pluginId": "@kbn/core-elasticsearch-client-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerInternalPluginApi", - "section": "def-server.NetworkAgent", + "section": "def-common.NetworkAgent", "text": "NetworkAgent" }, ">" @@ -288,7 +296,7 @@ "misc": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-internal", - "id": "def-server.NetworkAgent", + "id": "def-common.NetworkAgent", "type": "Type", "tags": [], "label": "NetworkAgent", @@ -305,13 +313,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 3cde0c0d027b5..5f295b6c5abaf 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 16 | 0 | 14 | 1 | -## Server +## Common ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json index 50e85661e12e1..296f434fab2c0 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.createAgentStoreMock", + "id": "def-common.createAgentStoreMock", "type": "Function", "tags": [], "label": "createAgentStoreMock", @@ -22,17 +30,17 @@ "(agents?: Set<", { "pluginId": "@kbn/core-elasticsearch-client-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerInternalPluginApi", - "section": "def-server.NetworkAgent", + "section": "def-common.NetworkAgent", "text": "NetworkAgent" }, ">) => ", { "pluginId": "@kbn/core-elasticsearch-client-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerInternalPluginApi", - "section": "def-server.AgentStore", + "section": "def-common.AgentStore", "text": "AgentStore" } ], @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.createAgentStoreMock.$1", + "id": "def-common.createAgentStoreMock.$1", "type": "Object", "tags": [], "label": "agents", @@ -51,9 +59,9 @@ "Set<", { "pluginId": "@kbn/core-elasticsearch-client-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerInternalPluginApi", - "section": "def-server.NetworkAgent", + "section": "def-common.NetworkAgent", "text": "NetworkAgent" }, ">" @@ -71,7 +79,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance", + "id": "def-common.ClientApiMockInstance", "type": "Interface", "tags": [], "label": "ClientApiMockInstance", @@ -79,9 +87,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, " extends jest.MockInstance" @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponse", + "id": "def-common.ClientApiMockInstance.mockResponse", "type": "Function", "tags": [], "label": "mockResponse", @@ -110,7 +118,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponse.$1", + "id": "def-common.ClientApiMockInstance.mockResponse.$1", "type": "Uncategorized", "tags": [], "label": "value", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponse.$2", + "id": "def-common.ClientApiMockInstance.mockResponse.$2", "type": "Object", "tags": [], "label": "opts", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseOnce", + "id": "def-common.ClientApiMockInstance.mockResponseOnce", "type": "Function", "tags": [], "label": "mockResponseOnce", @@ -163,7 +171,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseOnce.$1", + "id": "def-common.ClientApiMockInstance.mockResponseOnce.$1", "type": "Uncategorized", "tags": [], "label": "value", @@ -178,7 +186,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseOnce.$2", + "id": "def-common.ClientApiMockInstance.mockResponseOnce.$2", "type": "Object", "tags": [], "label": "opts", @@ -198,7 +206,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseImplementation", + "id": "def-common.ClientApiMockInstance.mockResponseImplementation", "type": "Function", "tags": [], "label": "mockResponseImplementation", @@ -216,7 +224,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseImplementation.$1", + "id": "def-common.ClientApiMockInstance.mockResponseImplementation.$1", "type": "Function", "tags": [], "label": "handler", @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseImplementationOnce", + "id": "def-common.ClientApiMockInstance.mockResponseImplementationOnce", "type": "Function", "tags": [], "label": "mockResponseImplementationOnce", @@ -254,7 +262,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClientApiMockInstance.mockResponseImplementationOnce.$1", + "id": "def-common.ClientApiMockInstance.mockResponseImplementationOnce.$1", "type": "Function", "tags": [], "label": "handler", @@ -277,7 +285,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClusterClientMock", + "id": "def-common.ClusterClientMock", "type": "Interface", "tags": [], "label": "ClusterClientMock", @@ -288,7 +296,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClusterClientMock.asInternalUser", + "id": "def-common.ClusterClientMock.asInternalUser", "type": "CompoundType", "tags": [], "label": "asInternalUser", @@ -297,9 +305,9 @@ "{ name: string | symbol; get: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; delete: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cluster: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -339,9 +347,9 @@ ">; eql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -349,9 +357,9 @@ ">; search: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; create: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; monitoring: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -391,9 +399,9 @@ ">; security: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -401,9 +409,9 @@ ">; index: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; update: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; asyncSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -443,9 +451,9 @@ ">; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -453,9 +461,9 @@ ">; helpers: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -463,9 +471,9 @@ ">; child: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "<", @@ -475,9 +483,9 @@ "]>; autoscaling: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -485,9 +493,9 @@ ">; bulk: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cat: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -511,9 +519,9 @@ ">; ccr: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -521,9 +529,9 @@ ">; clearScroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; closePointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; count: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; danglingIndices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -579,9 +587,9 @@ ">; deleteByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; enrich: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -637,9 +645,9 @@ ">; exists: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -651,9 +659,9 @@ " | undefined]>; existsSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -665,9 +673,9 @@ " | undefined]>; explain: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; features: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -691,9 +699,9 @@ ">; fieldCaps: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; fleet: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -717,9 +725,9 @@ ">; getScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptContext: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptLanguages: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -779,9 +787,9 @@ " | undefined]>; graph: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -789,9 +797,9 @@ ">; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -799,9 +807,9 @@ ">; indices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -809,9 +817,9 @@ ">; info: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ingest: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -835,9 +843,9 @@ ">; knnSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; license: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -861,9 +869,9 @@ ">; logstash: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -871,9 +879,9 @@ ">; mget: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; migration: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -897,9 +905,9 @@ ">; ml: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -907,9 +915,9 @@ ">; msearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; msearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; mtermvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; nodes: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -965,9 +973,9 @@ ">; openPointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ping: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params?: ", @@ -995,9 +1003,9 @@ " | undefined]>; putScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rankEval: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindex: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindexRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; renderSearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rollup: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1085,9 +1093,9 @@ ">; scriptsPainlessExecute: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; scroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -1131,9 +1139,9 @@ " | undefined]>; searchShards: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchableSnapshots: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1173,9 +1181,9 @@ ">; shutdown: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1183,9 +1191,9 @@ ">; slm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1193,9 +1201,9 @@ ">; snapshot: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1203,9 +1211,9 @@ ">; sql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1213,9 +1221,9 @@ ">; ssl: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1223,9 +1231,9 @@ ">; tasks: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1233,9 +1241,9 @@ ">; termsEnum: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; termvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; textStructure: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1275,9 +1283,9 @@ ">; transform: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1285,9 +1293,9 @@ ">; updateByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; updateByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; watcher: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1327,9 +1335,9 @@ ">; xpack: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1337,9 +1345,9 @@ ">; } & ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -1349,7 +1357,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ClusterClientMock.asScoped", + "id": "def-common.ClusterClientMock.asScoped", "type": "Function", "tags": [], "label": "asScoped", @@ -1358,17 +1366,17 @@ "jest.MockInstance<", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ScopedClusterClientMock", + "section": "def-common.ScopedClusterClientMock", "text": "ScopedClusterClientMock" }, ", []> & (() => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ScopedClusterClientMock", + "section": "def-common.ScopedClusterClientMock", "text": "ScopedClusterClientMock" }, ")" @@ -1384,7 +1392,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ScopedClusterClientMock", + "id": "def-common.ScopedClusterClientMock", "type": "Interface", "tags": [], "label": "ScopedClusterClientMock", @@ -1395,7 +1403,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ScopedClusterClientMock.asInternalUser", + "id": "def-common.ScopedClusterClientMock.asInternalUser", "type": "CompoundType", "tags": [], "label": "asInternalUser", @@ -1404,9 +1412,9 @@ "{ name: string | symbol; get: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; delete: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cluster: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1446,9 +1454,9 @@ ">; eql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1456,9 +1464,9 @@ ">; search: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; create: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; monitoring: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1498,9 +1506,9 @@ ">; security: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1508,9 +1516,9 @@ ">; index: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; update: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; asyncSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1550,9 +1558,9 @@ ">; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1560,9 +1568,9 @@ ">; helpers: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1570,9 +1578,9 @@ ">; child: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "<", @@ -1582,9 +1590,9 @@ "]>; autoscaling: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1592,9 +1600,9 @@ ">; bulk: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cat: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1618,9 +1626,9 @@ ">; ccr: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1628,9 +1636,9 @@ ">; clearScroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; closePointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; count: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; danglingIndices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1686,9 +1694,9 @@ ">; deleteByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; enrich: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1744,9 +1752,9 @@ ">; exists: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -1758,9 +1766,9 @@ " | undefined]>; existsSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -1772,9 +1780,9 @@ " | undefined]>; explain: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; features: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1798,9 +1806,9 @@ ">; fieldCaps: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; fleet: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1824,9 +1832,9 @@ ">; getScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptContext: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptLanguages: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -1886,9 +1894,9 @@ " | undefined]>; graph: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1896,9 +1904,9 @@ ">; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1906,9 +1914,9 @@ ">; indices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1916,9 +1924,9 @@ ">; info: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ingest: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1942,9 +1950,9 @@ ">; knnSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; license: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1968,9 +1976,9 @@ ">; logstash: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -1978,9 +1986,9 @@ ">; mget: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; migration: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2004,9 +2012,9 @@ ">; ml: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2014,9 +2022,9 @@ ">; msearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; msearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; mtermvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; nodes: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2072,9 +2080,9 @@ ">; openPointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ping: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params?: ", @@ -2102,9 +2110,9 @@ " | undefined]>; putScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rankEval: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindex: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindexRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; renderSearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rollup: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2192,9 +2200,9 @@ ">; scriptsPainlessExecute: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; scroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -2238,9 +2246,9 @@ " | undefined]>; searchShards: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchableSnapshots: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2280,9 +2288,9 @@ ">; shutdown: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2290,9 +2298,9 @@ ">; slm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2300,9 +2308,9 @@ ">; snapshot: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2310,9 +2318,9 @@ ">; sql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2320,9 +2328,9 @@ ">; ssl: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2330,9 +2338,9 @@ ">; tasks: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2340,9 +2348,9 @@ ">; termsEnum: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; termvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; textStructure: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2382,9 +2390,9 @@ ">; transform: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2392,9 +2400,9 @@ ">; updateByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; updateByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; watcher: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2434,9 +2442,9 @@ ">; xpack: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2444,9 +2452,9 @@ ">; } & ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -2456,7 +2464,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ScopedClusterClientMock.asCurrentUser", + "id": "def-common.ScopedClusterClientMock.asCurrentUser", "type": "CompoundType", "tags": [], "label": "asCurrentUser", @@ -2465,9 +2473,9 @@ "{ name: string | symbol; get: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; delete: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cluster: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2507,9 +2515,9 @@ ">; eql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2517,9 +2525,9 @@ ">; search: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; create: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; monitoring: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2559,9 +2567,9 @@ ">; security: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2569,9 +2577,9 @@ ">; index: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; update: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; asyncSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2611,9 +2619,9 @@ ">; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2621,9 +2629,9 @@ ">; helpers: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2631,9 +2639,9 @@ ">; child: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "<", @@ -2643,9 +2651,9 @@ "]>; autoscaling: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2653,9 +2661,9 @@ ">; bulk: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cat: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2679,9 +2687,9 @@ ">; ccr: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2689,9 +2697,9 @@ ">; clearScroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; closePointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; count: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; danglingIndices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2747,9 +2755,9 @@ ">; deleteByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; enrich: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2805,9 +2813,9 @@ ">; exists: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -2819,9 +2827,9 @@ " | undefined]>; existsSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -2833,9 +2841,9 @@ " | undefined]>; explain: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; features: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2859,9 +2867,9 @@ ">; fieldCaps: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; fleet: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2885,9 +2893,9 @@ ">; getScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptContext: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptLanguages: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -2947,9 +2955,9 @@ " | undefined]>; graph: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2957,9 +2965,9 @@ ">; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2967,9 +2975,9 @@ ">; indices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -2977,9 +2985,9 @@ ">; info: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ingest: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3003,9 +3011,9 @@ ">; knnSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; license: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3029,9 +3037,9 @@ ">; logstash: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3039,9 +3047,9 @@ ">; mget: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; migration: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3065,9 +3073,9 @@ ">; ml: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3075,9 +3083,9 @@ ">; msearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; msearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; mtermvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; nodes: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3133,9 +3141,9 @@ ">; openPointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ping: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params?: ", @@ -3163,9 +3171,9 @@ " | undefined]>; putScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rankEval: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindex: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindexRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; renderSearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rollup: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3253,9 +3261,9 @@ ">; scriptsPainlessExecute: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; scroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -3299,9 +3307,9 @@ " | undefined]>; searchShards: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchableSnapshots: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3341,9 +3349,9 @@ ">; shutdown: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3351,9 +3359,9 @@ ">; slm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3361,9 +3369,9 @@ ">; snapshot: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3371,9 +3379,9 @@ ">; sql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3381,9 +3389,9 @@ ">; ssl: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3391,9 +3399,9 @@ ">; tasks: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3401,9 +3409,9 @@ ">; termsEnum: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; termvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; textStructure: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3443,9 +3451,9 @@ ">; transform: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3453,9 +3461,9 @@ ">; updateByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; updateByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; watcher: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3495,9 +3503,9 @@ ">; xpack: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3505,9 +3513,9 @@ ">; } & ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -3523,7 +3531,7 @@ "misc": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.CustomClusterClientMock", + "id": "def-common.CustomClusterClientMock", "type": "Type", "tags": [], "label": "CustomClusterClientMock", @@ -3532,41 +3540,41 @@ "{ close: jest.MockInstance, []>; readonly asInternalUser: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, "; asScoped: jest.MockInstance<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" }, ", [request: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ScopeableRequest", + "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" }, "]>; } & ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" }, " & ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClusterClientMock", + "section": "def-common.ClusterClientMock", "text": "ClusterClientMock" } ], @@ -3577,7 +3585,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.DeeplyMockedApi", + "id": "def-common.DeeplyMockedApi", "type": "Type", "tags": [], "label": "DeeplyMockedApi", @@ -3586,17 +3594,17 @@ "{ [P in keyof T]: T[P] extends (...args: any[]) => any ? ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", Parameters> : ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "; } & T" @@ -3608,7 +3616,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.ElasticsearchClientMock", + "id": "def-common.ElasticsearchClientMock", "type": "Type", "tags": [], "label": "ElasticsearchClientMock", @@ -3617,9 +3625,9 @@ "{ name: string | symbol; get: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; delete: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cluster: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3659,9 +3667,9 @@ ">; eql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3669,9 +3677,9 @@ ">; search: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; create: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; monitoring: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3711,9 +3719,9 @@ ">; security: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3721,9 +3729,9 @@ ">; index: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; update: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; asyncSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3763,9 +3771,9 @@ ">; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3773,9 +3781,9 @@ ">; helpers: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3783,9 +3791,9 @@ ">; child: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "<", @@ -3795,9 +3803,9 @@ "]>; autoscaling: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3805,9 +3813,9 @@ ">; bulk: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; cat: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3831,9 +3839,9 @@ ">; ccr: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3841,9 +3849,9 @@ ">; clearScroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; closePointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; count: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; danglingIndices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3899,9 +3907,9 @@ ">; deleteByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; deleteScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; enrich: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -3957,9 +3965,9 @@ ">; exists: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -3971,9 +3979,9 @@ " | undefined]>; existsSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -3985,9 +3993,9 @@ " | undefined]>; explain: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; features: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4011,9 +4019,9 @@ ">; fieldCaps: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; fleet: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4037,9 +4045,9 @@ ">; getScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptContext: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getScriptLanguages: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; getSource: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -4099,9 +4107,9 @@ " | undefined]>; graph: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4109,9 +4117,9 @@ ">; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4119,9 +4127,9 @@ ">; indices: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4129,9 +4137,9 @@ ">; info: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ingest: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4155,9 +4163,9 @@ ">; knnSearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; license: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4181,9 +4189,9 @@ ">; logstash: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4191,9 +4199,9 @@ ">; mget: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; migration: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4217,9 +4225,9 @@ ">; ml: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4227,9 +4235,9 @@ ">; msearch: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; msearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; mtermvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; nodes: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4285,9 +4293,9 @@ ">; openPointInTime: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; ping: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params?: ", @@ -4315,9 +4323,9 @@ " | undefined]>; putScript: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rankEval: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindex: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; reindexRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; renderSearchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; rollup: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4405,9 +4413,9 @@ ">; scriptsPainlessExecute: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; scroll: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, ", [params: ", @@ -4451,9 +4459,9 @@ " | undefined]>; searchShards: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchTemplate: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; searchableSnapshots: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4493,9 +4501,9 @@ ">; shutdown: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4503,9 +4511,9 @@ ">; slm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4513,9 +4521,9 @@ ">; snapshot: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4523,9 +4531,9 @@ ">; sql: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4533,9 +4541,9 @@ ">; ssl: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4543,9 +4551,9 @@ ">; tasks: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4553,9 +4561,9 @@ ">; termsEnum: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; termvectors: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; textStructure: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4595,9 +4603,9 @@ ">; transform: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4605,9 +4613,9 @@ ">; updateByQuery: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; updateByQueryRethrottle: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClientApiMockInstance", + "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, "; watcher: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4647,9 +4655,9 @@ ">; xpack: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4657,9 +4665,9 @@ ">; } & ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -4672,7 +4680,7 @@ "objects": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock", + "id": "def-common.elasticsearchClientMock", "type": "Object", "tags": [], "label": "elasticsearchClientMock", @@ -4683,7 +4691,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createClusterClient", + "id": "def-common.elasticsearchClientMock.createClusterClient", "type": "Function", "tags": [], "label": "createClusterClient", @@ -4692,9 +4700,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClusterClientMock", + "section": "def-common.ClusterClientMock", "text": "ClusterClientMock" } ], @@ -4706,7 +4714,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createCustomClusterClient", + "id": "def-common.elasticsearchClientMock.createCustomClusterClient", "type": "Function", "tags": [], "label": "createCustomClusterClient", @@ -4715,9 +4723,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.CustomClusterClientMock", + "section": "def-common.CustomClusterClientMock", "text": "CustomClusterClientMock" } ], @@ -4729,7 +4737,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createScopedClusterClient", + "id": "def-common.elasticsearchClientMock.createScopedClusterClient", "type": "Function", "tags": [], "label": "createScopedClusterClient", @@ -4738,9 +4746,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ScopedClusterClientMock", + "section": "def-common.ScopedClusterClientMock", "text": "ScopedClusterClientMock" } ], @@ -4752,7 +4760,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createElasticsearchClient", + "id": "def-common.elasticsearchClientMock.createElasticsearchClient", "type": "Function", "tags": [], "label": "createElasticsearchClient", @@ -4761,9 +4769,9 @@ "(res?: Promise | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ElasticsearchClientMock", + "section": "def-common.ElasticsearchClientMock", "text": "ElasticsearchClientMock" } ], @@ -4774,7 +4782,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createElasticsearchClient.$1", + "id": "def-common.elasticsearchClientMock.createElasticsearchClient.$1", "type": "Object", "tags": [], "label": "res", @@ -4790,7 +4798,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createInternalClient", + "id": "def-common.elasticsearchClientMock.createInternalClient", "type": "Function", "tags": [], "label": "createInternalClient", @@ -4799,9 +4807,9 @@ "(res?: Promise | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.DeeplyMockedApi", + "section": "def-common.DeeplyMockedApi", "text": "DeeplyMockedApi" }, "<", @@ -4815,7 +4823,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createInternalClient.$1", + "id": "def-common.elasticsearchClientMock.createInternalClient.$1", "type": "Object", "tags": [], "label": "res", @@ -4831,7 +4839,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createSuccessTransportRequestPromise", + "id": "def-common.elasticsearchClientMock.createSuccessTransportRequestPromise", "type": "Function", "tags": [], "label": "createSuccessTransportRequestPromise", @@ -4848,7 +4856,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createSuccessTransportRequestPromise.$1", + "id": "def-common.elasticsearchClientMock.createSuccessTransportRequestPromise.$1", "type": "Uncategorized", "tags": [], "label": "body", @@ -4862,7 +4870,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createSuccessTransportRequestPromise.$2", + "id": "def-common.elasticsearchClientMock.createSuccessTransportRequestPromise.$2", "type": "Object", "tags": [], "label": "__1", @@ -4876,7 +4884,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createSuccessTransportRequestPromise.$3", + "id": "def-common.elasticsearchClientMock.createSuccessTransportRequestPromise.$3", "type": "Object", "tags": [], "label": "headers", @@ -4892,7 +4900,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createErrorTransportRequestPromise", + "id": "def-common.elasticsearchClientMock.createErrorTransportRequestPromise", "type": "Function", "tags": [], "label": "createErrorTransportRequestPromise", @@ -4907,7 +4915,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createErrorTransportRequestPromise.$1", + "id": "def-common.elasticsearchClientMock.createErrorTransportRequestPromise.$1", "type": "Any", "tags": [], "label": "err", @@ -4923,7 +4931,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createApiResponse", + "id": "def-common.elasticsearchClientMock.createApiResponse", "type": "Function", "tags": [], "label": "createApiResponse", @@ -4942,7 +4950,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-client-server-mocks", - "id": "def-server.elasticsearchClientMock.createApiResponse.$1", + "id": "def-common.elasticsearchClientMock.createApiResponse.$1", "type": "Object", "tags": [], "label": "opts", @@ -4968,13 +4976,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 14e28dd8165d5..516c42677865f 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 38 | 1 | 34 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_elasticsearch_server.devdocs.json b/api_docs/kbn_core_elasticsearch_server.devdocs.json index cfbb6696a3c02..8520715b8738c 100644 --- a/api_docs/kbn_core_elasticsearch_server.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig", + "id": "def-common.ElasticsearchClientConfig", "type": "Interface", "tags": [], "label": "ElasticsearchClientConfig", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.customHeaders", + "id": "def-common.ElasticsearchClientConfig.customHeaders", "type": "Object", "tags": [], "label": "customHeaders", @@ -41,7 +49,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.requestHeadersWhitelist", + "id": "def-common.ElasticsearchClientConfig.requestHeadersWhitelist", "type": "Array", "tags": [], "label": "requestHeadersWhitelist", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.maxSockets", + "id": "def-common.ElasticsearchClientConfig.maxSockets", "type": "number", "tags": [], "label": "maxSockets", @@ -66,7 +74,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.maxIdleSockets", + "id": "def-common.ElasticsearchClientConfig.maxIdleSockets", "type": "number", "tags": [], "label": "maxIdleSockets", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.idleSocketTimeout", + "id": "def-common.ElasticsearchClientConfig.idleSocketTimeout", "type": "Object", "tags": [], "label": "idleSocketTimeout", @@ -91,7 +99,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.compression", + "id": "def-common.ElasticsearchClientConfig.compression", "type": "boolean", "tags": [], "label": "compression", @@ -102,7 +110,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.sniffOnStart", + "id": "def-common.ElasticsearchClientConfig.sniffOnStart", "type": "boolean", "tags": [], "label": "sniffOnStart", @@ -113,7 +121,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.sniffOnConnectionFault", + "id": "def-common.ElasticsearchClientConfig.sniffOnConnectionFault", "type": "boolean", "tags": [], "label": "sniffOnConnectionFault", @@ -124,7 +132,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.sniffInterval", + "id": "def-common.ElasticsearchClientConfig.sniffInterval", "type": "CompoundType", "tags": [], "label": "sniffInterval", @@ -138,7 +146,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.username", + "id": "def-common.ElasticsearchClientConfig.username", "type": "string", "tags": [], "label": "username", @@ -152,7 +160,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.password", + "id": "def-common.ElasticsearchClientConfig.password", "type": "string", "tags": [], "label": "password", @@ -166,7 +174,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.serviceAccountToken", + "id": "def-common.ElasticsearchClientConfig.serviceAccountToken", "type": "string", "tags": [], "label": "serviceAccountToken", @@ -180,7 +188,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.hosts", + "id": "def-common.ElasticsearchClientConfig.hosts", "type": "Array", "tags": [], "label": "hosts", @@ -194,7 +202,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.keepAlive", + "id": "def-common.ElasticsearchClientConfig.keepAlive", "type": "CompoundType", "tags": [], "label": "keepAlive", @@ -208,7 +216,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.pingTimeout", + "id": "def-common.ElasticsearchClientConfig.pingTimeout", "type": "CompoundType", "tags": [], "label": "pingTimeout", @@ -222,7 +230,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.requestTimeout", + "id": "def-common.ElasticsearchClientConfig.requestTimeout", "type": "CompoundType", "tags": [], "label": "requestTimeout", @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.caFingerprint", + "id": "def-common.ElasticsearchClientConfig.caFingerprint", "type": "string", "tags": [], "label": "caFingerprint", @@ -250,7 +258,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientConfig.ssl", + "id": "def-common.ElasticsearchClientConfig.ssl", "type": "Object", "tags": [], "label": "ssl", @@ -258,9 +266,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientSslConfig", + "section": "def-common.ElasticsearchClientSslConfig", "text": "ElasticsearchClientSslConfig" }, " | undefined" @@ -274,7 +282,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig", + "id": "def-common.ElasticsearchClientSslConfig", "type": "Interface", "tags": [], "label": "ElasticsearchClientSslConfig", @@ -285,7 +293,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.verificationMode", + "id": "def-common.ElasticsearchClientSslConfig.verificationMode", "type": "CompoundType", "tags": [], "label": "verificationMode", @@ -299,7 +307,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.certificate", + "id": "def-common.ElasticsearchClientSslConfig.certificate", "type": "string", "tags": [], "label": "certificate", @@ -313,7 +321,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.certificateAuthorities", + "id": "def-common.ElasticsearchClientSslConfig.certificateAuthorities", "type": "Array", "tags": [], "label": "certificateAuthorities", @@ -327,7 +335,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.key", + "id": "def-common.ElasticsearchClientSslConfig.key", "type": "string", "tags": [], "label": "key", @@ -341,7 +349,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.keyPassphrase", + "id": "def-common.ElasticsearchClientSslConfig.keyPassphrase", "type": "string", "tags": [], "label": "keyPassphrase", @@ -355,7 +363,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClientSslConfig.alwaysPresentCertificate", + "id": "def-common.ElasticsearchClientSslConfig.alwaysPresentCertificate", "type": "CompoundType", "tags": [], "label": "alwaysPresentCertificate", @@ -372,7 +380,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchConfigPreboot", + "id": "def-common.ElasticsearchConfigPreboot", "type": "Interface", "tags": [], "label": "ElasticsearchConfigPreboot", @@ -385,7 +393,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchConfigPreboot.hosts", + "id": "def-common.ElasticsearchConfigPreboot.hosts", "type": "Array", "tags": [], "label": "hosts", @@ -401,7 +409,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchConfigPreboot.credentialsSpecified", + "id": "def-common.ElasticsearchConfigPreboot.credentialsSpecified", "type": "boolean", "tags": [], "label": "credentialsSpecified", @@ -417,7 +425,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchRequestHandlerContext", + "id": "def-common.ElasticsearchRequestHandlerContext", "type": "Interface", "tags": [], "label": "ElasticsearchRequestHandlerContext", @@ -430,7 +438,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchRequestHandlerContext.client", + "id": "def-common.ElasticsearchRequestHandlerContext.client", "type": "Object", "tags": [], "label": "client", @@ -438,9 +446,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -453,7 +461,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServicePreboot", + "id": "def-common.ElasticsearchServicePreboot", "type": "Interface", "tags": [], "label": "ElasticsearchServicePreboot", @@ -464,7 +472,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServicePreboot.config", + "id": "def-common.ElasticsearchServicePreboot.config", "type": "Object", "tags": [], "label": "config", @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServicePreboot.createClient", + "id": "def-common.ElasticsearchServicePreboot.createClient", "type": "Function", "tags": [], "label": "createClient", @@ -491,17 +499,17 @@ "(type: string, clientConfig?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" } ], @@ -511,7 +519,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServicePreboot.createClient.$1", + "id": "def-common.ElasticsearchServicePreboot.createClient.$1", "type": "string", "tags": [], "label": "type", @@ -528,7 +536,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServicePreboot.createClient.$2", + "id": "def-common.ElasticsearchServicePreboot.createClient.$2", "type": "Object", "tags": [], "label": "clientConfig", @@ -539,9 +547,9 @@ "Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined" @@ -559,7 +567,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceSetup", + "id": "def-common.ElasticsearchServiceSetup", "type": "Interface", "tags": [], "label": "ElasticsearchServiceSetup", @@ -570,7 +578,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceSetup.setUnauthorizedErrorHandler", + "id": "def-common.ElasticsearchServiceSetup.setUnauthorizedErrorHandler", "type": "Function", "tags": [], "label": "setUnauthorizedErrorHandler", @@ -581,9 +589,9 @@ "(handler: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandler", + "section": "def-common.UnauthorizedErrorHandler", "text": "UnauthorizedErrorHandler" }, ") => void" @@ -594,7 +602,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceSetup.setUnauthorizedErrorHandler.$1", + "id": "def-common.ElasticsearchServiceSetup.setUnauthorizedErrorHandler.$1", "type": "Function", "tags": [], "label": "handler", @@ -602,9 +610,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandler", + "section": "def-common.UnauthorizedErrorHandler", "text": "UnauthorizedErrorHandler" } ], @@ -618,7 +626,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceSetup.legacy", + "id": "def-common.ElasticsearchServiceSetup.legacy", "type": "Object", "tags": [ "deprecated" @@ -631,9 +639,9 @@ "<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IElasticsearchConfig", + "section": "def-common.IElasticsearchConfig", "text": "IElasticsearchConfig" }, ">; }" @@ -669,7 +677,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceStart", + "id": "def-common.ElasticsearchServiceStart", "type": "Interface", "tags": [], "label": "ElasticsearchServiceStart", @@ -680,7 +688,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceStart.client", + "id": "def-common.ElasticsearchServiceStart.client", "type": "Object", "tags": [], "label": "client", @@ -690,9 +698,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" } ], @@ -702,7 +710,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceStart.createClient", + "id": "def-common.ElasticsearchServiceStart.createClient", "type": "Function", "tags": [], "label": "createClient", @@ -713,17 +721,17 @@ "(type: string, clientConfig?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" } ], @@ -733,7 +741,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceStart.createClient.$1", + "id": "def-common.ElasticsearchServiceStart.createClient.$1", "type": "string", "tags": [], "label": "type", @@ -750,7 +758,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchServiceStart.createClient.$2", + "id": "def-common.ElasticsearchServiceStart.createClient.$2", "type": "Object", "tags": [], "label": "clientConfig", @@ -761,9 +769,9 @@ "Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined" @@ -781,7 +789,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig", + "id": "def-common.ElasticsearchSslConfig", "type": "Interface", "tags": [], "label": "ElasticsearchSslConfig", @@ -792,7 +800,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.verificationMode", + "id": "def-common.ElasticsearchSslConfig.verificationMode", "type": "CompoundType", "tags": [], "label": "verificationMode", @@ -806,7 +814,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.certificate", + "id": "def-common.ElasticsearchSslConfig.certificate", "type": "string", "tags": [], "label": "certificate", @@ -820,7 +828,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.certificateAuthorities", + "id": "def-common.ElasticsearchSslConfig.certificateAuthorities", "type": "Array", "tags": [], "label": "certificateAuthorities", @@ -834,7 +842,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.key", + "id": "def-common.ElasticsearchSslConfig.key", "type": "string", "tags": [], "label": "key", @@ -848,7 +856,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.keyPassphrase", + "id": "def-common.ElasticsearchSslConfig.keyPassphrase", "type": "string", "tags": [], "label": "keyPassphrase", @@ -862,7 +870,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchSslConfig.alwaysPresentCertificate", + "id": "def-common.ElasticsearchSslConfig.alwaysPresentCertificate", "type": "boolean", "tags": [], "label": "alwaysPresentCertificate", @@ -876,7 +884,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.FakeRequest", + "id": "def-common.FakeRequest", "type": "Interface", "tags": [], "label": "FakeRequest", @@ -889,7 +897,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.FakeRequest.headers", + "id": "def-common.FakeRequest.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -908,7 +916,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IClusterClient", + "id": "def-common.IClusterClient", "type": "Interface", "tags": [], "label": "IClusterClient", @@ -921,7 +929,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IClusterClient.asInternalUser", + "id": "def-common.IClusterClient.asInternalUser", "type": "Object", "tags": [], "label": "asInternalUser", @@ -2123,7 +2131,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IClusterClient.asScoped", + "id": "def-common.IClusterClient.asScoped", "type": "Function", "tags": [], "label": "asScoped", @@ -2134,17 +2142,17 @@ "(request: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ScopeableRequest", + "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" }, ") => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IScopedClusterClient", + "section": "def-common.IScopedClusterClient", "text": "IScopedClusterClient" } ], @@ -2154,7 +2162,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IClusterClient.asScoped.$1", + "id": "def-common.IClusterClient.asScoped.$1", "type": "CompoundType", "tags": [], "label": "request", @@ -2162,9 +2170,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ScopeableRequest", + "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" } ], @@ -2181,7 +2189,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ICustomClusterClient", + "id": "def-common.ICustomClusterClient", "type": "Interface", "tags": [], "label": "ICustomClusterClient", @@ -2191,17 +2199,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ICustomClusterClient", + "section": "def-common.ICustomClusterClient", "text": "ICustomClusterClient" }, " extends ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" } ], @@ -2211,7 +2219,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ICustomClusterClient.close", + "id": "def-common.ICustomClusterClient.close", "type": "Function", "tags": [], "label": "close", @@ -2232,7 +2240,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig", + "id": "def-common.IElasticsearchConfig", "type": "Interface", "tags": [], "label": "IElasticsearchConfig", @@ -2243,7 +2251,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.healthCheckDelay", + "id": "def-common.IElasticsearchConfig.healthCheckDelay", "type": "Object", "tags": [], "label": "healthCheckDelay", @@ -2259,7 +2267,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.ignoreVersionMismatch", + "id": "def-common.IElasticsearchConfig.ignoreVersionMismatch", "type": "boolean", "tags": [], "label": "ignoreVersionMismatch", @@ -2272,7 +2280,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.apiVersion", + "id": "def-common.IElasticsearchConfig.apiVersion", "type": "string", "tags": [], "label": "apiVersion", @@ -2285,7 +2293,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.maxSockets", + "id": "def-common.IElasticsearchConfig.maxSockets", "type": "number", "tags": [], "label": "maxSockets", @@ -2298,7 +2306,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.maxIdleSockets", + "id": "def-common.IElasticsearchConfig.maxIdleSockets", "type": "number", "tags": [], "label": "maxIdleSockets", @@ -2311,7 +2319,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.idleSocketTimeout", + "id": "def-common.IElasticsearchConfig.idleSocketTimeout", "type": "Object", "tags": [], "label": "idleSocketTimeout", @@ -2327,7 +2335,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.compression", + "id": "def-common.IElasticsearchConfig.compression", "type": "boolean", "tags": [], "label": "compression", @@ -2340,7 +2348,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.hosts", + "id": "def-common.IElasticsearchConfig.hosts", "type": "Array", "tags": [], "label": "hosts", @@ -2356,7 +2364,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.requestHeadersWhitelist", + "id": "def-common.IElasticsearchConfig.requestHeadersWhitelist", "type": "Array", "tags": [], "label": "requestHeadersWhitelist", @@ -2372,7 +2380,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.pingTimeout", + "id": "def-common.IElasticsearchConfig.pingTimeout", "type": "Object", "tags": [], "label": "pingTimeout", @@ -2388,7 +2396,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.requestTimeout", + "id": "def-common.IElasticsearchConfig.requestTimeout", "type": "Object", "tags": [], "label": "requestTimeout", @@ -2404,7 +2412,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.shardTimeout", + "id": "def-common.IElasticsearchConfig.shardTimeout", "type": "Object", "tags": [], "label": "shardTimeout", @@ -2420,7 +2428,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.sniffOnStart", + "id": "def-common.IElasticsearchConfig.sniffOnStart", "type": "boolean", "tags": [], "label": "sniffOnStart", @@ -2433,7 +2441,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.sniffInterval", + "id": "def-common.IElasticsearchConfig.sniffInterval", "type": "CompoundType", "tags": [], "label": "sniffInterval", @@ -2449,7 +2457,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.sniffOnConnectionFault", + "id": "def-common.IElasticsearchConfig.sniffOnConnectionFault", "type": "boolean", "tags": [], "label": "sniffOnConnectionFault", @@ -2462,7 +2470,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.username", + "id": "def-common.IElasticsearchConfig.username", "type": "string", "tags": [], "label": "username", @@ -2478,7 +2486,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.password", + "id": "def-common.IElasticsearchConfig.password", "type": "string", "tags": [], "label": "password", @@ -2494,7 +2502,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.serviceAccountToken", + "id": "def-common.IElasticsearchConfig.serviceAccountToken", "type": "string", "tags": [], "label": "serviceAccountToken", @@ -2510,7 +2518,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.customHeaders", + "id": "def-common.IElasticsearchConfig.customHeaders", "type": "Object", "tags": [], "label": "customHeaders", @@ -2526,7 +2534,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IElasticsearchConfig.ssl", + "id": "def-common.IElasticsearchConfig.ssl", "type": "Object", "tags": [], "label": "ssl", @@ -2536,9 +2544,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchSslConfig", + "section": "def-common.ElasticsearchSslConfig", "text": "ElasticsearchSslConfig" } ], @@ -2551,7 +2559,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IScopedClusterClient", + "id": "def-common.IScopedClusterClient", "type": "Interface", "tags": [], "label": "IScopedClusterClient", @@ -2564,7 +2572,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IScopedClusterClient.asInternalUser", + "id": "def-common.IScopedClusterClient.asInternalUser", "type": "Object", "tags": [], "label": "asInternalUser", @@ -3766,7 +3774,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.IScopedClusterClient.asCurrentUser", + "id": "def-common.IScopedClusterClient.asCurrentUser", "type": "Object", "tags": [], "label": "asCurrentUser", @@ -4971,7 +4979,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerNotHandledResult", + "id": "def-common.UnauthorizedErrorHandlerNotHandledResult", "type": "Interface", "tags": [], "label": "UnauthorizedErrorHandlerNotHandledResult", @@ -4982,7 +4990,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerNotHandledResult.type", + "id": "def-common.UnauthorizedErrorHandlerNotHandledResult.type", "type": "string", "tags": [], "label": "type", @@ -4999,7 +5007,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerOptions", + "id": "def-common.UnauthorizedErrorHandlerOptions", "type": "Interface", "tags": [], "label": "UnauthorizedErrorHandlerOptions", @@ -5010,7 +5018,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerOptions.error", + "id": "def-common.UnauthorizedErrorHandlerOptions.error", "type": "CompoundType", "tags": [], "label": "error", @@ -5025,7 +5033,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerOptions.request", + "id": "def-common.UnauthorizedErrorHandlerOptions.request", "type": "Object", "tags": [], "label": "request", @@ -5033,9 +5041,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -5049,7 +5057,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "id": "def-common.UnauthorizedErrorHandlerResultRetryParams", "type": "Interface", "tags": [], "label": "UnauthorizedErrorHandlerResultRetryParams", @@ -5060,7 +5068,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerResultRetryParams.authHeaders", + "id": "def-common.UnauthorizedErrorHandlerResultRetryParams.authHeaders", "type": "Object", "tags": [], "label": "authHeaders", @@ -5077,7 +5085,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerRetryResult", + "id": "def-common.UnauthorizedErrorHandlerRetryResult", "type": "Interface", "tags": [], "label": "UnauthorizedErrorHandlerRetryResult", @@ -5085,17 +5093,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" }, " extends ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" } ], @@ -5105,7 +5113,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerRetryResult.type", + "id": "def-common.UnauthorizedErrorHandlerRetryResult.type", "type": "string", "tags": [], "label": "type", @@ -5122,7 +5130,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerToolkit", + "id": "def-common.UnauthorizedErrorHandlerToolkit", "type": "Interface", "tags": [], "label": "UnauthorizedErrorHandlerToolkit", @@ -5135,7 +5143,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerToolkit.notHandled", + "id": "def-common.UnauthorizedErrorHandlerToolkit.notHandled", "type": "Function", "tags": [], "label": "notHandled", @@ -5146,9 +5154,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerNotHandledResult", + "section": "def-common.UnauthorizedErrorHandlerNotHandledResult", "text": "UnauthorizedErrorHandlerNotHandledResult" } ], @@ -5160,7 +5168,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerToolkit.retry", + "id": "def-common.UnauthorizedErrorHandlerToolkit.retry", "type": "Function", "tags": [], "label": "retry", @@ -5171,17 +5179,17 @@ "(params: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" }, ") => ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" } ], @@ -5191,7 +5199,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerToolkit.retry.$1", + "id": "def-common.UnauthorizedErrorHandlerToolkit.retry.$1", "type": "Object", "tags": [], "label": "params", @@ -5199,9 +5207,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResultRetryParams", + "section": "def-common.UnauthorizedErrorHandlerResultRetryParams", "text": "UnauthorizedErrorHandlerResultRetryParams" } ], @@ -5221,7 +5229,7 @@ "misc": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ElasticsearchClient", + "id": "def-common.ElasticsearchClient", "type": "Type", "tags": [], "label": "ElasticsearchClient", @@ -6424,7 +6432,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.ScopeableRequest", + "id": "def-common.ScopeableRequest", "type": "Type", "tags": [], "label": "ScopeableRequest", @@ -6434,17 +6442,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, " | ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.FakeRequest", + "section": "def-common.FakeRequest", "text": "FakeRequest" } ], @@ -6455,7 +6463,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandler", + "id": "def-common.UnauthorizedErrorHandler", "type": "Type", "tags": [], "label": "UnauthorizedErrorHandler", @@ -6466,33 +6474,33 @@ "(options: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerOptions", + "section": "def-common.UnauthorizedErrorHandlerOptions", "text": "UnauthorizedErrorHandlerOptions" }, ", toolkit: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerToolkit", + "section": "def-common.UnauthorizedErrorHandlerToolkit", "text": "UnauthorizedErrorHandlerToolkit" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerResult", + "section": "def-common.UnauthorizedErrorHandlerResult", "text": "UnauthorizedErrorHandlerResult" }, ">" @@ -6504,7 +6512,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandler.$1", + "id": "def-common.UnauthorizedErrorHandler.$1", "type": "Object", "tags": [], "label": "options", @@ -6512,9 +6520,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerOptions", + "section": "def-common.UnauthorizedErrorHandlerOptions", "text": "UnauthorizedErrorHandlerOptions" } ], @@ -6524,7 +6532,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandler.$2", + "id": "def-common.UnauthorizedErrorHandler.$2", "type": "Object", "tags": [], "label": "toolkit", @@ -6532,9 +6540,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerToolkit", + "section": "def-common.UnauthorizedErrorHandlerToolkit", "text": "UnauthorizedErrorHandlerToolkit" } ], @@ -6547,7 +6555,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server", - "id": "def-server.UnauthorizedErrorHandlerResult", + "id": "def-common.UnauthorizedErrorHandlerResult", "type": "Type", "tags": [], "label": "UnauthorizedErrorHandlerResult", @@ -6555,17 +6563,17 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerRetryResult", + "section": "def-common.UnauthorizedErrorHandlerRetryResult", "text": "UnauthorizedErrorHandlerRetryResult" }, " | ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.UnauthorizedErrorHandlerNotHandledResult", + "section": "def-common.UnauthorizedErrorHandlerNotHandledResult", "text": "UnauthorizedErrorHandlerNotHandledResult" } ], @@ -6576,13 +6584,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 4f5e7b06e6ca5..f07f531833905 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 103 | 0 | 53 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json index b6dba147ae5f1..ecaf77f49e977 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isInlineScriptingEnabled", + "id": "def-common.isInlineScriptingEnabled", "type": "Function", "tags": [], "label": "isInlineScriptingEnabled", @@ -22,9 +30,9 @@ "({ client, }: { client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, "; }) => Promise" @@ -35,7 +43,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isInlineScriptingEnabled.$1", + "id": "def-common.isInlineScriptingEnabled.$1", "type": "Object", "tags": [], "label": "{\n client,\n}", @@ -46,7 +54,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isInlineScriptingEnabled.$1.client", + "id": "def-common.isInlineScriptingEnabled.$1.client", "type": "Object", "tags": [], "label": "client", @@ -1252,7 +1260,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isNotFoundFromUnsupportedServer", + "id": "def-common.isNotFoundFromUnsupportedServer", "type": "Function", "tags": [], "label": "isNotFoundFromUnsupportedServer", @@ -1268,7 +1276,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isNotFoundFromUnsupportedServer.$1", + "id": "def-common.isNotFoundFromUnsupportedServer.$1", "type": "Object", "tags": [], "label": "args", @@ -1279,7 +1287,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isNotFoundFromUnsupportedServer.$1.statusCode", + "id": "def-common.isNotFoundFromUnsupportedServer.$1.statusCode", "type": "CompoundType", "tags": [], "label": "statusCode", @@ -1293,7 +1301,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isNotFoundFromUnsupportedServer.$1.headers", + "id": "def-common.isNotFoundFromUnsupportedServer.$1.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -1315,7 +1323,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isSupportedEsServer", + "id": "def-common.isSupportedEsServer", "type": "Function", "tags": [], "label": "isSupportedEsServer", @@ -1331,7 +1339,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.isSupportedEsServer.$1", + "id": "def-common.isSupportedEsServer.$1", "type": "CompoundType", "tags": [], "label": "headers", @@ -1354,7 +1362,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.pollEsNodesVersion", + "id": "def-common.pollEsNodesVersion", "type": "Function", "tags": [], "label": "pollEsNodesVersion", @@ -1363,9 +1371,9 @@ "({ internalClient, log, kibanaVersion, ignoreVersionMismatch, esVersionCheckInterval: healthCheckInterval, }: ", { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.PollEsNodesVersionOptions", + "section": "def-common.PollEsNodesVersionOptions", "text": "PollEsNodesVersionOptions" }, ") => ", @@ -1373,9 +1381,9 @@ "<", { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodesVersionCompatibility", + "section": "def-common.NodesVersionCompatibility", "text": "NodesVersionCompatibility" }, ">" @@ -1386,7 +1394,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.pollEsNodesVersion.$1", + "id": "def-common.pollEsNodesVersion.$1", "type": "Object", "tags": [], "label": "{\n internalClient,\n log,\n kibanaVersion,\n ignoreVersionMismatch,\n esVersionCheckInterval: healthCheckInterval,\n}", @@ -1394,9 +1402,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.PollEsNodesVersionOptions", + "section": "def-common.PollEsNodesVersionOptions", "text": "PollEsNodesVersionOptions" } ], @@ -1413,7 +1421,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.ClusterInfo", + "id": "def-common.ClusterInfo", "type": "Interface", "tags": [ "private" @@ -1426,7 +1434,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.ClusterInfo.cluster_name", + "id": "def-common.ClusterInfo.cluster_name", "type": "string", "tags": [], "label": "cluster_name", @@ -1437,7 +1445,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.ClusterInfo.cluster_uuid", + "id": "def-common.ClusterInfo.cluster_uuid", "type": "string", "tags": [], "label": "cluster_uuid", @@ -1448,7 +1456,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.ClusterInfo.cluster_version", + "id": "def-common.ClusterInfo.cluster_version", "type": "string", "tags": [], "label": "cluster_version", @@ -1462,7 +1470,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodeInfo", + "id": "def-common.NodeInfo", "type": "Interface", "tags": [], "label": "NodeInfo", @@ -1473,7 +1481,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodeInfo.version", + "id": "def-common.NodeInfo.version", "type": "string", "tags": [], "label": "version", @@ -1484,7 +1492,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodeInfo.ip", + "id": "def-common.NodeInfo.ip", "type": "string", "tags": [], "label": "ip", @@ -1495,7 +1503,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodeInfo.http", + "id": "def-common.NodeInfo.http", "type": "Object", "tags": [], "label": "http", @@ -1509,7 +1517,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodeInfo.name", + "id": "def-common.NodeInfo.name", "type": "string", "tags": [], "label": "name", @@ -1523,7 +1531,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesInfo", + "id": "def-common.NodesInfo", "type": "Interface", "tags": [], "label": "NodesInfo", @@ -1534,7 +1542,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesInfo.nodes", + "id": "def-common.NodesInfo.nodes", "type": "Object", "tags": [], "label": "nodes", @@ -1543,9 +1551,9 @@ "{ [key: string]: ", { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" }, "; }" @@ -1559,7 +1567,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility", + "id": "def-common.NodesVersionCompatibility", "type": "Interface", "tags": [], "label": "NodesVersionCompatibility", @@ -1570,7 +1578,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.isCompatible", + "id": "def-common.NodesVersionCompatibility.isCompatible", "type": "boolean", "tags": [], "label": "isCompatible", @@ -1581,7 +1589,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.message", + "id": "def-common.NodesVersionCompatibility.message", "type": "string", "tags": [], "label": "message", @@ -1595,7 +1603,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.incompatibleNodes", + "id": "def-common.NodesVersionCompatibility.incompatibleNodes", "type": "Array", "tags": [], "label": "incompatibleNodes", @@ -1603,9 +1611,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" }, "[]" @@ -1616,7 +1624,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.warningNodes", + "id": "def-common.NodesVersionCompatibility.warningNodes", "type": "Array", "tags": [], "label": "warningNodes", @@ -1624,9 +1632,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerInternalPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" }, "[]" @@ -1637,7 +1645,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.kibanaVersion", + "id": "def-common.NodesVersionCompatibility.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -1648,7 +1656,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.NodesVersionCompatibility.nodesInfoRequestError", + "id": "def-common.NodesVersionCompatibility.nodesInfoRequestError", "type": "Object", "tags": [], "label": "nodesInfoRequestError", @@ -1665,7 +1673,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions", + "id": "def-common.PollEsNodesVersionOptions", "type": "Interface", "tags": [], "label": "PollEsNodesVersionOptions", @@ -1676,7 +1684,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions.internalClient", + "id": "def-common.PollEsNodesVersionOptions.internalClient", "type": "Object", "tags": [], "label": "internalClient", @@ -2876,7 +2884,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions.log", + "id": "def-common.PollEsNodesVersionOptions.log", "type": "Object", "tags": [], "label": "log", @@ -2884,9 +2892,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -2896,7 +2904,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions.kibanaVersion", + "id": "def-common.PollEsNodesVersionOptions.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -2907,7 +2915,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions.ignoreVersionMismatch", + "id": "def-common.PollEsNodesVersionOptions.ignoreVersionMismatch", "type": "boolean", "tags": [], "label": "ignoreVersionMismatch", @@ -2918,7 +2926,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.PollEsNodesVersionOptions.esVersionCheckInterval", + "id": "def-common.PollEsNodesVersionOptions.esVersionCheckInterval", "type": "number", "tags": [], "label": "esVersionCheckInterval", @@ -2935,7 +2943,7 @@ "misc": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.ElasticsearchConfigType", + "id": "def-common.ElasticsearchConfigType", "type": "Type", "tags": [], "label": "ElasticsearchConfigType", @@ -2952,7 +2960,7 @@ "objects": [ { "parentPluginId": "@kbn/core-elasticsearch-server-internal", - "id": "def-server.configSchema", + "id": "def-common.configSchema", "type": "Object", "tags": [], "label": "configSchema", @@ -2962,289 +2970,289 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ sniffOnStart: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; sniffInterval: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; sniffOnConnectionFault: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; hosts: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; maxSockets: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; maxIdleSockets: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; idleSocketTimeout: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; compression: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; username: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; password: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; serviceAccountToken: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; requestHeadersWhitelist: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; customHeaders: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">; shardTimeout: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; requestTimeout: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; pingTimeout: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; logQueries: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; ssl: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ verificationMode: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<\"none\" | \"full\" | \"certificate\">; certificateAuthorities: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; certificate: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; key: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; keyPassphrase: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; keystore: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ path: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; password: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; truststore: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ path: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; password: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; alwaysPresentCertificate: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; apiVersion: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; healthCheck: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ delay: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; ignoreVersionMismatch: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, "; skipStartupConnectionCheck: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, "; }>" @@ -3255,13 +3263,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index c566eb8b23f26..92c3a207e70d4 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 37 | 0 | 33 | 3 | -## Server +## Common ### Objects - + ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json b/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json index 61f670f9761de..787e518bcf5f8 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceStart", + "id": "def-common.MockedElasticSearchServiceStart", "type": "Interface", "tags": [], "label": "MockedElasticSearchServiceStart", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceStart.client", + "id": "def-common.MockedElasticSearchServiceStart.client", "type": "Object", "tags": [], "label": "client", @@ -33,9 +41,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ClusterClientMock", + "section": "def-common.ClusterClientMock", "text": "ClusterClientMock" } ], @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceStart.createClient", + "id": "def-common.MockedElasticSearchServiceStart.createClient", "type": "Function", "tags": [], "label": "createClient", @@ -54,33 +62,33 @@ "jest.MockInstance<", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.CustomClusterClientMock", + "section": "def-common.CustomClusterClientMock", "text": "CustomClusterClientMock" }, ", [type: string, config?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined]> & ((type: string, config?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined) => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.CustomClusterClientMock", + "section": "def-common.CustomClusterClientMock", "text": "CustomClusterClientMock" }, ")" @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceStart.createClient.$1", + "id": "def-common.MockedElasticSearchServiceStart.createClient.$1", "type": "string", "tags": [], "label": "type", @@ -103,7 +111,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceStart.createClient.$2", + "id": "def-common.MockedElasticSearchServiceStart.createClient.$2", "type": "Object", "tags": [], "label": "config", @@ -112,9 +120,9 @@ "Partial<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClientConfig", + "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, "> | undefined" @@ -133,7 +141,7 @@ "misc": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.MockedElasticSearchServiceSetup", + "id": "def-common.MockedElasticSearchServiceSetup", "type": "Type", "tags": [], "label": "MockedElasticSearchServiceSetup", @@ -142,17 +150,17 @@ "{ setUnauthorizedErrorHandler: jest.MockInstance; } & Omit<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServiceSetup", + "section": "def-common.ElasticsearchServiceSetup", "text": "ElasticsearchServiceSetup" }, ", \"legacy\"> & { legacy: { config$: ", @@ -170,7 +178,7 @@ "objects": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock", + "id": "def-common.elasticsearchServiceMock", "type": "Object", "tags": [], "label": "elasticsearchServiceMock", @@ -181,7 +189,7 @@ "children": [ { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.create", + "id": "def-common.elasticsearchServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -197,7 +205,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createInternalPreboot", + "id": "def-common.elasticsearchServiceMock.createInternalPreboot", "type": "Function", "tags": [], "label": "createInternalPreboot", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createPreboot", + "id": "def-common.elasticsearchServiceMock.createPreboot", "type": "Function", "tags": [], "label": "createPreboot", @@ -229,7 +237,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createInternalSetup", + "id": "def-common.elasticsearchServiceMock.createInternalSetup", "type": "Function", "tags": [], "label": "createInternalSetup", @@ -245,7 +253,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createSetup", + "id": "def-common.elasticsearchServiceMock.createSetup", "type": "Function", "tags": [], "label": "createSetup", @@ -254,9 +262,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerMocksPluginApi", - "section": "def-server.MockedElasticSearchServiceSetup", + "section": "def-common.MockedElasticSearchServiceSetup", "text": "MockedElasticSearchServiceSetup" } ], @@ -268,7 +276,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createInternalStart", + "id": "def-common.elasticsearchServiceMock.createInternalStart", "type": "Function", "tags": [], "label": "createInternalStart", @@ -277,9 +285,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerMocksPluginApi", - "section": "def-server.MockedElasticSearchServiceStart", + "section": "def-common.MockedElasticSearchServiceStart", "text": "MockedElasticSearchServiceStart" } ], @@ -291,7 +299,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.createStart", + "id": "def-common.elasticsearchServiceMock.createStart", "type": "Function", "tags": [], "label": "createStart", @@ -300,9 +308,9 @@ "() => ", { "pluginId": "@kbn/core-elasticsearch-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerMocksPluginApi", - "section": "def-server.MockedElasticSearchServiceStart", + "section": "def-common.MockedElasticSearchServiceStart", "text": "MockedElasticSearchServiceStart" } ], @@ -314,7 +322,7 @@ }, { "parentPluginId": "@kbn/core-elasticsearch-server-mocks", - "id": "def-server.elasticsearchServiceMock.Unnamed", + "id": "def-common.elasticsearchServiceMock.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -330,13 +338,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index eccdd68298e8f..8ca089a7d0808 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 15 | 1 | 15 | 0 | -## Server +## Common ### Objects - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_environment_server_internal.devdocs.json b/api_docs/kbn_core_environment_server_internal.devdocs.json index f9601c5c6904c..58fc8fdd6cdd4 100644 --- a/api_docs/kbn_core_environment_server_internal.devdocs.json +++ b/api_docs/kbn_core_environment_server_internal.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-environment-server-internal", - "id": "def-server.PidConfigType", + "id": "def-common.PidConfigType", "type": "Type", "tags": [], "label": "PidConfigType", @@ -33,7 +41,7 @@ "objects": [ { "parentPluginId": "@kbn/core-environment-server-internal", - "id": "def-server.pidConfig", + "id": "def-common.pidConfig", "type": "Object", "tags": [], "label": "pidConfig", @@ -44,7 +52,7 @@ "children": [ { "parentPluginId": "@kbn/core-environment-server-internal", - "id": "def-server.pidConfig.path", + "id": "def-common.pidConfig.path", "type": "string", "tags": [], "label": "path", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-environment-server-internal", - "id": "def-server.pidConfig.schema", + "id": "def-common.pidConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -63,25 +71,25 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ file: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; exclusive: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -94,13 +102,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 8e692d0c8c4a9..c7e003199805f 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 1 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_environment_server_mocks.devdocs.json b/api_docs/kbn_core_environment_server_mocks.devdocs.json index 093b8505fb091..d8c16fed44093 100644 --- a/api_docs/kbn_core_environment_server_mocks.devdocs.json +++ b/api_docs/kbn_core_environment_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-environment-server-mocks", - "id": "def-server.environmentServiceMock", + "id": "def-common.environmentServiceMock", "type": "Object", "tags": [], "label": "environmentServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-environment-server-mocks", - "id": "def-server.environmentServiceMock.create", + "id": "def-common.environmentServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-environment-server-mocks", - "id": "def-server.environmentServiceMock.createPrebootContract", + "id": "def-common.environmentServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-environment-server-mocks", - "id": "def-server.environmentServiceMock.createSetupContract", + "id": "def-common.environmentServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -82,13 +90,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index adc3032d9f9ff..7db9c5119831f 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 2ec5343d29171..87ed31a60b6a9 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 4fe42fa6e2109..edad7bf50e1b6 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.devdocs.json b/api_docs/kbn_core_execution_context_browser_mocks.devdocs.json index 97296da62f1cd..04d4882810719 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_execution_context_browser_mocks.devdocs.json @@ -45,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 474a0f27289ad..0ba0ff24360cd 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 2817988b6da39..ab904c27f058f 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.devdocs.json b/api_docs/kbn_core_execution_context_server.devdocs.json index 07ce068738ebf..daa7ba47c4b54 100644 --- a/api_docs/kbn_core_execution_context_server.devdocs.json +++ b/api_docs/kbn_core_execution_context_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextSetup", + "id": "def-common.ExecutionContextSetup", "type": "Interface", "tags": [], "label": "ExecutionContextSetup", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextSetup.withContext", + "id": "def-common.ExecutionContextSetup.withContext", "type": "Function", "tags": [], "label": "withContext", @@ -49,7 +57,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextSetup.withContext.$1", + "id": "def-common.ExecutionContextSetup.withContext.$1", "type": "Object", "tags": [], "label": "context", @@ -71,7 +79,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextSetup.withContext.$2", + "id": "def-common.ExecutionContextSetup.withContext.$2", "type": "Function", "tags": [], "label": "fn", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextSetup.getAsLabels", + "id": "def-common.ExecutionContextSetup.getAsLabels", "type": "Function", "tags": [], "label": "getAsLabels", @@ -109,7 +117,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.IExecutionContextContainer", + "id": "def-common.IExecutionContextContainer", "type": "Interface", "tags": [], "label": "IExecutionContextContainer", @@ -120,7 +128,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.IExecutionContextContainer.toString", + "id": "def-common.IExecutionContextContainer.toString", "type": "Function", "tags": [], "label": "toString", @@ -136,7 +144,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.IExecutionContextContainer.toJSON", + "id": "def-common.IExecutionContextContainer.toJSON", "type": "Function", "tags": [], "label": "toJSON", @@ -166,7 +174,7 @@ "misc": [ { "parentPluginId": "@kbn/core-execution-context-server", - "id": "def-server.ExecutionContextStart", + "id": "def-common.ExecutionContextStart", "type": "Type", "tags": [], "label": "ExecutionContextStart", @@ -174,9 +182,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -187,13 +195,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 2f057bd2f5127..347f42295d72b 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 0 | 8 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_execution_context_server_internal.devdocs.json b/api_docs/kbn_core_execution_context_server_internal.devdocs.json index a673d3df13e53..41fb50dcc06eb 100644 --- a/api_docs/kbn_core_execution_context_server_internal.devdocs.json +++ b/api_docs/kbn_core_execution_context_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService", + "id": "def-common.ExecutionContextService", "type": "Class", "tags": [], "label": "ExecutionContextService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerInternalPluginApi", - "section": "def-server.ExecutionContextService", + "section": "def-common.ExecutionContextService", "text": "ExecutionContextService" }, " implements ", @@ -39,7 +47,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService.Unnamed", + "id": "def-common.ExecutionContextService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -53,7 +61,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService.Unnamed.$1", + "id": "def-common.ExecutionContextService.Unnamed.$1", "type": "Object", "tags": [], "label": "coreContext", @@ -71,7 +79,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService.setup", + "id": "def-common.ExecutionContextService.setup", "type": "Function", "tags": [], "label": "setup", @@ -88,7 +96,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService.start", + "id": "def-common.ExecutionContextService.start", "type": "Function", "tags": [], "label": "start", @@ -105,7 +113,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.ExecutionContextService.stop", + "id": "def-common.ExecutionContextService.stop", "type": "Function", "tags": [], "label": "stop", @@ -130,7 +138,7 @@ "objects": [ { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.executionContextConfig", + "id": "def-common.executionContextConfig", "type": "Object", "tags": [], "label": "executionContextConfig", @@ -141,7 +149,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.executionContextConfig.path", + "id": "def-common.executionContextConfig.path", "type": "string", "tags": [], "label": "path", @@ -152,7 +160,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-internal", - "id": "def-server.executionContextConfig.schema", + "id": "def-common.executionContextConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -160,17 +168,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ enabled: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -183,13 +191,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index da8172ce7b051..1e58325459678 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 0 | 9 | 1 | -## Server +## Common ### Objects - + ### Classes - + diff --git a/api_docs/kbn_core_execution_context_server_mocks.devdocs.json b/api_docs/kbn_core_execution_context_server_mocks.devdocs.json index 14140199a25e0..2eff16c2fc8c0 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.devdocs.json +++ b/api_docs/kbn_core_execution_context_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-execution-context-server-mocks", - "id": "def-server.executionContextServiceMock", + "id": "def-common.executionContextServiceMock", "type": "Object", "tags": [], "label": "executionContextServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-execution-context-server-mocks", - "id": "def-server.executionContextServiceMock.createInternalSetupContract", + "id": "def-common.executionContextServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -46,7 +54,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-mocks", - "id": "def-server.executionContextServiceMock.createInternalStartContract", + "id": "def-common.executionContextServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -64,7 +72,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-mocks", - "id": "def-server.executionContextServiceMock.createSetupContract", + "id": "def-common.executionContextServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -73,9 +81,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" }, ">" @@ -88,7 +96,7 @@ }, { "parentPluginId": "@kbn/core-execution-context-server-mocks", - "id": "def-server.executionContextServiceMock.createStartContract", + "id": "def-common.executionContextServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -97,9 +105,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" }, ">" @@ -114,13 +122,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index c0f57fcfc1d9d..a817a8c416443 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 5 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 05f1c54a967c3..400c640a70e77 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index a9bd21f0d3c9d..42fdd50209ea7 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.devdocs.json b/api_docs/kbn_core_http_browser.devdocs.json index 7e3c52f8f463f..3b88bacd1a65d 100644 --- a/api_docs/kbn_core_http_browser.devdocs.json +++ b/api_docs/kbn_core_http_browser.devdocs.json @@ -435,9 +435,9 @@ ") => void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, " void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, " void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -727,9 +727,9 @@ ") => void | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -1999,68 +1999,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "@kbn/core-http-browser", - "id": "def-common.IHttpFetchError.req", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "req", - "description": [], - "signature": [ - "Request" - ], - "path": "packages/core/http/core-http-browser/src/types.ts", - "deprecated": true, - "removeBy": "8.8.0\n\nNote to maintainers: when looking at usages, mind that typical use could be inside a `catch` block,\nso TS and code-reference navigation might not highlight them.", - "trackAdoption": false, - "references": [ - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/util/errors/errors.test.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/util/errors/errors.test.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - } - ] - }, - { - "parentPluginId": "@kbn/core-http-browser", - "id": "def-common.IHttpFetchError.res", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "res", - "description": [], - "signature": [ - "Response | undefined" - ], - "path": "packages/core/http/core-http-browser/src/types.ts", - "deprecated": true, - "removeBy": "8.8.0\n\nNote to maintainers: when looking at usages, mind that typical use could be inside a `catch` block,\nso TS and code-reference navigation might not highlight them.", - "trackAdoption": false, - "references": [ - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - }, - { - "plugin": "@kbn/core-http-browser-internal", - "path": "packages/core/http/core-http-browser-internal/src/http_fetch_error.ts" - } - ] - }, { "parentPluginId": "@kbn/core-http-browser", "id": "def-common.IHttpFetchError.body", diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index f82a597cd328f..2c7b3006e9e5d 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; @@ -21,7 +21,7 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 111 | 4 | 37 | 0 | +| 109 | 4 | 35 | 0 | ## Common diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 33a9b81017344..a0d0e4b9a2b76 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.devdocs.json b/api_docs/kbn_core_http_browser_mocks.devdocs.json index 0dd35b3a0b406..99f58c97afc9c 100644 --- a/api_docs/kbn_core_http_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_http_browser_mocks.devdocs.json @@ -287,9 +287,9 @@ "({ basePath }?: { basePath?: string | undefined; }) => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 3d79c84daa6bd..2894db64af010 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 6c03a1c95c7ab..aa2fe8e617d7a 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.devdocs.json b/api_docs/kbn_core_http_context_server_mocks.devdocs.json index 1c09edc8d986e..547559b7e5ce0 100644 --- a/api_docs/kbn_core_http_context_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_context_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.ContextContainerMock", + "id": "def-common.ContextContainerMock", "type": "Type", "tags": [], "label": "ContextContainerMock", @@ -25,81 +33,81 @@ "{ registerContext: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextContainer", + "section": "def-common.IContextContainer", "text": "IContextContainer" }, ", [pluginOpaqueId: symbol, contextName: \"resolve\", provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, ", \"resolve\">]>; createHandler: jest.MockInstance<(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">, [pluginOpaqueId: symbol, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextContainer", + "section": "def-common.IContextContainer", "text": "IContextContainer" } ], @@ -112,7 +120,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextMock", + "id": "def-common.contextMock", "type": "Object", "tags": [], "label": "contextMock", @@ -123,7 +131,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextMock.create", + "id": "def-common.contextMock.create", "type": "Function", "tags": [], "label": "create", @@ -132,9 +140,9 @@ "(mockContext?: any) => ", { "pluginId": "@kbn/core-http-context-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpContextServerMocksPluginApi", - "section": "def-server.ContextContainerMock", + "section": "def-common.ContextContainerMock", "text": "ContextContainerMock" } ], @@ -145,7 +153,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextMock.create.$1", + "id": "def-common.contextMock.create.$1", "type": "Any", "tags": [], "label": "mockContext", @@ -164,7 +172,7 @@ }, { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock", + "id": "def-common.contextServiceMock", "type": "Object", "tags": [], "label": "contextServiceMock", @@ -175,7 +183,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock.create", + "id": "def-common.contextServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -191,7 +199,7 @@ }, { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock.createPrebootContract", + "id": "def-common.contextServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -208,7 +216,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock.createPrebootContract.$1", + "id": "def-common.contextServiceMock.createPrebootContract.$1", "type": "Object", "tags": [], "label": "mockContext", @@ -224,7 +232,7 @@ }, { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock.createSetupContract", + "id": "def-common.contextServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -241,7 +249,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-context-server-mocks", - "id": "def-server.contextServiceMock.createSetupContract.$1", + "id": "def-common.contextServiceMock.createSetupContract.$1", "type": "Object", "tags": [], "label": "mockContext", @@ -259,13 +267,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index b887fb3e728be..854c9e1d64796 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 10 | 1 | 10 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_request_handler_context_server.devdocs.json b/api_docs/kbn_core_http_request_handler_context_server.devdocs.json index bc823ae2e23be..f65d2dcfff8d7 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.devdocs.json +++ b/api_docs/kbn_core_http_request_handler_context_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CoreRequestHandlerContext", + "id": "def-common.CoreRequestHandlerContext", "type": "Interface", "tags": [], "label": "CoreRequestHandlerContext", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CoreRequestHandlerContext.savedObjects", + "id": "def-common.CoreRequestHandlerContext.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -35,9 +43,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRequestHandlerContext", + "section": "def-common.SavedObjectsRequestHandlerContext", "text": "SavedObjectsRequestHandlerContext" } ], @@ -47,7 +55,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CoreRequestHandlerContext.elasticsearch", + "id": "def-common.CoreRequestHandlerContext.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -55,9 +63,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchRequestHandlerContext", + "section": "def-common.ElasticsearchRequestHandlerContext", "text": "ElasticsearchRequestHandlerContext" } ], @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CoreRequestHandlerContext.uiSettings", + "id": "def-common.CoreRequestHandlerContext.uiSettings", "type": "Object", "tags": [], "label": "uiSettings", @@ -75,9 +83,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsRequestHandlerContext", + "section": "def-common.UiSettingsRequestHandlerContext", "text": "UiSettingsRequestHandlerContext" } ], @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CoreRequestHandlerContext.deprecations", + "id": "def-common.CoreRequestHandlerContext.deprecations", "type": "Object", "tags": [], "label": "deprecations", @@ -95,9 +103,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsRequestHandlerContext", + "section": "def-common.DeprecationsRequestHandlerContext", "text": "DeprecationsRequestHandlerContext" } ], @@ -110,7 +118,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootCoreRequestHandlerContext", + "id": "def-common.PrebootCoreRequestHandlerContext", "type": "Interface", "tags": [], "label": "PrebootCoreRequestHandlerContext", @@ -121,7 +129,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootCoreRequestHandlerContext.uiSettings", + "id": "def-common.PrebootCoreRequestHandlerContext.uiSettings", "type": "Object", "tags": [], "label": "uiSettings", @@ -129,9 +137,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootUiSettingsRequestHandlerContext", + "section": "def-common.PrebootUiSettingsRequestHandlerContext", "text": "PrebootUiSettingsRequestHandlerContext" } ], @@ -144,7 +152,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootRequestHandlerContext", + "id": "def-common.PrebootRequestHandlerContext", "type": "Interface", "tags": [], "label": "PrebootRequestHandlerContext", @@ -152,17 +160,17 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootRequestHandlerContext", + "section": "def-common.PrebootRequestHandlerContext", "text": "PrebootRequestHandlerContext" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" } ], @@ -172,7 +180,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootRequestHandlerContext.core", + "id": "def-common.PrebootRequestHandlerContext.core", "type": "Object", "tags": [], "label": "core", @@ -181,9 +189,9 @@ "Promise<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.PrebootCoreRequestHandlerContext", + "section": "def-common.PrebootCoreRequestHandlerContext", "text": "PrebootCoreRequestHandlerContext" }, ">" @@ -197,7 +205,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootUiSettingsRequestHandlerContext", + "id": "def-common.PrebootUiSettingsRequestHandlerContext", "type": "Interface", "tags": [], "label": "PrebootUiSettingsRequestHandlerContext", @@ -208,7 +216,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.PrebootUiSettingsRequestHandlerContext.client", + "id": "def-common.PrebootUiSettingsRequestHandlerContext.client", "type": "Object", "tags": [], "label": "client", @@ -216,9 +224,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -231,7 +239,7 @@ }, { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.RequestHandlerContext", + "id": "def-common.RequestHandlerContext", "type": "Interface", "tags": [], "label": "RequestHandlerContext", @@ -241,17 +249,17 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" } ], @@ -261,7 +269,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.RequestHandlerContext.core", + "id": "def-common.RequestHandlerContext.core", "type": "Object", "tags": [], "label": "core", @@ -270,9 +278,9 @@ "Promise<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.CoreRequestHandlerContext", + "section": "def-common.CoreRequestHandlerContext", "text": "CoreRequestHandlerContext" }, ">" @@ -289,7 +297,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-request-handler-context-server", - "id": "def-server.CustomRequestHandlerContext", + "id": "def-common.CustomRequestHandlerContext", "type": "Type", "tags": [], "label": "CustomRequestHandlerContext", @@ -299,9 +307,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { [Key in keyof T]: T[Key] extends Promise ? T[Key] : Promise; }" @@ -313,13 +321,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 3e6bd403fb2f5..e91d0d56adb04 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 14 | 0 | 11 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_resources_server.devdocs.json b/api_docs/kbn_core_http_resources_server.devdocs.json index 7e6561fb56e57..dd454b4ac32d7 100644 --- a/api_docs/kbn_core_http_resources_server.devdocs.json +++ b/api_docs/kbn_core_http_resources_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResources", + "id": "def-common.HttpResources", "type": "Interface", "tags": [], "label": "HttpResources", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResources.register", + "id": "def-common.HttpResources.register", "type": "Function", "tags": [], "label": "register", @@ -38,33 +46,33 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRequestHandler", + "section": "def-common.HttpResourcesRequestHandler", "text": "HttpResourcesRequestHandler" }, ") => void" @@ -75,7 +83,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResources.register.$1", + "id": "def-common.HttpResources.register.$1", "type": "Object", "tags": [], "label": "route", @@ -83,9 +91,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -97,7 +105,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResources.register.$2", + "id": "def-common.HttpResources.register.$2", "type": "Function", "tags": [], "label": "handler", @@ -105,9 +113,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRequestHandler", + "section": "def-common.HttpResourcesRequestHandler", "text": "HttpResourcesRequestHandler" }, "" @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRenderOptions", + "id": "def-common.HttpResourcesRenderOptions", "type": "Interface", "tags": [], "label": "HttpResourcesRenderOptions", @@ -138,7 +146,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRenderOptions.headers", + "id": "def-common.HttpResourcesRenderOptions.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -148,9 +156,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -164,7 +172,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit", + "id": "def-common.HttpResourcesServiceToolkit", "type": "Interface", "tags": [], "label": "HttpResourcesServiceToolkit", @@ -177,7 +185,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderCoreApp", + "id": "def-common.HttpResourcesServiceToolkit.renderCoreApp", "type": "Function", "tags": [], "label": "renderCoreApp", @@ -188,17 +196,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -209,7 +217,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderCoreApp.$1", + "id": "def-common.HttpResourcesServiceToolkit.renderCoreApp.$1", "type": "Object", "tags": [], "label": "options", @@ -217,9 +225,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined" @@ -234,7 +242,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderAnonymousCoreApp", + "id": "def-common.HttpResourcesServiceToolkit.renderAnonymousCoreApp", "type": "Function", "tags": [], "label": "renderAnonymousCoreApp", @@ -245,17 +253,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -266,7 +274,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderAnonymousCoreApp.$1", + "id": "def-common.HttpResourcesServiceToolkit.renderAnonymousCoreApp.$1", "type": "Object", "tags": [], "label": "options", @@ -274,9 +282,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined" @@ -291,7 +299,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderHtml", + "id": "def-common.HttpResourcesServiceToolkit.renderHtml", "type": "Function", "tags": [], "label": "renderHtml", @@ -302,17 +310,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -323,7 +331,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderHtml.$1", + "id": "def-common.HttpResourcesServiceToolkit.renderHtml.$1", "type": "Object", "tags": [], "label": "options", @@ -331,9 +339,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -347,7 +355,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderJs", + "id": "def-common.HttpResourcesServiceToolkit.renderJs", "type": "Function", "tags": [], "label": "renderJs", @@ -358,17 +366,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -379,7 +387,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderJs.$1", + "id": "def-common.HttpResourcesServiceToolkit.renderJs.$1", "type": "Object", "tags": [], "label": "options", @@ -387,9 +395,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -403,7 +411,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderCss", + "id": "def-common.HttpResourcesServiceToolkit.renderCss", "type": "Function", "tags": [], "label": "renderCss", @@ -414,17 +422,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -435,7 +443,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesServiceToolkit.renderCss.$1", + "id": "def-common.HttpResourcesServiceToolkit.renderCss.$1", "type": "Object", "tags": [], "label": "options", @@ -443,9 +451,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -465,7 +473,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRequestHandler", + "id": "def-common.HttpResourcesRequestHandler", "type": "Type", "tags": [], "label": "HttpResourcesRequestHandler", @@ -476,33 +484,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaSuccessResponseFactory", + "section": "def-common.KibanaSuccessResponseFactory", "text": "KibanaSuccessResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" }, " & { custom | Error | ", @@ -510,49 +518,49 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "): ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "; } & ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesServiceToolkit", + "section": "def-common.HttpResourcesServiceToolkit", "text": "HttpResourcesServiceToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -564,7 +572,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRequestHandler.$1", + "id": "def-common.HttpResourcesRequestHandler.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -580,7 +588,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRequestHandler.$2", + "id": "def-common.HttpResourcesRequestHandler.$2", "type": "Object", "tags": [], "label": "request", @@ -590,9 +598,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -603,7 +611,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesRequestHandler.$3", + "id": "def-common.HttpResourcesRequestHandler.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -622,7 +630,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server", - "id": "def-server.HttpResourcesResponseOptions", + "id": "def-common.HttpResourcesResponseOptions", "type": "Type", "tags": [], "label": "HttpResourcesResponseOptions", @@ -632,9 +640,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -645,13 +653,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 56eefc61eb411..fa4f5797d3864 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 22 | 0 | 7 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_resources_server_internal.devdocs.json b/api_docs/kbn_core_http_resources_server_internal.devdocs.json index 4fe3811d674d6..8a2a51be85346 100644 --- a/api_docs/kbn_core_http_resources_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_resources_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService", + "id": "def-common.HttpResourcesService", "type": "Class", "tags": [], "label": "HttpResourcesService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-http-resources-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerInternalPluginApi", - "section": "def-server.HttpResourcesService", + "section": "def-common.HttpResourcesService", "text": "HttpResourcesService" }, " implements ", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.Unnamed", + "id": "def-common.HttpResourcesService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -51,7 +59,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.Unnamed.$1", + "id": "def-common.HttpResourcesService.Unnamed.$1", "type": "Object", "tags": [], "label": "core", @@ -69,7 +77,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.preboot", + "id": "def-common.HttpResourcesService.preboot", "type": "Function", "tags": [], "label": "preboot", @@ -80,25 +88,25 @@ ") => { createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">) => ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }" @@ -109,7 +117,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.preboot.$1", + "id": "def-common.HttpResourcesService.preboot.$1", "type": "Object", "tags": [], "label": "deps", @@ -127,7 +135,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.setup", + "id": "def-common.HttpResourcesService.setup", "type": "Function", "tags": [], "label": "setup", @@ -138,25 +146,25 @@ ") => { createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">) => ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }" @@ -167,7 +175,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.setup.$1", + "id": "def-common.HttpResourcesService.setup.$1", "type": "Object", "tags": [], "label": "deps", @@ -185,7 +193,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.start", + "id": "def-common.HttpResourcesService.start", "type": "Function", "tags": [], "label": "start", @@ -201,7 +209,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-internal", - "id": "def-server.HttpResourcesService.stop", + "id": "def-common.HttpResourcesService.stop", "type": "Function", "tags": [], "label": "stop", @@ -224,13 +232,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 9a7a279dd8f39..a20fac2430dab 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 0 | 9 | 3 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_http_resources_server_mocks.devdocs.json b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json index 4c38ef17466c9..21a8b73424778 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.HttpResourcesMock", + "id": "def-common.HttpResourcesMock", "type": "Type", "tags": [], "label": "HttpResourcesMock", @@ -25,25 +33,25 @@ "{ setup: jest.MockInstance<{ createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">) => ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }, [deps: ", @@ -51,25 +59,25 @@ "]>; start: jest.MockInstance; stop: jest.MockInstance; preboot: jest.MockInstance<{ createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">) => ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }, [deps: ", @@ -77,17 +85,17 @@ "]>; } & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", { "pluginId": "@kbn/core-http-resources-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerInternalPluginApi", - "section": "def-server.HttpResourcesService", + "section": "def-common.HttpResourcesService", "text": "HttpResourcesService" }, ">" @@ -101,7 +109,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock", + "id": "def-common.httpResourcesMock", "type": "Object", "tags": [], "label": "httpResourcesMock", @@ -112,7 +120,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock.create", + "id": "def-common.httpResourcesMock.create", "type": "Function", "tags": [], "label": "create", @@ -121,9 +129,9 @@ "() => ", { "pluginId": "@kbn/core-http-resources-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerMocksPluginApi", - "section": "def-server.HttpResourcesMock", + "section": "def-common.HttpResourcesMock", "text": "HttpResourcesMock" } ], @@ -135,7 +143,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock.createRegistrar", + "id": "def-common.httpResourcesMock.createRegistrar", "type": "Function", "tags": [], "label": "createRegistrar", @@ -144,9 +152,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, ">" @@ -159,7 +167,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock.createPrebootContract", + "id": "def-common.httpResourcesMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -168,9 +176,9 @@ "() => { createRegistrar: jest.Mock, []>; }" @@ -183,7 +191,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock.createSetupContract", + "id": "def-common.httpResourcesMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -192,9 +200,9 @@ "() => { createRegistrar: jest.Mock, []>; }" @@ -207,7 +215,7 @@ }, { "parentPluginId": "@kbn/core-http-resources-server-mocks", - "id": "def-server.httpResourcesMock.createResponseFactory", + "id": "def-common.httpResourcesMock.createResponseFactory", "type": "Function", "tags": [], "label": "createResponseFactory", @@ -216,465 +224,465 @@ "() => { renderCoreApp: jest.MockInstance>, [options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">); renderAnonymousCoreApp: jest.MockInstance>, [options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResourcesRenderOptions", + "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">); renderHtml: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, "]> & ((options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); renderJs: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, "]> & ((options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); renderCss: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, "]> & ((options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); ok: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); accepted: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); noContent: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); redirected: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RedirectResponseOptions", + "section": "def-common.RedirectResponseOptions", "text": "RedirectResponseOptions" }, "]> & ((options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RedirectResponseOptions", + "section": "def-common.RedirectResponseOptions", "text": "RedirectResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); badRequest: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); unauthorized: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); forbidden: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); notFound: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); conflict: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined]> & ((options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); customError: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "<", @@ -682,17 +690,17 @@ " | Buffer | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, ">]> & ((options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "<", @@ -700,33 +708,33 @@ " | Buffer | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, ">) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); custom: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ", [options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, " | Error | ", @@ -734,9 +742,9 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>]> & ( | Error | ", @@ -744,25 +752,25 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "); }" @@ -777,13 +785,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index cd8503cb4304f..a1a7fc6040a27 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 7 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_router_server_internal.devdocs.json b/api_docs/kbn_core_http_router_server_internal.devdocs.json index c8660a33d0e99..bbdd0947ae928 100644 --- a/api_docs/kbn_core_http_router_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_router_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter", + "id": "def-common.HapiResponseAdapter", "type": "Class", "tags": [], "label": "HapiResponseAdapter", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.Unnamed", + "id": "def-common.HapiResponseAdapter.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.Unnamed.$1", + "id": "def-common.HapiResponseAdapter.Unnamed.$1", "type": "Object", "tags": [], "label": "responseToolkit", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.toBadRequest", + "id": "def-common.HapiResponseAdapter.toBadRequest", "type": "Function", "tags": [], "label": "toBadRequest", @@ -71,7 +79,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.toBadRequest.$1", + "id": "def-common.HapiResponseAdapter.toBadRequest.$1", "type": "string", "tags": [], "label": "message", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.toInternalError", + "id": "def-common.HapiResponseAdapter.toInternalError", "type": "Function", "tags": [], "label": "toInternalError", @@ -107,7 +115,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.handle", + "id": "def-common.HapiResponseAdapter.handle", "type": "Function", "tags": [], "label": "handle", @@ -126,7 +134,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.HapiResponseAdapter.handle.$1", + "id": "def-common.HapiResponseAdapter.handle.$1", "type": "Object", "tags": [], "label": "kibanaResponse", @@ -150,7 +158,7 @@ "functions": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.filterHeaders", + "id": "def-common.filterHeaders", "type": "Function", "tags": [], "label": "filterHeaders", @@ -159,17 +167,17 @@ "(headers: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" }, ", fieldsToKeep: string[], fieldsToExclude: string[]) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" } ], @@ -179,7 +187,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.filterHeaders.$1", + "id": "def-common.filterHeaders.$1", "type": "CompoundType", "tags": [], "label": "headers", @@ -187,9 +195,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.Headers", + "section": "def-common.Headers", "text": "Headers" } ], @@ -200,7 +208,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.filterHeaders.$2", + "id": "def-common.filterHeaders.$2", "type": "Array", "tags": [], "label": "fieldsToKeep", @@ -215,7 +223,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.filterHeaders.$3", + "id": "def-common.filterHeaders.$3", "type": "Array", "tags": [], "label": "fieldsToExclude", @@ -234,7 +242,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.isKibanaResponse", + "id": "def-common.isKibanaResponse", "type": "Function", "tags": [], "label": "isKibanaResponse", @@ -248,7 +256,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.isKibanaResponse.$1", + "id": "def-common.isKibanaResponse.$1", "type": "Object", "tags": [], "label": "response", @@ -267,7 +275,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.isSafeMethod", + "id": "def-common.isSafeMethod", "type": "Function", "tags": [], "label": "isSafeMethod", @@ -276,9 +284,9 @@ "(method: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteMethod", + "section": "def-common.RouteMethod", "text": "RouteMethod" }, ") => boolean" @@ -289,7 +297,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.isSafeMethod.$1", + "id": "def-common.isSafeMethod.$1", "type": "CompoundType", "tags": [], "label": "method", @@ -297,9 +305,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteMethod", + "section": "def-common.RouteMethod", "text": "RouteMethod" } ], @@ -319,7 +327,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory", + "id": "def-common.kibanaResponseFactory", "type": "Object", "tags": [], "label": "kibanaResponseFactory", @@ -330,7 +338,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory.Unnamed", + "id": "def-common.kibanaResponseFactory.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -344,7 +352,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory.Unnamed", + "id": "def-common.kibanaResponseFactory.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -358,7 +366,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory.Unnamed", + "id": "def-common.kibanaResponseFactory.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -372,7 +380,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory.custom", + "id": "def-common.kibanaResponseFactory.custom", "type": "Function", "tags": [], "label": "custom", @@ -383,17 +391,17 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, ") => ", @@ -406,7 +414,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.kibanaResponseFactory.custom.$1", + "id": "def-common.kibanaResponseFactory.custom.$1", "type": "Object", "tags": [], "label": "options", @@ -414,9 +422,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "" @@ -434,7 +442,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.lifecycleResponseFactory", + "id": "def-common.lifecycleResponseFactory", "type": "Object", "tags": [], "label": "lifecycleResponseFactory", @@ -445,7 +453,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.lifecycleResponseFactory.Unnamed", + "id": "def-common.lifecycleResponseFactory.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -459,7 +467,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-internal", - "id": "def-server.lifecycleResponseFactory.Unnamed", + "id": "def-common.lifecycleResponseFactory.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -475,13 +483,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 6f4c1ace3ea0c..906ed5e220bf4 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 25 | 5 | 25 | 1 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + diff --git a/api_docs/kbn_core_http_router_server_mocks.devdocs.json b/api_docs/kbn_core_http_router_server_mocks.devdocs.json index 30d2905d9bce4..6b884a16197f6 100644 --- a/api_docs/kbn_core_http_router_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_router_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.RouterMock", + "id": "def-common.RouterMock", "type": "Type", "tags": [], "label": "RouterMock", @@ -25,201 +33,201 @@ "{ routerPath: string; get: jest.MockInstance, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; post: jest.MockInstance, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; put: jest.MockInstance, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; patch: jest.MockInstance, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; delete: jest.MockInstance, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; handleLegacyErrors: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ", [handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "]>; getRoutes: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouterRoute", + "section": "def-common.RouterRoute", "text": "RouterRoute" }, "[], []>; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -233,7 +241,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter", + "id": "def-common.mockRouter", "type": "Object", "tags": [], "label": "mockRouter", @@ -244,7 +252,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter.create", + "id": "def-common.mockRouter.create", "type": "Function", "tags": [], "label": "create", @@ -253,9 +261,9 @@ "({ routerPath }?: { routerPath?: string | undefined; }) => ", { "pluginId": "@kbn/core-http-router-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRouterServerMocksPluginApi", - "section": "def-server.RouterMock", + "section": "def-common.RouterMock", "text": "RouterMock" } ], @@ -266,7 +274,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter.create.$1", + "id": "def-common.mockRouter.create.$1", "type": "Object", "tags": [], "label": "__0", @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter.createKibanaRequest", + "id": "def-common.mockRouter.createKibanaRequest", "type": "Function", "tags": [], "label": "createKibanaRequest", @@ -293,9 +301,9 @@ ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -307,7 +315,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter.createKibanaRequest.$1", + "id": "def-common.mockRouter.createKibanaRequest.$1", "type": "Object", "tags": [], "label": "__0", @@ -324,7 +332,7 @@ }, { "parentPluginId": "@kbn/core-http-router-server-mocks", - "id": "def-server.mockRouter.createResponseFactory", + "id": "def-common.mockRouter.createResponseFactory", "type": "Function", "tags": [], "label": "createResponseFactory", @@ -333,9 +341,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ">" @@ -350,13 +358,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index f979155866d4c..28db91382e9c8 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 7 | 1 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 67d50befff8cf..695493f22ca3d 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationError", + "id": "def-common.RouteValidationError", "type": "Class", "tags": [], "label": "RouteValidationError", @@ -22,17 +30,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, " extends ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.SchemaTypeError", + "section": "def-common.SchemaTypeError", "text": "SchemaTypeError" } ], @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationError.Unnamed", + "id": "def-common.RouteValidationError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -56,7 +64,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationError.Unnamed.$1", + "id": "def-common.RouteValidationError.Unnamed.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -71,7 +79,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationError.Unnamed.$2", + "id": "def-common.RouteValidationError.Unnamed.$2", "type": "Array", "tags": [], "label": "path", @@ -95,7 +103,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthRedirectedParams", + "id": "def-common.AuthRedirectedParams", "type": "Interface", "tags": [], "label": "AuthRedirectedParams", @@ -108,7 +116,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthRedirectedParams.headers", + "id": "def-common.AuthRedirectedParams.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -119,9 +127,9 @@ "{ location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" } ], @@ -134,7 +142,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultAuthenticated", + "id": "def-common.AuthResultAuthenticated", "type": "Interface", "tags": [], "label": "AuthResultAuthenticated", @@ -142,17 +150,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultAuthenticated", + "section": "def-common.AuthResultAuthenticated", "text": "AuthResultAuthenticated" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" } ], @@ -162,7 +170,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultAuthenticated.type", + "id": "def-common.AuthResultAuthenticated.type", "type": "string", "tags": [], "label": "type", @@ -170,9 +178,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".authenticated" @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultNotHandled", + "id": "def-common.AuthResultNotHandled", "type": "Interface", "tags": [], "label": "AuthResultNotHandled", @@ -197,7 +205,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultNotHandled.type", + "id": "def-common.AuthResultNotHandled.type", "type": "string", "tags": [], "label": "type", @@ -205,9 +213,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".notHandled" @@ -221,7 +229,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultParams", + "id": "def-common.AuthResultParams", "type": "Interface", "tags": [], "label": "AuthResultParams", @@ -234,7 +242,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultParams.state", + "id": "def-common.AuthResultParams.state", "type": "Object", "tags": [], "label": "state", @@ -250,7 +258,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultParams.requestHeaders", + "id": "def-common.AuthResultParams.requestHeaders", "type": "Object", "tags": [], "label": "requestHeaders", @@ -260,9 +268,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -273,7 +281,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultParams.responseHeaders", + "id": "def-common.AuthResultParams.responseHeaders", "type": "Object", "tags": [], "label": "responseHeaders", @@ -283,9 +291,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -299,7 +307,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultRedirected", + "id": "def-common.AuthResultRedirected", "type": "Interface", "tags": [], "label": "AuthResultRedirected", @@ -307,17 +315,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultRedirected", + "section": "def-common.AuthResultRedirected", "text": "AuthResultRedirected" }, " extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthRedirectedParams", + "section": "def-common.AuthRedirectedParams", "text": "AuthRedirectedParams" } ], @@ -327,7 +335,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultRedirected.type", + "id": "def-common.AuthResultRedirected.type", "type": "string", "tags": [], "label": "type", @@ -335,9 +343,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultType", + "section": "def-common.AuthResultType", "text": "AuthResultType" }, ".redirected" @@ -351,7 +359,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit", + "id": "def-common.AuthToolkit", "type": "Interface", "tags": [], "label": "AuthToolkit", @@ -362,7 +370,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit.authenticated", + "id": "def-common.AuthToolkit.authenticated", "type": "Function", "tags": [], "label": "authenticated", @@ -373,17 +381,17 @@ "(data?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -393,7 +401,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit.authenticated.$1", + "id": "def-common.AuthToolkit.authenticated.$1", "type": "Object", "tags": [], "label": "data", @@ -401,9 +409,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultParams", + "section": "def-common.AuthResultParams", "text": "AuthResultParams" }, " | undefined" @@ -418,7 +426,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit.notHandled", + "id": "def-common.AuthToolkit.notHandled", "type": "Function", "tags": [], "label": "notHandled", @@ -429,9 +437,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -443,7 +451,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit.redirected", + "id": "def-common.AuthToolkit.redirected", "type": "Function", "tags": [], "label": "redirected", @@ -454,17 +462,17 @@ "(headers: { location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" } ], @@ -474,7 +482,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthToolkit.redirected.$1", + "id": "def-common.AuthToolkit.redirected.$1", "type": "CompoundType", "tags": [], "label": "headers", @@ -483,9 +491,9 @@ "{ location: string; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" } ], @@ -502,7 +510,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.CustomHttpResponseOptions", + "id": "def-common.CustomHttpResponseOptions", "type": "Interface", "tags": [], "label": "CustomHttpResponseOptions", @@ -512,9 +520,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "" @@ -525,7 +533,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.CustomHttpResponseOptions.body", + "id": "def-common.CustomHttpResponseOptions.body", "type": "Uncategorized", "tags": [], "label": "body", @@ -541,7 +549,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.CustomHttpResponseOptions.headers", + "id": "def-common.CustomHttpResponseOptions.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -551,9 +559,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -564,7 +572,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.CustomHttpResponseOptions.bypassErrorFormat", + "id": "def-common.CustomHttpResponseOptions.bypassErrorFormat", "type": "CompoundType", "tags": [], "label": "bypassErrorFormat", @@ -580,7 +588,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.CustomHttpResponseOptions.statusCode", + "id": "def-common.CustomHttpResponseOptions.statusCode", "type": "number", "tags": [], "label": "statusCode", @@ -594,7 +602,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ErrorHttpResponseOptions", + "id": "def-common.ErrorHttpResponseOptions", "type": "Interface", "tags": [], "label": "ErrorHttpResponseOptions", @@ -607,7 +615,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ErrorHttpResponseOptions.body", + "id": "def-common.ErrorHttpResponseOptions.body", "type": "CompoundType", "tags": [], "label": "body", @@ -617,9 +625,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, " | undefined" @@ -630,7 +638,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ErrorHttpResponseOptions.headers", + "id": "def-common.ErrorHttpResponseOptions.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -640,9 +648,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -656,7 +664,133 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpAuth", + "id": "def-common.FakeRawRequest", + "type": "Interface", + "tags": [], + "label": "FakeRawRequest", + "description": [ + "\nRepresents a fake raw request.\nCan be used to instantiate a `KibanaRequest`." + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.headers", + "type": "CompoundType", + "tags": [], + "label": "headers", + "description": [ + "The headers associated with the request." + ], + "signature": [ + "{ accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; allow?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; date?: string | string[] | undefined; etag?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; from?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; location?: string | string[] | undefined; origin?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; range?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; warning?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.path", + "type": "string", + "tags": [], + "label": "path", + "description": [ + "The path of the request" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.method", + "type": "string", + "tags": [], + "label": "method", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.url", + "type": "Object", + "tags": [], + "label": "url", + "description": [], + "signature": [ + "URL", + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.app", + "type": "Object", + "tags": [], + "label": "app", + "description": [], + "signature": [ + "Record | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.auth", + "type": "Object", + "tags": [], + "label": "auth", + "description": [], + "signature": [ + "{ isAuthenticated?: boolean | undefined; } | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.FakeRawRequest.route", + "type": "Object", + "tags": [], + "label": "route", + "description": [], + "signature": [ + "{ settings?: { tags?: string[] | undefined; app?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRouteOptions", + "text": "KibanaRouteOptions" + }, + " | undefined; payload?: ", + "RouteOptionsPayload", + " | undefined; } | undefined; } | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.HttpAuth", "type": "Interface", "tags": [], "label": "HttpAuth", @@ -667,7 +801,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpAuth.get", + "id": "def-common.HttpAuth.get", "type": "Function", "tags": [], "label": "get", @@ -678,17 +812,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => { status: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthStatus", + "section": "def-common.AuthStatus", "text": "AuthStatus" }, "; state: T; }" @@ -700,7 +834,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpAuth.get.$1", + "id": "def-common.HttpAuth.get.$1", "type": "Object", "tags": [], "label": "request", @@ -708,9 +842,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -723,7 +857,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpAuth.isAuthenticated", + "id": "def-common.HttpAuth.isAuthenticated", "type": "Function", "tags": [], "label": "isAuthenticated", @@ -734,9 +868,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -748,7 +882,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpAuth.isAuthenticated.$1", + "id": "def-common.HttpAuth.isAuthenticated.$1", "type": "Object", "tags": [], "label": "request", @@ -756,9 +890,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -774,7 +908,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpResponseOptions", + "id": "def-common.HttpResponseOptions", "type": "Interface", "tags": [], "label": "HttpResponseOptions", @@ -787,7 +921,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpResponseOptions.body", + "id": "def-common.HttpResponseOptions.body", "type": "CompoundType", "tags": [], "label": "body", @@ -805,7 +939,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpResponseOptions.headers", + "id": "def-common.HttpResponseOptions.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -815,9 +949,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -828,7 +962,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpResponseOptions.bypassErrorFormat", + "id": "def-common.HttpResponseOptions.bypassErrorFormat", "type": "CompoundType", "tags": [], "label": "bypassErrorFormat", @@ -847,7 +981,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServerInfo", + "id": "def-common.HttpServerInfo", "type": "Interface", "tags": [], "label": "HttpServerInfo", @@ -860,7 +994,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServerInfo.name", + "id": "def-common.HttpServerInfo.name", "type": "string", "tags": [], "label": "name", @@ -873,7 +1007,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServerInfo.hostname", + "id": "def-common.HttpServerInfo.hostname", "type": "string", "tags": [], "label": "hostname", @@ -886,7 +1020,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServerInfo.port", + "id": "def-common.HttpServerInfo.port", "type": "number", "tags": [], "label": "port", @@ -899,7 +1033,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServerInfo.protocol", + "id": "def-common.HttpServerInfo.protocol", "type": "CompoundType", "tags": [], "label": "protocol", @@ -918,7 +1052,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot", + "id": "def-common.HttpServicePreboot", "type": "Interface", "tags": [], "label": "HttpServicePreboot", @@ -928,9 +1062,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServicePreboot", + "section": "def-common.HttpServicePreboot", "text": "HttpServicePreboot" }, "" @@ -941,7 +1075,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot.registerRoutes", + "id": "def-common.HttpServicePreboot.registerRoutes", "type": "Function", "tags": [], "label": "registerRoutes", @@ -952,9 +1086,9 @@ "(path: string, callback: (router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, ") => void) => void" @@ -965,7 +1099,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot.registerRoutes.$1", + "id": "def-common.HttpServicePreboot.registerRoutes.$1", "type": "string", "tags": [], "label": "path", @@ -980,7 +1114,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot.registerRoutes.$2", + "id": "def-common.HttpServicePreboot.registerRoutes.$2", "type": "Function", "tags": [], "label": "callback", @@ -989,9 +1123,9 @@ "(router: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, ") => void" @@ -1006,7 +1140,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot.basePath", + "id": "def-common.HttpServicePreboot.basePath", "type": "Object", "tags": [], "label": "basePath", @@ -1016,9 +1150,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -1028,7 +1162,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServicePreboot.getServerInfo", + "id": "def-common.HttpServicePreboot.getServerInfo", "type": "Function", "tags": [], "label": "getServerInfo", @@ -1039,9 +1173,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -1056,7 +1190,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup", + "id": "def-common.HttpServiceSetup", "type": "Interface", "tags": [], "label": "HttpServiceSetup", @@ -1066,9 +1200,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, "" @@ -1079,7 +1213,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.createCookieSessionStorageFactory", + "id": "def-common.HttpServiceSetup.createCookieSessionStorageFactory", "type": "Function", "tags": [], "label": "createCookieSessionStorageFactory", @@ -1090,17 +1224,17 @@ "(cookieOptions: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, ") => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, ">" @@ -1111,7 +1245,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.createCookieSessionStorageFactory.$1", + "id": "def-common.HttpServiceSetup.createCookieSessionStorageFactory.$1", "type": "Object", "tags": [], "label": "cookieOptions", @@ -1121,9 +1255,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "" @@ -1138,7 +1272,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreRouting", + "id": "def-common.HttpServiceSetup.registerOnPreRouting", "type": "Function", "tags": [], "label": "registerOnPreRouting", @@ -1149,9 +1283,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingHandler", + "section": "def-common.OnPreRoutingHandler", "text": "OnPreRoutingHandler" }, ") => void" @@ -1162,7 +1296,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreRouting.$1", + "id": "def-common.HttpServiceSetup.registerOnPreRouting.$1", "type": "Function", "tags": [], "label": "handler", @@ -1172,9 +1306,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingHandler", + "section": "def-common.OnPreRoutingHandler", "text": "OnPreRoutingHandler" } ], @@ -1188,7 +1322,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreAuth", + "id": "def-common.HttpServiceSetup.registerOnPreAuth", "type": "Function", "tags": [], "label": "registerOnPreAuth", @@ -1199,9 +1333,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthHandler", + "section": "def-common.OnPreAuthHandler", "text": "OnPreAuthHandler" }, ") => void" @@ -1212,7 +1346,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreAuth.$1", + "id": "def-common.HttpServiceSetup.registerOnPreAuth.$1", "type": "Function", "tags": [], "label": "handler", @@ -1222,9 +1356,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthHandler", + "section": "def-common.OnPreAuthHandler", "text": "OnPreAuthHandler" } ], @@ -1238,7 +1372,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerAuth", + "id": "def-common.HttpServiceSetup.registerAuth", "type": "Function", "tags": [], "label": "registerAuth", @@ -1249,9 +1383,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthenticationHandler", + "section": "def-common.AuthenticationHandler", "text": "AuthenticationHandler" }, ") => void" @@ -1262,7 +1396,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerAuth.$1", + "id": "def-common.HttpServiceSetup.registerAuth.$1", "type": "Function", "tags": [], "label": "handler", @@ -1272,9 +1406,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthenticationHandler", + "section": "def-common.AuthenticationHandler", "text": "AuthenticationHandler" } ], @@ -1288,7 +1422,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPostAuth", + "id": "def-common.HttpServiceSetup.registerOnPostAuth", "type": "Function", "tags": [], "label": "registerOnPostAuth", @@ -1299,9 +1433,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthHandler", + "section": "def-common.OnPostAuthHandler", "text": "OnPostAuthHandler" }, ") => void" @@ -1312,7 +1446,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPostAuth.$1", + "id": "def-common.HttpServiceSetup.registerOnPostAuth.$1", "type": "Function", "tags": [], "label": "handler", @@ -1322,9 +1456,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthHandler", + "section": "def-common.OnPostAuthHandler", "text": "OnPostAuthHandler" } ], @@ -1338,7 +1472,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreResponse", + "id": "def-common.HttpServiceSetup.registerOnPreResponse", "type": "Function", "tags": [], "label": "registerOnPreResponse", @@ -1349,9 +1483,9 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseHandler", + "section": "def-common.OnPreResponseHandler", "text": "OnPreResponseHandler" }, ") => void" @@ -1362,7 +1496,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerOnPreResponse.$1", + "id": "def-common.HttpServiceSetup.registerOnPreResponse.$1", "type": "Function", "tags": [], "label": "handler", @@ -1372,9 +1506,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseHandler", + "section": "def-common.OnPreResponseHandler", "text": "OnPreResponseHandler" } ], @@ -1388,7 +1522,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.basePath", + "id": "def-common.HttpServiceSetup.basePath", "type": "Object", "tags": [], "label": "basePath", @@ -1398,9 +1532,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -1410,7 +1544,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.csp", + "id": "def-common.HttpServiceSetup.csp", "type": "Object", "tags": [], "label": "csp", @@ -1420,9 +1554,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" } ], @@ -1432,7 +1566,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.createRouter", + "id": "def-common.HttpServiceSetup.createRouter", "type": "Function", "tags": [], "label": "createRouter", @@ -1443,9 +1577,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -1458,7 +1592,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerRouteHandlerContext", + "id": "def-common.HttpServiceSetup.registerRouteHandlerContext", "type": "Function", "tags": [], "label": "registerRouteHandlerContext", @@ -1469,17 +1603,17 @@ ">(contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextContainer", + "section": "def-common.IContextContainer", "text": "IContextContainer" } ], @@ -1489,7 +1623,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerRouteHandlerContext.$1", + "id": "def-common.HttpServiceSetup.registerRouteHandlerContext.$1", "type": "Uncategorized", "tags": [], "label": "contextName", @@ -1504,7 +1638,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.registerRouteHandlerContext.$2", + "id": "def-common.HttpServiceSetup.registerRouteHandlerContext.$2", "type": "Function", "tags": [], "label": "provider", @@ -1512,9 +1646,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, "" @@ -1529,7 +1663,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceSetup.getServerInfo", + "id": "def-common.HttpServiceSetup.getServerInfo", "type": "Function", "tags": [], "label": "getServerInfo", @@ -1540,9 +1674,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -1557,7 +1691,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceStart", + "id": "def-common.HttpServiceStart", "type": "Interface", "tags": [], "label": "HttpServiceStart", @@ -1568,7 +1702,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceStart.basePath", + "id": "def-common.HttpServiceStart.basePath", "type": "Object", "tags": [], "label": "basePath", @@ -1578,9 +1712,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" } ], @@ -1590,7 +1724,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceStart.auth", + "id": "def-common.HttpServiceStart.auth", "type": "Object", "tags": [], "label": "auth", @@ -1600,9 +1734,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpAuth", + "section": "def-common.HttpAuth", "text": "HttpAuth" } ], @@ -1612,7 +1746,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpServiceStart.getServerInfo", + "id": "def-common.HttpServiceStart.getServerInfo", "type": "Function", "tags": [], "label": "getServerInfo", @@ -1623,9 +1757,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" } ], @@ -1640,7 +1774,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage", + "id": "def-common.IAuthHeadersStorage", "type": "Interface", "tags": [], "label": "IAuthHeadersStorage", @@ -1651,7 +1785,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage.set", + "id": "def-common.IAuthHeadersStorage.set", "type": "Function", "tags": [], "label": "set", @@ -1660,17 +1794,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", headers: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, ") => void" @@ -1682,7 +1816,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage.set.$1", + "id": "def-common.IAuthHeadersStorage.set.$1", "type": "Object", "tags": [], "label": "request", @@ -1690,9 +1824,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1703,7 +1837,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage.set.$2", + "id": "def-common.IAuthHeadersStorage.set.$2", "type": "Object", "tags": [], "label": "headers", @@ -1719,7 +1853,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage.get", + "id": "def-common.IAuthHeadersStorage.get", "type": "Function", "tags": [], "label": "get", @@ -1728,17 +1862,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -1750,7 +1884,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IAuthHeadersStorage.get.$1", + "id": "def-common.IAuthHeadersStorage.get.$1", "type": "Object", "tags": [], "label": "request", @@ -1758,9 +1892,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1776,7 +1910,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath", + "id": "def-common.IBasePath", "type": "Interface", "tags": [], "label": "IBasePath", @@ -1789,7 +1923,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.serverBasePath", + "id": "def-common.IBasePath.serverBasePath", "type": "string", "tags": [], "label": "serverBasePath", @@ -1802,7 +1936,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.publicBaseUrl", + "id": "def-common.IBasePath.publicBaseUrl", "type": "string", "tags": [], "label": "publicBaseUrl", @@ -1818,7 +1952,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.get", + "id": "def-common.IBasePath.get", "type": "Function", "tags": [], "label": "get", @@ -1829,9 +1963,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => string" @@ -1842,7 +1976,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.get.$1", + "id": "def-common.IBasePath.get.$1", "type": "Object", "tags": [], "label": "request", @@ -1850,9 +1984,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1867,7 +2001,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.set", + "id": "def-common.IBasePath.set", "type": "Function", "tags": [], "label": "set", @@ -1878,9 +2012,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", requestSpecificBasePath: string) => void" @@ -1891,7 +2025,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.set.$1", + "id": "def-common.IBasePath.set.$1", "type": "Object", "tags": [], "label": "request", @@ -1899,9 +2033,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1913,7 +2047,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.set.$2", + "id": "def-common.IBasePath.set.$2", "type": "string", "tags": [], "label": "requestSpecificBasePath", @@ -1931,7 +2065,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.prepend", + "id": "def-common.IBasePath.prepend", "type": "Function", "tags": [], "label": "prepend", @@ -1947,7 +2081,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.prepend.$1", + "id": "def-common.IBasePath.prepend.$1", "type": "string", "tags": [], "label": "path", @@ -1965,7 +2099,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.remove", + "id": "def-common.IBasePath.remove", "type": "Function", "tags": [], "label": "remove", @@ -1981,7 +2115,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IBasePath.remove.$1", + "id": "def-common.IBasePath.remove.$1", "type": "string", "tags": [], "label": "path", @@ -2002,7 +2136,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer", + "id": "def-common.IContextContainer", "type": "Interface", "tags": [], "label": "IContextContainer", @@ -2015,7 +2149,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.registerContext", + "id": "def-common.IContextContainer.registerContext", "type": "Function", "tags": [], "label": "registerContext", @@ -2026,17 +2160,17 @@ "(pluginOpaqueId: symbol, contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, ") => this" @@ -2047,7 +2181,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.registerContext.$1", + "id": "def-common.IContextContainer.registerContext.$1", "type": "Uncategorized", "tags": [], "label": "pluginOpaqueId", @@ -2064,7 +2198,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.registerContext.$2", + "id": "def-common.IContextContainer.registerContext.$2", "type": "Uncategorized", "tags": [], "label": "contextName", @@ -2081,7 +2215,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.registerContext.$3", + "id": "def-common.IContextContainer.registerContext.$3", "type": "Function", "tags": [], "label": "provider", @@ -2091,9 +2225,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, "" @@ -2110,7 +2244,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.createHandler", + "id": "def-common.IContextContainer.createHandler", "type": "Function", "tags": [], "label": "createHandler", @@ -2121,49 +2255,49 @@ "(pluginOpaqueId: symbol, handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -2174,7 +2308,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.createHandler.$1", + "id": "def-common.IContextContainer.createHandler.$1", "type": "Uncategorized", "tags": [], "label": "pluginOpaqueId", @@ -2191,7 +2325,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextContainer.createHandler.$2", + "id": "def-common.IContextContainer.createHandler.$2", "type": "Function", "tags": [], "label": "handler", @@ -2201,25 +2335,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -2239,7 +2373,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ICspConfig", + "id": "def-common.ICspConfig", "type": "Interface", "tags": [], "label": "ICspConfig", @@ -2252,7 +2386,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ICspConfig.strict", + "id": "def-common.ICspConfig.strict", "type": "boolean", "tags": [], "label": "strict", @@ -2265,7 +2399,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ICspConfig.warnLegacyBrowsers", + "id": "def-common.ICspConfig.warnLegacyBrowsers", "type": "boolean", "tags": [], "label": "warnLegacyBrowsers", @@ -2278,7 +2412,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ICspConfig.disableEmbedding", + "id": "def-common.ICspConfig.disableEmbedding", "type": "boolean", "tags": [], "label": "disableEmbedding", @@ -2291,7 +2425,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ICspConfig.header", + "id": "def-common.ICspConfig.header", "type": "string", "tags": [], "label": "header", @@ -2307,7 +2441,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IExternalUrlConfig", + "id": "def-common.IExternalUrlConfig", "type": "Interface", "tags": [], "label": "IExternalUrlConfig", @@ -2320,7 +2454,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IExternalUrlConfig.policy", + "id": "def-common.IExternalUrlConfig.policy", "type": "Array", "tags": [], "label": "policy", @@ -2346,7 +2480,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaResponse", + "id": "def-common.IKibanaResponse", "type": "Interface", "tags": [], "label": "IKibanaResponse", @@ -2356,9 +2490,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -2369,7 +2503,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaResponse.status", + "id": "def-common.IKibanaResponse.status", "type": "number", "tags": [], "label": "status", @@ -2380,7 +2514,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaResponse.payload", + "id": "def-common.IKibanaResponse.payload", "type": "Uncategorized", "tags": [], "label": "payload", @@ -2394,7 +2528,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaResponse.options", + "id": "def-common.IKibanaResponse.options", "type": "Object", "tags": [], "label": "options", @@ -2402,9 +2536,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" } ], @@ -2417,7 +2551,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket", + "id": "def-common.IKibanaSocket", "type": "Interface", "tags": [], "label": "IKibanaSocket", @@ -2430,7 +2564,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate", + "id": "def-common.IKibanaSocket.getPeerCertificate", "type": "Function", "tags": [], "label": "getPeerCertificate", @@ -2452,7 +2586,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate.$1", + "id": "def-common.IKibanaSocket.getPeerCertificate.$1", "type": "boolean", "tags": [], "label": "detailed", @@ -2470,7 +2604,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate", + "id": "def-common.IKibanaSocket.getPeerCertificate", "type": "Function", "tags": [], "label": "getPeerCertificate", @@ -2492,7 +2626,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate.$1", + "id": "def-common.IKibanaSocket.getPeerCertificate.$1", "type": "boolean", "tags": [], "label": "detailed", @@ -2510,7 +2644,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate", + "id": "def-common.IKibanaSocket.getPeerCertificate", "type": "Function", "tags": [], "label": "getPeerCertificate", @@ -2534,7 +2668,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getPeerCertificate.$1", + "id": "def-common.IKibanaSocket.getPeerCertificate.$1", "type": "CompoundType", "tags": [], "label": "detailed", @@ -2556,7 +2690,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.getProtocol", + "id": "def-common.IKibanaSocket.getProtocol", "type": "Function", "tags": [], "label": "getProtocol", @@ -2574,7 +2708,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.renegotiate", + "id": "def-common.IKibanaSocket.renegotiate", "type": "Function", "tags": [], "label": "renegotiate", @@ -2590,7 +2724,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.renegotiate.$1", + "id": "def-common.IKibanaSocket.renegotiate.$1", "type": "Object", "tags": [], "label": "options", @@ -2601,7 +2735,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.renegotiate.$1.rejectUnauthorized", + "id": "def-common.IKibanaSocket.renegotiate.$1.rejectUnauthorized", "type": "CompoundType", "tags": [], "label": "rejectUnauthorized", @@ -2615,7 +2749,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.renegotiate.$1.requestCert", + "id": "def-common.IKibanaSocket.renegotiate.$1.requestCert", "type": "CompoundType", "tags": [], "label": "requestCert", @@ -2636,7 +2770,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.authorized", + "id": "def-common.IKibanaSocket.authorized", "type": "CompoundType", "tags": [], "label": "authorized", @@ -2652,7 +2786,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IKibanaSocket.authorizationError", + "id": "def-common.IKibanaSocket.authorizationError", "type": "Object", "tags": [], "label": "authorizationError", @@ -2665,13 +2799,29 @@ "path": "packages/core/http/core-http-server/src/router/socket.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IKibanaSocket.remoteAddress", + "type": "string", + "tags": [], + "label": "remoteAddress", + "description": [ + "\nThe string representation of the remote IP address. For example,`'74.125.127.100'` or\n`'2001:4860:a005::68'`. Value may be `undefined` if the socket is destroyed (for example, if\nthe client disconnected)." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/socket.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter", + "id": "def-common.IRouter", "type": "Interface", "tags": [], "label": "IRouter", @@ -2681,9 +2831,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IRouter", + "section": "def-common.IRouter", "text": "IRouter" }, "" @@ -2694,7 +2844,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.routerPath", + "id": "def-common.IRouter.routerPath", "type": "string", "tags": [], "label": "routerPath", @@ -2707,7 +2857,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get", + "id": "def-common.IRouter.get", "type": "Function", "tags": [], "label": "get", @@ -2718,25 +2868,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -2748,7 +2898,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get.$1", + "id": "def-common.IRouter.get.$1", "type": "Object", "tags": [], "label": "route", @@ -2758,9 +2908,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -2771,7 +2921,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get.$2", + "id": "def-common.IRouter.get.$2", "type": "Function", "tags": [], "label": "handler", @@ -2782,33 +2932,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -2820,7 +2970,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get.$2.$1", + "id": "def-common.IRouter.get.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -2834,7 +2984,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get.$2.$2", + "id": "def-common.IRouter.get.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -2842,9 +2992,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2855,7 +3005,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.get.$2.$3", + "id": "def-common.IRouter.get.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -2873,7 +3023,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post", + "id": "def-common.IRouter.post", "type": "Function", "tags": [], "label": "post", @@ -2884,25 +3034,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -2914,7 +3064,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post.$1", + "id": "def-common.IRouter.post.$1", "type": "Object", "tags": [], "label": "route", @@ -2924,9 +3074,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -2937,7 +3087,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post.$2", + "id": "def-common.IRouter.post.$2", "type": "Function", "tags": [], "label": "handler", @@ -2948,33 +3098,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -2986,7 +3136,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post.$2.$1", + "id": "def-common.IRouter.post.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -3000,7 +3150,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post.$2.$2", + "id": "def-common.IRouter.post.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -3008,9 +3158,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3021,7 +3171,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.post.$2.$3", + "id": "def-common.IRouter.post.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -3039,7 +3189,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put", + "id": "def-common.IRouter.put", "type": "Function", "tags": [], "label": "put", @@ -3050,25 +3200,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -3080,7 +3230,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put.$1", + "id": "def-common.IRouter.put.$1", "type": "Object", "tags": [], "label": "route", @@ -3090,9 +3240,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -3103,7 +3253,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put.$2", + "id": "def-common.IRouter.put.$2", "type": "Function", "tags": [], "label": "handler", @@ -3114,33 +3264,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -3152,7 +3302,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put.$2.$1", + "id": "def-common.IRouter.put.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -3166,7 +3316,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put.$2.$2", + "id": "def-common.IRouter.put.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -3174,9 +3324,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3187,7 +3337,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.put.$2.$3", + "id": "def-common.IRouter.put.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -3205,7 +3355,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch", + "id": "def-common.IRouter.patch", "type": "Function", "tags": [], "label": "patch", @@ -3216,25 +3366,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -3246,7 +3396,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch.$1", + "id": "def-common.IRouter.patch.$1", "type": "Object", "tags": [], "label": "route", @@ -3256,9 +3406,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -3269,7 +3419,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch.$2", + "id": "def-common.IRouter.patch.$2", "type": "Function", "tags": [], "label": "handler", @@ -3280,33 +3430,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -3318,7 +3468,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch.$2.$1", + "id": "def-common.IRouter.patch.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -3332,7 +3482,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch.$2.$2", + "id": "def-common.IRouter.patch.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -3340,9 +3490,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3353,7 +3503,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.patch.$2.$3", + "id": "def-common.IRouter.patch.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -3371,7 +3521,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete", + "id": "def-common.IRouter.delete", "type": "Function", "tags": [], "label": "delete", @@ -3382,25 +3532,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -3412,7 +3562,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete.$1", + "id": "def-common.IRouter.delete.$1", "type": "Object", "tags": [], "label": "route", @@ -3422,9 +3572,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -3435,7 +3585,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete.$2", + "id": "def-common.IRouter.delete.$2", "type": "Function", "tags": [], "label": "handler", @@ -3446,33 +3596,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -3484,7 +3634,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete.$2.$1", + "id": "def-common.IRouter.delete.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -3498,7 +3648,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete.$2.$2", + "id": "def-common.IRouter.delete.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -3506,9 +3656,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3519,7 +3669,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.delete.$2.$3", + "id": "def-common.IRouter.delete.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -3537,7 +3687,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.handleLegacyErrors", + "id": "def-common.IRouter.handleLegacyErrors", "type": "Function", "tags": [], "label": "handleLegacyErrors", @@ -3548,57 +3698,57 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -3610,7 +3760,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.handleLegacyErrors.$1", + "id": "def-common.IRouter.handleLegacyErrors.$1", "type": "Function", "tags": [], "label": "handler", @@ -3621,25 +3771,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -3651,7 +3801,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.handleLegacyErrors.$1.$1", + "id": "def-common.IRouter.handleLegacyErrors.$1.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -3665,7 +3815,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.handleLegacyErrors.$1.$2", + "id": "def-common.IRouter.handleLegacyErrors.$1.$2", "type": "Object", "tags": [], "label": "request", @@ -3673,9 +3823,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3686,7 +3836,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IRouter.handleLegacyErrors.$1.$3", + "id": "def-common.IRouter.handleLegacyErrors.$1.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -3707,7 +3857,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory", + "id": "def-common.KibanaErrorResponseFactory", "type": "Interface", "tags": [], "label": "KibanaErrorResponseFactory", @@ -3718,7 +3868,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.badRequest", + "id": "def-common.KibanaErrorResponseFactory.badRequest", "type": "Function", "tags": [], "label": "badRequest", @@ -3729,17 +3879,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -3750,7 +3900,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.badRequest.$1", + "id": "def-common.KibanaErrorResponseFactory.badRequest.$1", "type": "Object", "tags": [], "label": "options", @@ -3760,9 +3910,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined" @@ -3777,7 +3927,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.unauthorized", + "id": "def-common.KibanaErrorResponseFactory.unauthorized", "type": "Function", "tags": [], "label": "unauthorized", @@ -3788,17 +3938,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -3809,7 +3959,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.unauthorized.$1", + "id": "def-common.KibanaErrorResponseFactory.unauthorized.$1", "type": "Object", "tags": [], "label": "options", @@ -3819,9 +3969,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined" @@ -3836,7 +3986,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.forbidden", + "id": "def-common.KibanaErrorResponseFactory.forbidden", "type": "Function", "tags": [], "label": "forbidden", @@ -3847,17 +3997,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -3868,7 +4018,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.forbidden.$1", + "id": "def-common.KibanaErrorResponseFactory.forbidden.$1", "type": "Object", "tags": [], "label": "options", @@ -3878,9 +4028,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined" @@ -3895,7 +4045,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.notFound", + "id": "def-common.KibanaErrorResponseFactory.notFound", "type": "Function", "tags": [], "label": "notFound", @@ -3906,17 +4056,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -3927,7 +4077,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.notFound.$1", + "id": "def-common.KibanaErrorResponseFactory.notFound.$1", "type": "Object", "tags": [], "label": "options", @@ -3937,9 +4087,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined" @@ -3954,7 +4104,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.conflict", + "id": "def-common.KibanaErrorResponseFactory.conflict", "type": "Function", "tags": [], "label": "conflict", @@ -3965,17 +4115,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -3986,7 +4136,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.conflict.$1", + "id": "def-common.KibanaErrorResponseFactory.conflict.$1", "type": "Object", "tags": [], "label": "options", @@ -3996,9 +4146,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ErrorHttpResponseOptions", + "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, " | undefined" @@ -4013,7 +4163,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.customError", + "id": "def-common.KibanaErrorResponseFactory.customError", "type": "Function", "tags": [], "label": "customError", @@ -4024,9 +4174,9 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "<", @@ -4034,17 +4184,17 @@ " | Buffer | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, ">) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -4055,7 +4205,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaErrorResponseFactory.customError.$1", + "id": "def-common.KibanaErrorResponseFactory.customError.$1", "type": "Object", "tags": [], "label": "options", @@ -4065,9 +4215,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "<", @@ -4075,9 +4225,9 @@ " | Buffer | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseError", + "section": "def-common.ResponseError", "text": "ResponseError" }, ">" @@ -4095,7 +4245,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRedirectionResponseFactory", + "id": "def-common.KibanaRedirectionResponseFactory", "type": "Interface", "tags": [], "label": "KibanaRedirectionResponseFactory", @@ -4106,7 +4256,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRedirectionResponseFactory.redirected", + "id": "def-common.KibanaRedirectionResponseFactory.redirected", "type": "Function", "tags": [], "label": "redirected", @@ -4117,17 +4267,17 @@ "(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RedirectResponseOptions", + "section": "def-common.RedirectResponseOptions", "text": "RedirectResponseOptions" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -4138,7 +4288,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRedirectionResponseFactory.redirected.$1", + "id": "def-common.KibanaRedirectionResponseFactory.redirected.$1", "type": "CompoundType", "tags": [], "label": "options", @@ -4148,9 +4298,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RedirectResponseOptions", + "section": "def-common.RedirectResponseOptions", "text": "RedirectResponseOptions" } ], @@ -4167,7 +4317,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest", + "id": "def-common.KibanaRequest", "type": "Interface", "tags": [], "label": "KibanaRequest", @@ -4177,9 +4327,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4190,7 +4340,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.id", + "id": "def-common.KibanaRequest.id", "type": "string", "tags": [], "label": "id", @@ -4203,7 +4353,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.uuid", + "id": "def-common.KibanaRequest.uuid", "type": "string", "tags": [], "label": "uuid", @@ -4216,7 +4366,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.url", + "id": "def-common.KibanaRequest.url", "type": "Object", "tags": [], "label": "url", @@ -4232,7 +4382,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.route", + "id": "def-common.KibanaRequest.route", "type": "Object", "tags": [], "label": "route", @@ -4243,25 +4393,25 @@ "{ readonly path: string; readonly method: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "; readonly options: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestRouteOptions", + "section": "def-common.KibanaRequestRouteOptions", "text": "KibanaRequestRouteOptions" }, ">; }" @@ -4272,7 +4422,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.headers", + "id": "def-common.KibanaRequest.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -4288,7 +4438,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.isSystemRequest", + "id": "def-common.KibanaRequest.isSystemRequest", "type": "boolean", "tags": [], "label": "isSystemRequest", @@ -4301,7 +4451,20 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.socket", + "id": "def-common.KibanaRequest.isFakeRequest", + "type": "boolean", + "tags": [], + "label": "isFakeRequest", + "description": [ + "\nAllows identifying requests that were created using a {@link FakeRawRequest}\nEven if the API facade is the same, fake requests have some stubbed functionalities." + ], + "path": "packages/core/http/core-http-server/src/router/request.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaRequest.socket", "type": "Object", "tags": [], "label": "socket", @@ -4311,9 +4474,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaSocket", + "section": "def-common.IKibanaSocket", "text": "IKibanaSocket" } ], @@ -4323,7 +4486,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.events", + "id": "def-common.KibanaRequest.events", "type": "Object", "tags": [], "label": "events", @@ -4333,9 +4496,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestEvents", + "section": "def-common.KibanaRequestEvents", "text": "KibanaRequestEvents" } ], @@ -4345,7 +4508,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.auth", + "id": "def-common.KibanaRequest.auth", "type": "Object", "tags": [], "label": "auth", @@ -4355,9 +4518,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestAuth", + "section": "def-common.KibanaRequestAuth", "text": "KibanaRequestAuth" } ], @@ -4367,7 +4530,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.rewrittenUrl", + "id": "def-common.KibanaRequest.rewrittenUrl", "type": "Object", "tags": [], "label": "rewrittenUrl", @@ -4384,7 +4547,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.params", + "id": "def-common.KibanaRequest.params", "type": "Uncategorized", "tags": [], "label": "params", @@ -4400,7 +4563,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.query", + "id": "def-common.KibanaRequest.query", "type": "Uncategorized", "tags": [], "label": "query", @@ -4416,7 +4579,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequest.body", + "id": "def-common.KibanaRequest.body", "type": "Uncategorized", "tags": [], "label": "body", @@ -4435,7 +4598,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestAuth", + "id": "def-common.KibanaRequestAuth", "type": "Interface", "tags": [], "label": "KibanaRequestAuth", @@ -4448,7 +4611,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestAuth.isAuthenticated", + "id": "def-common.KibanaRequestAuth.isAuthenticated", "type": "boolean", "tags": [], "label": "isAuthenticated", @@ -4464,7 +4627,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestEvents", + "id": "def-common.KibanaRequestEvents", "type": "Interface", "tags": [], "label": "KibanaRequestEvents", @@ -4477,7 +4640,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestEvents.aborted$", + "id": "def-common.KibanaRequestEvents.aborted$", "type": "Object", "tags": [], "label": "aborted$", @@ -4494,7 +4657,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestEvents.completed$", + "id": "def-common.KibanaRequestEvents.completed$", "type": "Object", "tags": [], "label": "completed$", @@ -4514,7 +4677,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestRoute", + "id": "def-common.KibanaRequestRoute", "type": "Interface", "tags": [], "label": "KibanaRequestRoute", @@ -4524,9 +4687,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestRoute", + "section": "def-common.KibanaRequestRoute", "text": "KibanaRequestRoute" }, "" @@ -4537,7 +4700,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestRoute.path", + "id": "def-common.KibanaRequestRoute.path", "type": "string", "tags": [], "label": "path", @@ -4548,7 +4711,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestRoute.method", + "id": "def-common.KibanaRequestRoute.method", "type": "Uncategorized", "tags": [], "label": "method", @@ -4562,7 +4725,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestRoute.options", + "id": "def-common.KibanaRequestRoute.options", "type": "Uncategorized", "tags": [], "label": "options", @@ -4571,17 +4734,17 @@ "Method extends \"options\" | \"get\" ? Required, \"body\">> : Required<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, ">" @@ -4595,7 +4758,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestState", + "id": "def-common.KibanaRequestState", "type": "Interface", "tags": [], "label": "KibanaRequestState", @@ -4603,9 +4766,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequestState", + "section": "def-common.KibanaRequestState", "text": "KibanaRequestState" }, " extends ", @@ -4617,7 +4780,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestState.requestId", + "id": "def-common.KibanaRequestState.requestId", "type": "string", "tags": [], "label": "requestId", @@ -4628,7 +4791,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestState.requestUuid", + "id": "def-common.KibanaRequestState.requestUuid", "type": "string", "tags": [], "label": "requestUuid", @@ -4639,7 +4802,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestState.rewrittenUrl", + "id": "def-common.KibanaRequestState.rewrittenUrl", "type": "Object", "tags": [], "label": "rewrittenUrl", @@ -4654,7 +4817,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestState.traceId", + "id": "def-common.KibanaRequestState.traceId", "type": "string", "tags": [], "label": "traceId", @@ -4671,7 +4834,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRouteOptions", + "id": "def-common.KibanaRouteOptions", "type": "Interface", "tags": [], "label": "KibanaRouteOptions", @@ -4679,9 +4842,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRouteOptions", + "section": "def-common.KibanaRouteOptions", "text": "KibanaRouteOptions" }, " extends ", @@ -4693,7 +4856,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRouteOptions.xsrfRequired", + "id": "def-common.KibanaRouteOptions.xsrfRequired", "type": "boolean", "tags": [], "label": "xsrfRequired", @@ -4707,7 +4870,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory", + "id": "def-common.KibanaSuccessResponseFactory", "type": "Interface", "tags": [], "label": "KibanaSuccessResponseFactory", @@ -4718,7 +4881,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.ok", + "id": "def-common.KibanaSuccessResponseFactory.ok", "type": "Function", "tags": [], "label": "ok", @@ -4729,17 +4892,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -4750,7 +4913,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.ok.$1", + "id": "def-common.KibanaSuccessResponseFactory.ok.$1", "type": "Object", "tags": [], "label": "options", @@ -4760,9 +4923,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined" @@ -4777,7 +4940,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.accepted", + "id": "def-common.KibanaSuccessResponseFactory.accepted", "type": "Function", "tags": [], "label": "accepted", @@ -4788,17 +4951,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -4809,7 +4972,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.accepted.$1", + "id": "def-common.KibanaSuccessResponseFactory.accepted.$1", "type": "Object", "tags": [], "label": "options", @@ -4819,9 +4982,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined" @@ -4836,7 +4999,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.noContent", + "id": "def-common.KibanaSuccessResponseFactory.noContent", "type": "Function", "tags": [], "label": "noContent", @@ -4847,17 +5010,17 @@ "(options?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -4868,7 +5031,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaSuccessResponseFactory.noContent.$1", + "id": "def-common.KibanaSuccessResponseFactory.noContent.$1", "type": "Object", "tags": [], "label": "options", @@ -4878,9 +5041,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " | undefined" @@ -4898,7 +5061,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthNextResult", + "id": "def-common.OnPostAuthNextResult", "type": "Interface", "tags": [], "label": "OnPostAuthNextResult", @@ -4909,7 +5072,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthNextResult.type", + "id": "def-common.OnPostAuthNextResult.type", "type": "string", "tags": [], "label": "type", @@ -4917,9 +5080,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthResultType", + "section": "def-common.OnPostAuthResultType", "text": "OnPostAuthResultType" } ], @@ -4932,7 +5095,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthToolkit", + "id": "def-common.OnPostAuthToolkit", "type": "Interface", "tags": [], "label": "OnPostAuthToolkit", @@ -4943,7 +5106,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthToolkit.next", + "id": "def-common.OnPostAuthToolkit.next", "type": "Function", "tags": [], "label": "next", @@ -4954,9 +5117,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" } ], @@ -4971,7 +5134,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthNextResult", + "id": "def-common.OnPreAuthNextResult", "type": "Interface", "tags": [], "label": "OnPreAuthNextResult", @@ -4982,7 +5145,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthNextResult.type", + "id": "def-common.OnPreAuthNextResult.type", "type": "string", "tags": [], "label": "type", @@ -4990,9 +5153,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthResultType", + "section": "def-common.OnPreAuthResultType", "text": "OnPreAuthResultType" } ], @@ -5005,7 +5168,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthToolkit", + "id": "def-common.OnPreAuthToolkit", "type": "Interface", "tags": [], "label": "OnPreAuthToolkit", @@ -5016,7 +5179,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthToolkit.next", + "id": "def-common.OnPreAuthToolkit.next", "type": "Function", "tags": [], "label": "next", @@ -5027,9 +5190,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" } ], @@ -5044,7 +5207,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseExtensions", + "id": "def-common.OnPreResponseExtensions", "type": "Interface", "tags": [], "label": "OnPreResponseExtensions", @@ -5057,7 +5220,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseExtensions.headers", + "id": "def-common.OnPreResponseExtensions.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -5067,9 +5230,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -5083,7 +5246,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseInfo", + "id": "def-common.OnPreResponseInfo", "type": "Interface", "tags": [], "label": "OnPreResponseInfo", @@ -5096,7 +5259,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseInfo.statusCode", + "id": "def-common.OnPreResponseInfo.statusCode", "type": "number", "tags": [], "label": "statusCode", @@ -5110,7 +5273,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseRender", + "id": "def-common.OnPreResponseRender", "type": "Interface", "tags": [], "label": "OnPreResponseRender", @@ -5123,7 +5286,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseRender.headers", + "id": "def-common.OnPreResponseRender.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -5133,9 +5296,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -5146,7 +5309,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseRender.body", + "id": "def-common.OnPreResponseRender.body", "type": "string", "tags": [], "label": "body", @@ -5162,7 +5325,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultNext", + "id": "def-common.OnPreResponseResultNext", "type": "Interface", "tags": [], "label": "OnPreResponseResultNext", @@ -5173,7 +5336,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultNext.type", + "id": "def-common.OnPreResponseResultNext.type", "type": "string", "tags": [], "label": "type", @@ -5181,9 +5344,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResultType", + "section": "def-common.OnPreResponseResultType", "text": "OnPreResponseResultType" }, ".next" @@ -5194,7 +5357,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultNext.headers", + "id": "def-common.OnPreResponseResultNext.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -5202,9 +5365,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -5218,7 +5381,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultRender", + "id": "def-common.OnPreResponseResultRender", "type": "Interface", "tags": [], "label": "OnPreResponseResultRender", @@ -5229,7 +5392,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultRender.type", + "id": "def-common.OnPreResponseResultRender.type", "type": "string", "tags": [], "label": "type", @@ -5237,9 +5400,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResultType", + "section": "def-common.OnPreResponseResultType", "text": "OnPreResponseResultType" }, ".render" @@ -5250,7 +5413,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultRender.body", + "id": "def-common.OnPreResponseResultRender.body", "type": "string", "tags": [], "label": "body", @@ -5261,7 +5424,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultRender.headers", + "id": "def-common.OnPreResponseResultRender.headers", "type": "CompoundType", "tags": [], "label": "headers", @@ -5269,9 +5432,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseHeaders", + "section": "def-common.ResponseHeaders", "text": "ResponseHeaders" }, " | undefined" @@ -5285,7 +5448,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseToolkit", + "id": "def-common.OnPreResponseToolkit", "type": "Interface", "tags": [], "label": "OnPreResponseToolkit", @@ -5298,7 +5461,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseToolkit.render", + "id": "def-common.OnPreResponseToolkit.render", "type": "Function", "tags": [], "label": "render", @@ -5309,17 +5472,17 @@ "(responseRender: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseRender", + "section": "def-common.OnPreResponseRender", "text": "OnPreResponseRender" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" } ], @@ -5329,7 +5492,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseToolkit.render.$1", + "id": "def-common.OnPreResponseToolkit.render.$1", "type": "Object", "tags": [], "label": "responseRender", @@ -5337,9 +5500,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseRender", + "section": "def-common.OnPreResponseRender", "text": "OnPreResponseRender" } ], @@ -5353,7 +5516,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseToolkit.next", + "id": "def-common.OnPreResponseToolkit.next", "type": "Function", "tags": [], "label": "next", @@ -5364,17 +5527,17 @@ "(responseExtensions?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseExtensions", + "section": "def-common.OnPreResponseExtensions", "text": "OnPreResponseExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" } ], @@ -5384,7 +5547,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseToolkit.next.$1", + "id": "def-common.OnPreResponseToolkit.next.$1", "type": "Object", "tags": [], "label": "responseExtensions", @@ -5392,9 +5555,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseExtensions", + "section": "def-common.OnPreResponseExtensions", "text": "OnPreResponseExtensions" }, " | undefined" @@ -5412,7 +5575,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultNext", + "id": "def-common.OnPreRoutingResultNext", "type": "Interface", "tags": [], "label": "OnPreRoutingResultNext", @@ -5423,7 +5586,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultNext.type", + "id": "def-common.OnPreRoutingResultNext.type", "type": "string", "tags": [], "label": "type", @@ -5431,9 +5594,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResultType", + "section": "def-common.OnPreRoutingResultType", "text": "OnPreRoutingResultType" }, ".next" @@ -5447,7 +5610,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultRewriteUrl", + "id": "def-common.OnPreRoutingResultRewriteUrl", "type": "Interface", "tags": [], "label": "OnPreRoutingResultRewriteUrl", @@ -5458,7 +5621,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultRewriteUrl.type", + "id": "def-common.OnPreRoutingResultRewriteUrl.type", "type": "string", "tags": [], "label": "type", @@ -5466,9 +5629,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResultType", + "section": "def-common.OnPreRoutingResultType", "text": "OnPreRoutingResultType" }, ".rewriteUrl" @@ -5479,7 +5642,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultRewriteUrl.url", + "id": "def-common.OnPreRoutingResultRewriteUrl.url", "type": "string", "tags": [], "label": "url", @@ -5493,7 +5656,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingToolkit", + "id": "def-common.OnPreRoutingToolkit", "type": "Interface", "tags": [], "label": "OnPreRoutingToolkit", @@ -5504,7 +5667,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingToolkit.next", + "id": "def-common.OnPreRoutingToolkit.next", "type": "Function", "tags": [], "label": "next", @@ -5515,9 +5678,9 @@ "() => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" } ], @@ -5529,7 +5692,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingToolkit.rewriteUrl", + "id": "def-common.OnPreRoutingToolkit.rewriteUrl", "type": "Function", "tags": [], "label": "rewriteUrl", @@ -5540,9 +5703,9 @@ "(url: string) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" } ], @@ -5552,7 +5715,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingToolkit.rewriteUrl.$1", + "id": "def-common.OnPreRoutingToolkit.rewriteUrl.$1", "type": "string", "tags": [], "label": "url", @@ -5573,7 +5736,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerContextBase", + "id": "def-common.RequestHandlerContextBase", "type": "Interface", "tags": [], "label": "RequestHandlerContextBase", @@ -5586,7 +5749,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerContextBase.resolve", + "id": "def-common.RequestHandlerContextBase.resolve", "type": "Function", "tags": [], "label": "resolve", @@ -5597,9 +5760,9 @@ ">(parts: T[]) => Promise<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.AwaitedProperties", + "section": "def-common.AwaitedProperties", "text": "AwaitedProperties" }, ">>" @@ -5610,7 +5773,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerContextBase.resolve.$1", + "id": "def-common.RequestHandlerContextBase.resolve.$1", "type": "Array", "tags": [], "label": "parts", @@ -5631,7 +5794,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfig", + "id": "def-common.RouteConfig", "type": "Interface", "tags": [], "label": "RouteConfig", @@ -5641,9 +5804,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -5654,7 +5817,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfig.path", + "id": "def-common.RouteConfig.path", "type": "string", "tags": [], "label": "path", @@ -5667,7 +5830,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfig.validate", + "id": "def-common.RouteConfig.validate", "type": "CompoundType", "tags": [], "label": "validate", @@ -5678,9 +5841,9 @@ "false | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorFullConfig", + "section": "def-common.RouteValidatorFullConfig", "text": "RouteValidatorFullConfig" }, "" @@ -5691,7 +5854,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfig.options", + "id": "def-common.RouteConfig.options", "type": "Object", "tags": [], "label": "options", @@ -5701,9 +5864,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, " | undefined" @@ -5717,7 +5880,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions", + "id": "def-common.RouteConfigOptions", "type": "Interface", "tags": [], "label": "RouteConfigOptions", @@ -5727,9 +5890,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, "" @@ -5740,7 +5903,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions.authRequired", + "id": "def-common.RouteConfigOptions.authRequired", "type": "CompoundType", "tags": [], "label": "authRequired", @@ -5756,7 +5919,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions.xsrfRequired", + "id": "def-common.RouteConfigOptions.xsrfRequired", "type": "Uncategorized", "tags": [], "label": "xsrfRequired", @@ -5772,7 +5935,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions.tags", + "id": "def-common.RouteConfigOptions.tags", "type": "Object", "tags": [], "label": "tags", @@ -5788,7 +5951,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions.body", + "id": "def-common.RouteConfigOptions.body", "type": "Uncategorized", "tags": [], "label": "body", @@ -5799,9 +5962,9 @@ "(Method extends \"options\" | \"get\" ? undefined : ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptionsBody", + "section": "def-common.RouteConfigOptionsBody", "text": "RouteConfigOptionsBody" }, ") | undefined" @@ -5812,7 +5975,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptions.timeout", + "id": "def-common.RouteConfigOptions.timeout", "type": "Object", "tags": [], "label": "timeout", @@ -5831,7 +5994,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptionsBody", + "id": "def-common.RouteConfigOptionsBody", "type": "Interface", "tags": [], "label": "RouteConfigOptionsBody", @@ -5844,7 +6007,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptionsBody.accepts", + "id": "def-common.RouteConfigOptionsBody.accepts", "type": "CompoundType", "tags": [], "label": "accepts", @@ -5855,9 +6018,9 @@ "string | string[] | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteContentType", + "section": "def-common.RouteContentType", "text": "RouteContentType" }, "[] | undefined" @@ -5868,7 +6031,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptionsBody.maxBytes", + "id": "def-common.RouteConfigOptionsBody.maxBytes", "type": "number", "tags": [], "label": "maxBytes", @@ -5884,7 +6047,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptionsBody.output", + "id": "def-common.RouteConfigOptionsBody.output", "type": "CompoundType", "tags": [], "label": "output", @@ -5900,7 +6063,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteConfigOptionsBody.parse", + "id": "def-common.RouteConfigOptionsBody.parse", "type": "CompoundType", "tags": [], "label": "parse", @@ -5919,7 +6082,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute", + "id": "def-common.RouterRoute", "type": "Interface", "tags": [], "label": "RouterRoute", @@ -5930,7 +6093,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.method", + "id": "def-common.RouterRoute.method", "type": "CompoundType", "tags": [], "label": "method", @@ -5938,17 +6101,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SafeRouteMethod", + "section": "def-common.SafeRouteMethod", "text": "SafeRouteMethod" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.DestructiveRouteMethod", + "section": "def-common.DestructiveRouteMethod", "text": "DestructiveRouteMethod" } ], @@ -5958,7 +6121,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.path", + "id": "def-common.RouterRoute.path", "type": "string", "tags": [], "label": "path", @@ -5969,7 +6132,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.options", + "id": "def-common.RouterRoute.options", "type": "Object", "tags": [], "label": "options", @@ -5977,17 +6140,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteMethod", + "section": "def-common.RouteMethod", "text": "RouteMethod" }, ">" @@ -5998,7 +6161,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.handler", + "id": "def-common.RouterRoute.handler", "type": "Function", "tags": [], "label": "handler", @@ -6020,7 +6183,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.handler.$1", + "id": "def-common.RouterRoute.handler.$1", "type": "Object", "tags": [], "label": "req", @@ -6035,7 +6198,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouterRoute.handler.$2", + "id": "def-common.RouterRoute.handler.$2", "type": "Object", "tags": [], "label": "responseToolkit", @@ -6056,7 +6219,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory", + "id": "def-common.RouteValidationResultFactory", "type": "Interface", "tags": [], "label": "RouteValidationResultFactory", @@ -6069,7 +6232,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory.ok", + "id": "def-common.RouteValidationResultFactory.ok", "type": "Function", "tags": [], "label": "ok", @@ -6083,7 +6246,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory.ok.$1", + "id": "def-common.RouteValidationResultFactory.ok.$1", "type": "Uncategorized", "tags": [], "label": "value", @@ -6101,7 +6264,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory.badRequest", + "id": "def-common.RouteValidationResultFactory.badRequest", "type": "Function", "tags": [], "label": "badRequest", @@ -6110,9 +6273,9 @@ "(error: string | Error, path?: string[] | undefined) => { error: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, "; }" @@ -6123,7 +6286,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory.badRequest.$1", + "id": "def-common.RouteValidationResultFactory.badRequest.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -6138,7 +6301,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationResultFactory.badRequest.$2", + "id": "def-common.RouteValidationResultFactory.badRequest.$2", "type": "Array", "tags": [], "label": "path", @@ -6159,7 +6322,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorConfig", + "id": "def-common.RouteValidatorConfig", "type": "Interface", "tags": [], "label": "RouteValidatorConfig", @@ -6169,9 +6332,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorConfig", + "section": "def-common.RouteValidatorConfig", "text": "RouteValidatorConfig" }, "" @@ -6182,7 +6345,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorConfig.params", + "id": "def-common.RouteValidatorConfig.params", "type": "CompoundType", "tags": [], "label": "params", @@ -6192,9 +6355,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, "

| undefined" @@ -6205,7 +6368,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorConfig.query", + "id": "def-common.RouteValidatorConfig.query", "type": "CompoundType", "tags": [], "label": "query", @@ -6215,9 +6378,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, " | undefined" @@ -6228,7 +6391,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorConfig.body", + "id": "def-common.RouteValidatorConfig.body", "type": "CompoundType", "tags": [], "label": "body", @@ -6238,9 +6401,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationSpec", + "section": "def-common.RouteValidationSpec", "text": "RouteValidationSpec" }, " | undefined" @@ -6254,7 +6417,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorOptions", + "id": "def-common.RouteValidatorOptions", "type": "Interface", "tags": [], "label": "RouteValidatorOptions", @@ -6267,7 +6430,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorOptions.unsafe", + "id": "def-common.RouteValidatorOptions.unsafe", "type": "Object", "tags": [], "label": "unsafe", @@ -6286,7 +6449,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionCookieValidationResult", + "id": "def-common.SessionCookieValidationResult", "type": "Interface", "tags": [], "label": "SessionCookieValidationResult", @@ -6299,7 +6462,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionCookieValidationResult.isValid", + "id": "def-common.SessionCookieValidationResult.isValid", "type": "boolean", "tags": [], "label": "isValid", @@ -6312,7 +6475,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionCookieValidationResult.path", + "id": "def-common.SessionCookieValidationResult.path", "type": "string", "tags": [], "label": "path", @@ -6331,7 +6494,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorage", + "id": "def-common.SessionStorage", "type": "Interface", "tags": [], "label": "SessionStorage", @@ -6341,9 +6504,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorage", + "section": "def-common.SessionStorage", "text": "SessionStorage" }, "" @@ -6354,7 +6517,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorage.get", + "id": "def-common.SessionStorage.get", "type": "Function", "tags": [], "label": "get", @@ -6372,7 +6535,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorage.set", + "id": "def-common.SessionStorage.set", "type": "Function", "tags": [], "label": "set", @@ -6388,7 +6551,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorage.set.$1", + "id": "def-common.SessionStorage.set.$1", "type": "Uncategorized", "tags": [], "label": "sessionValue", @@ -6408,7 +6571,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorage.clear", + "id": "def-common.SessionStorage.clear", "type": "Function", "tags": [], "label": "clear", @@ -6429,7 +6592,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions", + "id": "def-common.SessionStorageCookieOptions", "type": "Interface", "tags": [], "label": "SessionStorageCookieOptions", @@ -6439,9 +6602,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "" @@ -6452,7 +6615,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.name", + "id": "def-common.SessionStorageCookieOptions.name", "type": "string", "tags": [], "label": "name", @@ -6465,7 +6628,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.encryptionKey", + "id": "def-common.SessionStorageCookieOptions.encryptionKey", "type": "string", "tags": [], "label": "encryptionKey", @@ -6478,7 +6641,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.validate", + "id": "def-common.SessionStorageCookieOptions.validate", "type": "Function", "tags": [], "label": "validate", @@ -6489,9 +6652,9 @@ "(sessionValue: T | T[]) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionCookieValidationResult", + "section": "def-common.SessionCookieValidationResult", "text": "SessionCookieValidationResult" } ], @@ -6501,7 +6664,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.validate.$1", + "id": "def-common.SessionStorageCookieOptions.validate.$1", "type": "CompoundType", "tags": [], "label": "sessionValue", @@ -6519,7 +6682,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.isSecure", + "id": "def-common.SessionStorageCookieOptions.isSecure", "type": "boolean", "tags": [], "label": "isSecure", @@ -6532,7 +6695,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageCookieOptions.sameSite", + "id": "def-common.SessionStorageCookieOptions.sameSite", "type": "CompoundType", "tags": [], "label": "sameSite", @@ -6551,7 +6714,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageFactory", + "id": "def-common.SessionStorageFactory", "type": "Interface", "tags": [], "label": "SessionStorageFactory", @@ -6561,9 +6724,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, "" @@ -6574,7 +6737,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageFactory.asScoped", + "id": "def-common.SessionStorageFactory.asScoped", "type": "Function", "tags": [], "label": "asScoped", @@ -6583,17 +6746,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorage", + "section": "def-common.SessionStorage", "text": "SessionStorage" }, "" @@ -6604,7 +6767,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SessionStorageFactory.asScoped.$1", + "id": "def-common.SessionStorageFactory.asScoped.$1", "type": "Object", "tags": [], "label": "request", @@ -6612,9 +6775,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -6634,7 +6797,7 @@ "enums": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResultType", + "id": "def-common.AuthResultType", "type": "Enum", "tags": [], "label": "AuthResultType", @@ -6646,7 +6809,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthStatus", + "id": "def-common.AuthStatus", "type": "Enum", "tags": [], "label": "AuthStatus", @@ -6660,7 +6823,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResultType", + "id": "def-common.OnPreResponseResultType", "type": "Enum", "tags": [], "label": "OnPreResponseResultType", @@ -6672,7 +6835,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResultType", + "id": "def-common.OnPreRoutingResultType", "type": "Enum", "tags": [], "label": "OnPreRoutingResultType", @@ -6686,7 +6849,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthenticationHandler", + "id": "def-common.AuthenticationHandler", "type": "Type", "tags": [], "label": "AuthenticationHandler", @@ -6697,57 +6860,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthToolkit", + "section": "def-common.AuthToolkit", "text": "AuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResult", + "section": "def-common.AuthResult", "text": "AuthResult" }, ">" @@ -6759,7 +6922,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthenticationHandler.$1", + "id": "def-common.AuthenticationHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -6767,9 +6930,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -6780,7 +6943,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthenticationHandler.$2", + "id": "def-common.AuthenticationHandler.$2", "type": "CompoundType", "tags": [], "label": "response", @@ -6788,17 +6951,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -6808,7 +6971,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthenticationHandler.$3", + "id": "def-common.AuthenticationHandler.$3", "type": "Object", "tags": [], "label": "toolkit", @@ -6816,9 +6979,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthToolkit", + "section": "def-common.AuthToolkit", "text": "AuthToolkit" } ], @@ -6831,7 +6994,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthHeaders", + "id": "def-common.AuthHeaders", "type": "Type", "tags": [], "label": "AuthHeaders", @@ -6846,7 +7009,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.AuthResult", + "id": "def-common.AuthResult", "type": "Type", "tags": [], "label": "AuthResult", @@ -6854,25 +7017,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultAuthenticated", + "section": "def-common.AuthResultAuthenticated", "text": "AuthResultAuthenticated" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultNotHandled", + "section": "def-common.AuthResultNotHandled", "text": "AuthResultNotHandled" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthResultRedirected", + "section": "def-common.AuthResultRedirected", "text": "AuthResultRedirected" } ], @@ -6883,7 +7046,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.DestructiveRouteMethod", + "id": "def-common.DestructiveRouteMethod", "type": "Type", "tags": [], "label": "DestructiveRouteMethod", @@ -6900,7 +7063,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.GetAuthHeaders", + "id": "def-common.GetAuthHeaders", "type": "Type", "tags": [ "return" @@ -6913,17 +7076,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, " | undefined" @@ -6937,7 +7100,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.GetAuthHeaders.$1", + "id": "def-common.GetAuthHeaders.$1", "type": "Object", "tags": [], "label": "request", @@ -6947,9 +7110,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -6963,7 +7126,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.GetAuthState", + "id": "def-common.GetAuthState", "type": "Type", "tags": [], "label": "GetAuthState", @@ -6974,17 +7137,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => { status: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthStatus", + "section": "def-common.AuthStatus", "text": "AuthStatus" }, "; state: T; }" @@ -6996,7 +7159,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.GetAuthState.$1", + "id": "def-common.GetAuthState.$1", "type": "Object", "tags": [], "label": "request", @@ -7006,9 +7169,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7022,7 +7185,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HandlerContextType", + "id": "def-common.HandlerContextType", "type": "Type", "tags": [], "label": "HandlerContextType", @@ -7033,9 +7196,9 @@ "T extends ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HandlerFunction", + "section": "def-common.HandlerFunction", "text": "HandlerFunction" }, " ? U : never" @@ -7047,7 +7210,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HandlerFunction", + "id": "def-common.HandlerFunction", "type": "Type", "tags": [], "label": "HandlerFunction", @@ -7064,7 +7227,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HandlerFunction.$1", + "id": "def-common.HandlerFunction.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -7078,7 +7241,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HandlerFunction.$2", + "id": "def-common.HandlerFunction.$2", "type": "Array", "tags": [], "label": "args", @@ -7095,7 +7258,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HandlerParameters", + "id": "def-common.HandlerParameters", "type": "Type", "tags": [], "label": "HandlerParameters", @@ -7112,7 +7275,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.Headers", + "id": "def-common.Headers", "type": "Type", "tags": [], "label": "Headers", @@ -7129,7 +7292,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.HttpResponsePayload", + "id": "def-common.HttpResponsePayload", "type": "Type", "tags": [], "label": "HttpResponsePayload", @@ -7148,7 +7311,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextProvider", + "id": "def-common.IContextProvider", "type": "Type", "tags": [], "label": "IContextProvider", @@ -7159,25 +7322,25 @@ "(context: Omit, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, ">" @@ -7191,7 +7354,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextProvider.$1", + "id": "def-common.IContextProvider.$1", "type": "Object", "tags": [], "label": "context", @@ -7207,7 +7370,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IContextProvider.$2", + "id": "def-common.IContextProvider.$2", "type": "Object", "tags": [], "label": "rest", @@ -7218,17 +7381,17 @@ "[request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, "]" @@ -7242,7 +7405,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IsAuthenticated", + "id": "def-common.IsAuthenticated", "type": "Type", "tags": [], "label": "IsAuthenticated", @@ -7253,9 +7416,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -7267,7 +7430,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.IsAuthenticated.$1", + "id": "def-common.IsAuthenticated.$1", "type": "Object", "tags": [], "label": "request", @@ -7277,9 +7440,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7293,7 +7456,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaRequestRouteOptions", + "id": "def-common.KibanaRequestRouteOptions", "type": "Type", "tags": [], "label": "KibanaRequestRouteOptions", @@ -7304,17 +7467,17 @@ "Method extends \"options\" | \"get\" ? Required, \"body\">> : Required<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfigOptions", + "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, ">" @@ -7326,7 +7489,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KibanaResponseFactory", + "id": "def-common.KibanaResponseFactory", "type": "Type", "tags": [], "label": "KibanaResponseFactory", @@ -7336,25 +7499,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaSuccessResponseFactory", + "section": "def-common.KibanaSuccessResponseFactory", "text": "KibanaSuccessResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" }, " & { custom | Error | ", @@ -7362,25 +7525,25 @@ " | Buffer | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; } | undefined>(options: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.CustomHttpResponseOptions", + "section": "def-common.CustomHttpResponseOptions", "text": "CustomHttpResponseOptions" }, "): ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "; }" @@ -7392,7 +7555,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KnownHeaders", + "id": "def-common.KnownHeaders", "type": "Type", "tags": [], "label": "KnownHeaders", @@ -7409,7 +7572,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.KnownKeys", + "id": "def-common.KnownKeys", "type": "Type", "tags": [], "label": "KnownKeys", @@ -7419,9 +7582,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.StringKeysAsVals", + "section": "def-common.StringKeysAsVals", "text": "StringKeysAsVals" }, " extends { [_ in keyof T]: infer U; } ? U : never" @@ -7433,7 +7596,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.LifecycleResponseFactory", + "id": "def-common.LifecycleResponseFactory", "type": "Type", "tags": [], "label": "LifecycleResponseFactory", @@ -7443,17 +7606,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -7464,7 +7627,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthHandler", + "id": "def-common.OnPostAuthHandler", "type": "Type", "tags": [], "label": "OnPostAuthHandler", @@ -7475,57 +7638,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthToolkit", + "section": "def-common.OnPostAuthToolkit", "text": "OnPostAuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" }, ">" @@ -7537,7 +7700,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthHandler.$1", + "id": "def-common.OnPostAuthHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -7545,9 +7708,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7558,7 +7721,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthHandler.$2", + "id": "def-common.OnPostAuthHandler.$2", "type": "CompoundType", "tags": [], "label": "response", @@ -7566,17 +7729,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -7586,7 +7749,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthHandler.$3", + "id": "def-common.OnPostAuthHandler.$3", "type": "Object", "tags": [], "label": "toolkit", @@ -7594,9 +7757,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthToolkit", + "section": "def-common.OnPostAuthToolkit", "text": "OnPostAuthToolkit" } ], @@ -7609,7 +7772,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthResult", + "id": "def-common.OnPostAuthResult", "type": "Type", "tags": [], "label": "OnPostAuthResult", @@ -7617,9 +7780,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthNextResult", + "section": "def-common.OnPostAuthNextResult", "text": "OnPostAuthNextResult" } ], @@ -7630,7 +7793,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPostAuthResultType", + "id": "def-common.OnPostAuthResultType", "type": "string", "tags": [], "label": "OnPostAuthResultType", @@ -7642,7 +7805,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthHandler", + "id": "def-common.OnPreAuthHandler", "type": "Type", "tags": [], "label": "OnPreAuthHandler", @@ -7653,57 +7816,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthToolkit", + "section": "def-common.OnPreAuthToolkit", "text": "OnPreAuthToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" }, ">" @@ -7715,7 +7878,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthHandler.$1", + "id": "def-common.OnPreAuthHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -7723,9 +7886,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7736,7 +7899,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthHandler.$2", + "id": "def-common.OnPreAuthHandler.$2", "type": "CompoundType", "tags": [], "label": "response", @@ -7744,17 +7907,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -7764,7 +7927,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthHandler.$3", + "id": "def-common.OnPreAuthHandler.$3", "type": "Object", "tags": [], "label": "toolkit", @@ -7772,9 +7935,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthToolkit", + "section": "def-common.OnPreAuthToolkit", "text": "OnPreAuthToolkit" } ], @@ -7787,7 +7950,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthResult", + "id": "def-common.OnPreAuthResult", "type": "Type", "tags": [], "label": "OnPreAuthResult", @@ -7795,9 +7958,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthNextResult", + "section": "def-common.OnPreAuthNextResult", "text": "OnPreAuthNextResult" } ], @@ -7808,7 +7971,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreAuthResultType", + "id": "def-common.OnPreAuthResultType", "type": "string", "tags": [], "label": "OnPreAuthResultType", @@ -7820,7 +7983,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseHandler", + "id": "def-common.OnPreResponseHandler", "type": "Type", "tags": [], "label": "OnPreResponseHandler", @@ -7831,41 +7994,41 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", preResponse: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseInfo", + "section": "def-common.OnPreResponseInfo", "text": "OnPreResponseInfo" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseToolkit", + "section": "def-common.OnPreResponseToolkit", "text": "OnPreResponseToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResult", + "section": "def-common.OnPreResponseResult", "text": "OnPreResponseResult" }, ">" @@ -7877,7 +8040,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseHandler.$1", + "id": "def-common.OnPreResponseHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -7885,9 +8048,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -7898,7 +8061,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseHandler.$2", + "id": "def-common.OnPreResponseHandler.$2", "type": "Object", "tags": [], "label": "preResponse", @@ -7906,9 +8069,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseInfo", + "section": "def-common.OnPreResponseInfo", "text": "OnPreResponseInfo" } ], @@ -7918,7 +8081,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseHandler.$3", + "id": "def-common.OnPreResponseHandler.$3", "type": "Object", "tags": [], "label": "toolkit", @@ -7926,9 +8089,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseToolkit", + "section": "def-common.OnPreResponseToolkit", "text": "OnPreResponseToolkit" } ], @@ -7941,7 +8104,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreResponseResult", + "id": "def-common.OnPreResponseResult", "type": "Type", "tags": [], "label": "OnPreResponseResult", @@ -7949,17 +8112,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResultRender", + "section": "def-common.OnPreResponseResultRender", "text": "OnPreResponseResultRender" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseResultNext", + "section": "def-common.OnPreResponseResultNext", "text": "OnPreResponseResultNext" } ], @@ -7970,7 +8133,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingHandler", + "id": "def-common.OnPreRoutingHandler", "type": "Type", "tags": [], "label": "OnPreRoutingHandler", @@ -7981,57 +8144,57 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ", toolkit: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingToolkit", + "section": "def-common.OnPreRoutingToolkit", "text": "OnPreRoutingToolkit" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResult", + "section": "def-common.OnPreRoutingResult", "text": "OnPreRoutingResult" }, ">" @@ -8043,7 +8206,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingHandler.$1", + "id": "def-common.OnPreRoutingHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -8051,9 +8214,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8064,7 +8227,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingHandler.$2", + "id": "def-common.OnPreRoutingHandler.$2", "type": "CompoundType", "tags": [], "label": "response", @@ -8072,17 +8235,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRedirectionResponseFactory", + "section": "def-common.KibanaRedirectionResponseFactory", "text": "KibanaRedirectionResponseFactory" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaErrorResponseFactory", + "section": "def-common.KibanaErrorResponseFactory", "text": "KibanaErrorResponseFactory" } ], @@ -8092,7 +8255,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingHandler.$3", + "id": "def-common.OnPreRoutingHandler.$3", "type": "Object", "tags": [], "label": "toolkit", @@ -8100,9 +8263,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingToolkit", + "section": "def-common.OnPreRoutingToolkit", "text": "OnPreRoutingToolkit" } ], @@ -8115,7 +8278,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.OnPreRoutingResult", + "id": "def-common.OnPreRoutingResult", "type": "Type", "tags": [], "label": "OnPreRoutingResult", @@ -8123,17 +8286,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResultNext", + "section": "def-common.OnPreRoutingResultNext", "text": "OnPreRoutingResultNext" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingResultRewriteUrl", + "section": "def-common.OnPreRoutingResultRewriteUrl", "text": "OnPreRoutingResultRewriteUrl" } ], @@ -8144,7 +8307,30 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RedirectResponseOptions", + "id": "def-common.RawRequest", + "type": "Type", + "tags": [], + "label": "RawRequest", + "description": [], + "signature": [ + "Request", + " | ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.FakeRawRequest", + "text": "FakeRawRequest" + } + ], + "path": "packages/core/http/core-http-server/src/router/raw_request.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.RedirectResponseOptions", "type": "Type", "tags": [], "label": "RedirectResponseOptions", @@ -8154,9 +8340,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpResponseOptions", + "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, " & { headers: { location: string; }; }" @@ -8168,7 +8354,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandler", + "id": "def-common.RequestHandler", "type": "Type", "tags": [], "label": "RequestHandler", @@ -8179,25 +8365,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -8209,7 +8395,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandler.$1", + "id": "def-common.RequestHandler.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -8225,7 +8411,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandler.$2", + "id": "def-common.RequestHandler.$2", "type": "Object", "tags": [], "label": "request", @@ -8235,9 +8421,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8248,7 +8434,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandler.$3", + "id": "def-common.RequestHandler.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -8267,7 +8453,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerWrapper", + "id": "def-common.RequestHandlerWrapper", "type": "Type", "tags": [], "label": "RequestHandlerWrapper", @@ -8278,57 +8464,57 @@ "(handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, "" @@ -8340,7 +8526,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerWrapper.$1", + "id": "def-common.RequestHandlerWrapper.$1", "type": "Function", "tags": [], "label": "handler", @@ -8349,25 +8535,25 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ResponseFactory) => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -8379,7 +8565,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerWrapper.$1.$1", + "id": "def-common.RequestHandlerWrapper.$1.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -8393,7 +8579,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerWrapper.$1.$2", + "id": "def-common.RequestHandlerWrapper.$1.$2", "type": "Object", "tags": [], "label": "request", @@ -8401,9 +8587,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8414,7 +8600,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RequestHandlerWrapper.$1.$3", + "id": "def-common.RequestHandlerWrapper.$1.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -8433,7 +8619,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ResponseError", + "id": "def-common.ResponseError", "type": "Type", "tags": [], "label": "ResponseError", @@ -8444,9 +8630,9 @@ "string | Error | { message: string | Error; attributes?: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ResponseErrorAttributes", + "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, " | undefined; }" @@ -8458,7 +8644,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ResponseErrorAttributes", + "id": "def-common.ResponseErrorAttributes", "type": "Type", "tags": [], "label": "ResponseErrorAttributes", @@ -8475,7 +8661,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.ResponseHeaders", + "id": "def-common.ResponseHeaders", "type": "Type", "tags": [], "label": "ResponseHeaders", @@ -8492,7 +8678,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteContentType", + "id": "def-common.RouteContentType", "type": "Type", "tags": [], "label": "RouteContentType", @@ -8509,7 +8695,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteMethod", + "id": "def-common.RouteMethod", "type": "Type", "tags": [], "label": "RouteMethod", @@ -8519,17 +8705,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SafeRouteMethod", + "section": "def-common.SafeRouteMethod", "text": "SafeRouteMethod" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.DestructiveRouteMethod", + "section": "def-common.DestructiveRouteMethod", "text": "DestructiveRouteMethod" } ], @@ -8540,7 +8726,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar", + "id": "def-common.RouteRegistrar", "type": "Type", "tags": [], "label": "RouteRegistrar", @@ -8551,25 +8737,25 @@ "(route: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, ", handler: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandler", + "section": "def-common.RequestHandler", "text": "RequestHandler" }, ") => void" @@ -8581,7 +8767,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar.$1", + "id": "def-common.RouteRegistrar.$1", "type": "Object", "tags": [], "label": "route", @@ -8589,9 +8775,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteConfig", + "section": "def-common.RouteConfig", "text": "RouteConfig" }, "" @@ -8602,7 +8788,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar.$2", + "id": "def-common.RouteRegistrar.$2", "type": "Function", "tags": [], "label": "handler", @@ -8611,33 +8797,33 @@ "(context: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -8649,7 +8835,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar.$2.$1", + "id": "def-common.RouteRegistrar.$2.$1", "type": "Uncategorized", "tags": [], "label": "context", @@ -8663,7 +8849,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar.$2.$2", + "id": "def-common.RouteRegistrar.$2.$2", "type": "Object", "tags": [], "label": "request", @@ -8671,9 +8857,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8684,7 +8870,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteRegistrar.$2.$3", + "id": "def-common.RouteRegistrar.$2.$3", "type": "Uncategorized", "tags": [], "label": "response", @@ -8703,7 +8889,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationFunction", + "id": "def-common.RouteValidationFunction", "type": "Type", "tags": [], "label": "RouteValidationFunction", @@ -8714,17 +8900,17 @@ "(data: any, validationResult: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationResultFactory", + "section": "def-common.RouteValidationResultFactory", "text": "RouteValidationResultFactory" }, ") => { value: T; error?: undefined; } | { value?: undefined; error: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationError", + "section": "def-common.RouteValidationError", "text": "RouteValidationError" }, "; }" @@ -8736,7 +8922,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationFunction.$1", + "id": "def-common.RouteValidationFunction.$1", "type": "Any", "tags": [], "label": "data", @@ -8750,7 +8936,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationFunction.$2", + "id": "def-common.RouteValidationFunction.$2", "type": "Object", "tags": [], "label": "validationResult", @@ -8758,9 +8944,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationResultFactory", + "section": "def-common.RouteValidationResultFactory", "text": "RouteValidationResultFactory" } ], @@ -8773,7 +8959,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidationSpec", + "id": "def-common.RouteValidationSpec", "type": "Type", "tags": [], "label": "RouteValidationSpec", @@ -8783,25 +8969,25 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, " | ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidationFunction", + "section": "def-common.RouteValidationFunction", "text": "RouteValidationFunction" }, "" @@ -8813,7 +8999,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.RouteValidatorFullConfig", + "id": "def-common.RouteValidatorFullConfig", "type": "Type", "tags": [], "label": "RouteValidatorFullConfig", @@ -8823,17 +9009,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorConfig", + "section": "def-common.RouteValidatorConfig", "text": "RouteValidatorConfig" }, " & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RouteValidatorOptions", + "section": "def-common.RouteValidatorOptions", "text": "RouteValidatorOptions" } ], @@ -8844,7 +9030,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SafeRouteMethod", + "id": "def-common.SafeRouteMethod", "type": "Type", "tags": [], "label": "SafeRouteMethod", @@ -8861,7 +9047,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SetAuthHeaders", + "id": "def-common.SetAuthHeaders", "type": "Type", "tags": [], "label": "SetAuthHeaders", @@ -8870,17 +9056,17 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", headers: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthHeaders", + "section": "def-common.AuthHeaders", "text": "AuthHeaders" }, ") => void" @@ -8892,7 +9078,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SetAuthHeaders.$1", + "id": "def-common.SetAuthHeaders.$1", "type": "Object", "tags": [], "label": "request", @@ -8900,9 +9086,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -8913,7 +9099,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.SetAuthHeaders.$2", + "id": "def-common.SetAuthHeaders.$2", "type": "Object", "tags": [], "label": "headers", @@ -8930,7 +9116,7 @@ }, { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.StringKeysAsVals", + "id": "def-common.StringKeysAsVals", "type": "Type", "tags": [], "label": "StringKeysAsVals", @@ -8949,7 +9135,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-server", - "id": "def-server.validBodyOutput", + "id": "def-common.validBodyOutput", "type": "Object", "tags": [], "label": "validBodyOutput", @@ -8965,13 +9151,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index fd69dd350f450..42c70112b4514 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; @@ -21,22 +21,22 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 392 | 1 | 154 | 0 | +| 403 | 1 | 160 | 0 | -## Server +## Common ### Objects - + ### Classes - + ### Interfaces - + ### Enums - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_server_internal.devdocs.json b/api_docs/kbn_core_http_server_internal.devdocs.json index f6391297f4d6b..bee16276e70e4 100644 --- a/api_docs/kbn_core_http_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig", + "id": "def-common.CspConfig", "type": "Class", "tags": [], "label": "CspConfig", @@ -22,17 +30,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.CspConfig", + "section": "def-common.CspConfig", "text": "CspConfig" }, " implements ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" } ], @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.DEFAULT", + "id": "def-common.CspConfig.DEFAULT", "type": "Object", "tags": [], "label": "DEFAULT", @@ -50,9 +58,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.CspConfig", + "section": "def-common.CspConfig", "text": "CspConfig" } ], @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.directives", + "id": "def-common.CspConfig.directives", "type": "Object", "tags": [], "label": "#directives", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.strict", + "id": "def-common.CspConfig.strict", "type": "boolean", "tags": [], "label": "strict", @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.warnLegacyBrowsers", + "id": "def-common.CspConfig.warnLegacyBrowsers", "type": "boolean", "tags": [], "label": "warnLegacyBrowsers", @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.disableEmbedding", + "id": "def-common.CspConfig.disableEmbedding", "type": "boolean", "tags": [], "label": "disableEmbedding", @@ -109,7 +117,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.CspConfig.header", + "id": "def-common.CspConfig.header", "type": "string", "tags": [], "label": "header", @@ -123,7 +131,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.ExternalUrlConfig", + "id": "def-common.ExternalUrlConfig", "type": "Class", "tags": [], "label": "ExternalUrlConfig", @@ -133,17 +141,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.ExternalUrlConfig", + "section": "def-common.ExternalUrlConfig", "text": "ExternalUrlConfig" }, " implements ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IExternalUrlConfig", + "section": "def-common.IExternalUrlConfig", "text": "IExternalUrlConfig" } ], @@ -153,7 +161,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.ExternalUrlConfig.DEFAULT", + "id": "def-common.ExternalUrlConfig.DEFAULT", "type": "Object", "tags": [], "label": "DEFAULT", @@ -161,9 +169,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.ExternalUrlConfig", + "section": "def-common.ExternalUrlConfig", "text": "ExternalUrlConfig" } ], @@ -173,7 +181,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.ExternalUrlConfig.policy", + "id": "def-common.ExternalUrlConfig.policy", "type": "Array", "tags": [], "label": "policy", @@ -197,7 +205,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig", + "id": "def-common.HttpConfig", "type": "Class", "tags": [], "label": "HttpConfig", @@ -205,17 +213,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.HttpConfig", + "section": "def-common.HttpConfig", "text": "HttpConfig" }, " implements ", { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.IHttpConfig", + "section": "def-common.IHttpConfig", "text": "IHttpConfig" } ], @@ -225,7 +233,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.name", + "id": "def-common.HttpConfig.name", "type": "string", "tags": [], "label": "name", @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.autoListen", + "id": "def-common.HttpConfig.autoListen", "type": "boolean", "tags": [], "label": "autoListen", @@ -247,7 +255,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.host", + "id": "def-common.HttpConfig.host", "type": "string", "tags": [], "label": "host", @@ -258,7 +266,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.keepaliveTimeout", + "id": "def-common.HttpConfig.keepaliveTimeout", "type": "number", "tags": [], "label": "keepaliveTimeout", @@ -269,7 +277,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.socketTimeout", + "id": "def-common.HttpConfig.socketTimeout", "type": "number", "tags": [], "label": "socketTimeout", @@ -280,7 +288,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.port", + "id": "def-common.HttpConfig.port", "type": "number", "tags": [], "label": "port", @@ -291,7 +299,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.cors", + "id": "def-common.HttpConfig.cors", "type": "Object", "tags": [], "label": "cors", @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.securityResponseHeaders", + "id": "def-common.HttpConfig.securityResponseHeaders", "type": "Object", "tags": [], "label": "securityResponseHeaders", @@ -319,7 +327,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.customResponseHeaders", + "id": "def-common.HttpConfig.customResponseHeaders", "type": "Object", "tags": [], "label": "customResponseHeaders", @@ -333,7 +341,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.maxPayload", + "id": "def-common.HttpConfig.maxPayload", "type": "Object", "tags": [], "label": "maxPayload", @@ -341,9 +349,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -353,7 +361,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.basePath", + "id": "def-common.HttpConfig.basePath", "type": "string", "tags": [], "label": "basePath", @@ -367,7 +375,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.publicBaseUrl", + "id": "def-common.HttpConfig.publicBaseUrl", "type": "string", "tags": [], "label": "publicBaseUrl", @@ -381,7 +389,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.rewriteBasePath", + "id": "def-common.HttpConfig.rewriteBasePath", "type": "boolean", "tags": [], "label": "rewriteBasePath", @@ -392,7 +400,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.ssl", + "id": "def-common.HttpConfig.ssl", "type": "Object", "tags": [], "label": "ssl", @@ -400,9 +408,9 @@ "signature": [ { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.SslConfig", + "section": "def-common.SslConfig", "text": "SslConfig" } ], @@ -412,7 +420,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.compression", + "id": "def-common.HttpConfig.compression", "type": "Object", "tags": [], "label": "compression", @@ -426,7 +434,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.csp", + "id": "def-common.HttpConfig.csp", "type": "Object", "tags": [], "label": "csp", @@ -434,9 +442,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" } ], @@ -446,7 +454,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.externalUrl", + "id": "def-common.HttpConfig.externalUrl", "type": "Object", "tags": [], "label": "externalUrl", @@ -454,9 +462,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IExternalUrlConfig", + "section": "def-common.IExternalUrlConfig", "text": "IExternalUrlConfig" } ], @@ -466,7 +474,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.xsrf", + "id": "def-common.HttpConfig.xsrf", "type": "Object", "tags": [], "label": "xsrf", @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.requestId", + "id": "def-common.HttpConfig.requestId", "type": "Object", "tags": [], "label": "requestId", @@ -494,7 +502,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfig.shutdownTimeout", + "id": "def-common.HttpConfig.shutdownTimeout", "type": "Object", "tags": [], "label": "shutdownTimeout", @@ -511,7 +519,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer", + "id": "def-common.HttpServer", "type": "Class", "tags": [], "label": "HttpServer", @@ -522,7 +530,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.Unnamed", + "id": "def-common.HttpServer.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -536,7 +544,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.Unnamed.$1", + "id": "def-common.HttpServer.Unnamed.$1", "type": "Object", "tags": [], "label": "logger", @@ -544,9 +552,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -557,7 +565,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.Unnamed.$2", + "id": "def-common.HttpServer.Unnamed.$2", "type": "string", "tags": [], "label": "name", @@ -572,7 +580,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.Unnamed.$3", + "id": "def-common.HttpServer.Unnamed.$3", "type": "Object", "tags": [], "label": "shutdownTimeout$", @@ -591,7 +599,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.isListening", + "id": "def-common.HttpServer.isListening", "type": "Function", "tags": [], "label": "isListening", @@ -607,7 +615,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.setup", + "id": "def-common.HttpServer.setup", "type": "Function", "tags": [], "label": "setup", @@ -616,9 +624,9 @@ "(config: ", { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.HttpConfig", + "section": "def-common.HttpConfig", "text": "HttpConfig" }, ", executionContext?: ", @@ -633,7 +641,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.setup.$1", + "id": "def-common.HttpServer.setup.$1", "type": "Object", "tags": [], "label": "config", @@ -641,9 +649,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.HttpConfig", + "section": "def-common.HttpConfig", "text": "HttpConfig" } ], @@ -654,7 +662,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.setup.$2", + "id": "def-common.HttpServer.setup.$2", "type": "Object", "tags": [], "label": "executionContext", @@ -673,7 +681,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.start", + "id": "def-common.HttpServer.start", "type": "Function", "tags": [], "label": "start", @@ -689,7 +697,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpServer.stop", + "id": "def-common.HttpServer.stop", "type": "Function", "tags": [], "label": "stop", @@ -710,7 +718,7 @@ "functions": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.createCookieSessionStorageFactory", + "id": "def-common.createCookieSessionStorageFactory", "type": "Function", "tags": [], "label": "createCookieSessionStorageFactory", @@ -721,9 +729,9 @@ "(log: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", server: ", @@ -731,17 +739,17 @@ ", cookieOptions: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, ", basePath: string | undefined) => Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, ">" @@ -752,7 +760,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.createCookieSessionStorageFactory.$1", + "id": "def-common.createCookieSessionStorageFactory.$1", "type": "Object", "tags": [], "label": "log", @@ -760,9 +768,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -773,7 +781,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.createCookieSessionStorageFactory.$2", + "id": "def-common.createCookieSessionStorageFactory.$2", "type": "Object", "tags": [], "label": "server", @@ -790,7 +798,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.createCookieSessionStorageFactory.$3", + "id": "def-common.createCookieSessionStorageFactory.$3", "type": "Object", "tags": [], "label": "cookieOptions", @@ -800,9 +808,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "" @@ -814,7 +822,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.createCookieSessionStorageFactory.$4", + "id": "def-common.createCookieSessionStorageFactory.$4", "type": "string", "tags": [], "label": "basePath", @@ -837,7 +845,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.HttpConfigType", + "id": "def-common.HttpConfigType", "type": "Type", "tags": [], "label": "HttpConfigType", @@ -846,9 +854,9 @@ "{ readonly basePath?: string | undefined; readonly uuid?: string | undefined; readonly publicBaseUrl?: string | undefined; readonly name: string; readonly host: string; readonly compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; readonly ssl: Readonly<{ key?: string | undefined; certificate?: string | undefined; certificateAuthorities?: string | string[] | undefined; keyPassphrase?: string | undefined; redirectHttpFromPort?: number | undefined; } & { enabled: boolean; keystore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"optional\" | \"none\" | \"required\"; }>; readonly port: number; readonly cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; readonly autoListen: boolean; readonly shutdownTimeout: moment.Duration; readonly securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; disableEmbedding: boolean; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; readonly customResponseHeaders: Record; readonly maxPayload: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; readonly rewriteBasePath: boolean; readonly keepaliveTimeout: number; readonly socketTimeout: number; readonly xsrf: Readonly<{} & { disableProtection: boolean; allowlist: string[]; }>; readonly requestId: Readonly<{} & { allowFromAnyIp: boolean; ipAllowlist: string[]; }>; }" @@ -862,7 +870,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.cspConfig", + "id": "def-common.cspConfig", "type": "Object", "tags": [], "label": "cspConfig", @@ -873,7 +881,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.cspConfig.path", + "id": "def-common.cspConfig.path", "type": "string", "tags": [], "label": "path", @@ -886,7 +894,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.cspConfig.schema", + "id": "def-common.cspConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -894,129 +902,129 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ disableUnsafeEval: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ConditionalType", + "section": "def-common.ConditionalType", "text": "ConditionalType" }, "; script_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; worker_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; style_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; connect_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; default_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; font_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; frame_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; img_src: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; frame_ancestors: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; report_uri: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; report_to: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; strict: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; warnLegacyBrowsers: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; disableEmbedding: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -1030,7 +1038,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.externalUrlConfig", + "id": "def-common.externalUrlConfig", "type": "Object", "tags": [], "label": "externalUrlConfig", @@ -1041,7 +1049,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.externalUrlConfig.path", + "id": "def-common.externalUrlConfig.path", "type": "string", "tags": [], "label": "path", @@ -1052,7 +1060,7 @@ }, { "parentPluginId": "@kbn/core-http-server-internal", - "id": "def-server.externalUrlConfig.schema", + "id": "def-common.externalUrlConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -1060,17 +1068,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ policy: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", @@ -1091,13 +1099,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 813cfb00cfd0b..7638a730a54fc 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 54 | 0 | 48 | 6 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_http_server_mocks.devdocs.json b/api_docs/kbn_core_http_server_mocks.devdocs.json index 7479525ab94e6..3e64bb2af2e99 100644 --- a/api_docs/kbn_core_http_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_server_mocks.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.createCoreContext", + "id": "def-common.createCoreContext", "type": "Function", "tags": [], "label": "createCoreContext", @@ -30,7 +38,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.createCoreContext.$1", + "id": "def-common.createCoreContext.$1", "type": "Object", "tags": [], "label": "overrides", @@ -51,7 +59,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.createHttpServer", + "id": "def-common.createHttpServer", "type": "Function", "tags": [], "label": "createHttpServer", @@ -70,7 +78,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.createHttpServer.$1", + "id": "def-common.createHttpServer.$1", "type": "Object", "tags": [], "label": "overrides", @@ -95,7 +103,7 @@ "misc": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.HttpServicePrebootMock", + "id": "def-common.HttpServicePrebootMock", "type": "Type", "tags": [], "label": "HttpServicePrebootMock", @@ -104,49 +112,49 @@ "{ registerRoutes: jest.MockInstance) => void]>; basePath: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" }, "; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServicePreboot", + "section": "def-common.HttpServicePreboot", "text": "HttpServicePreboot" }, "<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.RequestHandlerContextBase", + "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, ">" @@ -158,7 +166,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.HttpServiceSetupMock", + "id": "def-common.HttpServiceSetupMock", "type": "Type", "tags": [], "label": "HttpServiceSetupMock", @@ -167,105 +175,105 @@ "{ csp: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" }, "; registerRouteHandlerContext: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextContainer", + "section": "def-common.IContextContainer", "text": "IContextContainer" }, ", [contextName: Exclude, provider: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IContextProvider", + "section": "def-common.IContextProvider", "text": "IContextProvider" }, ">]>; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; createCookieSessionStorageFactory: jest.MockInstance>, [cookieOptions: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "]>; registerOnPreRouting: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPreResponse: jest.MockInstance; } & Omit<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, ", \"createRouter\" | \"basePath\"> & { basePath: BasePathMocked; createRouter: jest.MockedFunction<() => ", { "pluginId": "@kbn/core-http-router-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRouterServerMocksPluginApi", - "section": "def-server.RouterMock", + "section": "def-common.RouterMock", "text": "RouterMock" }, ">; }" @@ -277,7 +285,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.HttpServiceStartMock", + "id": "def-common.HttpServiceStartMock", "type": "Type", "tags": [], "label": "HttpServiceStartMock", @@ -286,33 +294,33 @@ "{ basePath: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" }, "; auth: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpAuth", + "section": "def-common.HttpAuth", "text": "HttpAuth" }, "; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; } & ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceStart", + "section": "def-common.HttpServiceStart", "text": "HttpServiceStart" }, " & { basePath: BasePathMocked; }" @@ -324,7 +332,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.InternalHttpServicePrebootMock", + "id": "def-common.InternalHttpServicePrebootMock", "type": "Type", "tags": [], "label": "InternalHttpServicePrebootMock", @@ -333,9 +341,9 @@ "{ auth: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpAuth", + "section": "def-common.HttpAuth", "text": "HttpAuth" }, "; server: ", @@ -343,57 +351,57 @@ "; externalUrl: ", { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.ExternalUrlConfig", + "section": "def-common.ExternalUrlConfig", "text": "ExternalUrlConfig" }, "; csp: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" }, "; registerStaticDir: jest.MockInstance; registerRouteHandlerContext: jest.MockInstance]>; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; registerRoutes: jest.MockInstance) => void]>; } & Omit<", @@ -407,7 +415,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.InternalHttpServiceSetupMock", + "id": "def-common.InternalHttpServiceSetupMock", "type": "Type", "tags": [], "label": "InternalHttpServiceSetupMock", @@ -418,129 +426,129 @@ "; externalUrl: ", { "pluginId": "@kbn/core-http-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerInternalPluginApi", - "section": "def-server.ExternalUrlConfig", + "section": "def-common.ExternalUrlConfig", "text": "ExternalUrlConfig" }, "; csp: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.ICspConfig", + "section": "def-common.ICspConfig", "text": "ICspConfig" }, "; registerStaticDir: jest.MockInstance; registerRouteHandlerContext: jest.MockInstance]>; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; createCookieSessionStorageFactory: jest.MockInstance>, [cookieOptions: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageCookieOptions", + "section": "def-common.SessionStorageCookieOptions", "text": "SessionStorageCookieOptions" }, "]>; registerOnPreRouting: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPreResponse: jest.MockInstance; registerRouterAfterListening: jest.MockInstance]>; registerPrebootRoutes: jest.MockInstance) => void]>; } & Omit<", @@ -548,17 +556,17 @@ ", \"createRouter\" | \"auth\" | \"basePath\" | \"authRequestHeaders\"> & { auth: AuthMocked; basePath: BasePathMocked; createRouter: jest.MockedFunction<(path: string) => ", { "pluginId": "@kbn/core-http-router-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRouterServerMocksPluginApi", - "section": "def-server.RouterMock", + "section": "def-common.RouterMock", "text": "RouterMock" }, ">; authRequestHeaders: jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IAuthHeadersStorage", + "section": "def-common.IAuthHeadersStorage", "text": "IAuthHeadersStorage" }, ">; }" @@ -570,7 +578,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.InternalHttpServiceStartMock", + "id": "def-common.InternalHttpServiceStartMock", "type": "Type", "tags": [], "label": "InternalHttpServiceStartMock", @@ -579,25 +587,25 @@ "{ isListening: jest.MockInstance; basePath: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IBasePath", + "section": "def-common.IBasePath", "text": "IBasePath" }, "; auth: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpAuth", + "section": "def-common.HttpAuth", "text": "HttpAuth" }, "; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServerInfo", + "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, ", []>; } & ", @@ -613,7 +621,7 @@ "objects": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock", + "id": "def-common.httpServerMock", "type": "Object", "tags": [], "label": "httpServerMock", @@ -624,7 +632,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createKibanaRequest", + "id": "def-common.httpServerMock.createKibanaRequest", "type": "Function", "tags": [], "label": "createKibanaRequest", @@ -635,9 +643,9 @@ ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -649,7 +657,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createKibanaRequest.$1", + "id": "def-common.httpServerMock.createKibanaRequest.$1", "type": "Object", "tags": [], "label": "__0", @@ -666,7 +674,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createRawRequest", + "id": "def-common.httpServerMock.createRawRequest", "type": "Function", "tags": [], "label": "createRawRequest", @@ -675,9 +683,9 @@ "(customization?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -692,7 +700,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createRawRequest.$1", + "id": "def-common.httpServerMock.createRawRequest.$1", "type": "Object", "tags": [], "label": "customization", @@ -701,9 +709,9 @@ "{ app?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -711,9 +719,9 @@ "> | undefined; readonly auth?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -721,9 +729,9 @@ "> | undefined; events?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -731,9 +739,9 @@ "> | undefined; readonly headers?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -741,9 +749,9 @@ ".Dictionary> | undefined; readonly info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -751,9 +759,9 @@ "> | undefined; readonly logs?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, "<", @@ -763,9 +771,9 @@ ".HTTP_METHODS_PARTIAL_LOWERCASE | undefined; readonly mime?: string | undefined; readonly orig?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -773,9 +781,9 @@ "> | undefined; readonly params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -783,17 +791,17 @@ ".Dictionary> | undefined; readonly paramsArray?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, " | undefined; readonly path?: string | undefined; readonly payload?: string | object | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -801,17 +809,17 @@ "> | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, " | undefined; plugins?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -819,9 +827,9 @@ "> | undefined; readonly pre?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -829,9 +837,9 @@ ".Dictionary> | undefined; response?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -839,9 +847,9 @@ "> | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -849,9 +857,9 @@ "> | undefined; readonly preResponses?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -859,9 +867,9 @@ ".Dictionary> | undefined; readonly query?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -869,9 +877,9 @@ "> | undefined; readonly raw?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ req: ", @@ -881,9 +889,9 @@ "; }> | undefined; readonly route?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -891,9 +899,9 @@ "> | undefined; server?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -901,9 +909,9 @@ "> | undefined; readonly state?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -911,9 +919,9 @@ ".Dictionary> | undefined; readonly url?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -921,17 +929,17 @@ "> | undefined; active?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<() => boolean> | undefined; generateResponse?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(source: string | object | null, options?: { variety?: string | undefined; prepare?: ((response: ", @@ -949,17 +957,17 @@ "> | undefined; log?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(tags: string | string[], data?: string | object | (() => string | object) | undefined) => void> | undefined; setMethod?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(method: ", @@ -967,9 +975,9 @@ ".HTTP_METHODS_PARTIAL) => void> | undefined; setUrl?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(url: string | ", @@ -977,17 +985,17 @@ ", stripTrailingSlash?: boolean | undefined) => void> | undefined; cookieAuth?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ set(session: object): void; set(key: string, value: string | object): void; clear(key?: string | undefined): void; ttl(milliseconds: number): void; }> | undefined; registerEvent?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(events: ", @@ -997,9 +1005,9 @@ "[]) => void> | undefined; registerPodium?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(podiums: ", @@ -1009,9 +1017,9 @@ "[]) => void> | undefined; emit?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(criteria: string | ", @@ -1019,9 +1027,9 @@ ", data?: any) => Promise> | undefined; on?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ | undefined; addListener?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ | undefined; once?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ ): Promise; }> | undefined; removeListener?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string, listener: ", @@ -1107,9 +1115,9 @@ "> | undefined; removeAllListeners?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string) => ", @@ -1117,9 +1125,9 @@ "> | undefined; hasListeners?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string) => boolean> | undefined; }" @@ -1132,7 +1140,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createResponseFactory", + "id": "def-common.httpServerMock.createResponseFactory", "type": "Function", "tags": [], "label": "createResponseFactory", @@ -1141,9 +1149,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ">" @@ -1156,7 +1164,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createLifecycleResponseFactory", + "id": "def-common.httpServerMock.createLifecycleResponseFactory", "type": "Function", "tags": [], "label": "createLifecycleResponseFactory", @@ -1165,9 +1173,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.LifecycleResponseFactory", + "section": "def-common.LifecycleResponseFactory", "text": "LifecycleResponseFactory" }, ">" @@ -1180,7 +1188,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServerMock.createToolkit", + "id": "def-common.httpServerMock.createToolkit", "type": "Function", "tags": [], "label": "createToolkit", @@ -1199,7 +1207,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock", + "id": "def-common.httpServiceMock", "type": "Object", "tags": [], "label": "httpServiceMock", @@ -1210,7 +1218,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.create", + "id": "def-common.httpServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -1226,7 +1234,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createBasePath", + "id": "def-common.httpServiceMock.createBasePath", "type": "Function", "tags": [], "label": "createBasePath", @@ -1241,7 +1249,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createBasePath.$1", + "id": "def-common.httpServiceMock.createBasePath.$1", "type": "string", "tags": [], "label": "serverBasePath", @@ -1252,7 +1260,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createBasePath.$2", + "id": "def-common.httpServiceMock.createBasePath.$2", "type": "string", "tags": [], "label": "publicBaseUrl", @@ -1265,7 +1273,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createAuth", + "id": "def-common.httpServiceMock.createAuth", "type": "Function", "tags": [], "label": "createAuth", @@ -1281,7 +1289,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createInternalPrebootContract", + "id": "def-common.httpServiceMock.createInternalPrebootContract", "type": "Function", "tags": [], "label": "createInternalPrebootContract", @@ -1290,9 +1298,9 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServicePrebootMock", + "section": "def-common.InternalHttpServicePrebootMock", "text": "InternalHttpServicePrebootMock" } ], @@ -1304,7 +1312,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createPrebootContract", + "id": "def-common.httpServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -1313,9 +1321,9 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.HttpServicePrebootMock", + "section": "def-common.HttpServicePrebootMock", "text": "HttpServicePrebootMock" } ], @@ -1327,7 +1335,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createInternalSetupContract", + "id": "def-common.httpServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -1336,9 +1344,9 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServiceSetupMock", + "section": "def-common.InternalHttpServiceSetupMock", "text": "InternalHttpServiceSetupMock" } ], @@ -1350,7 +1358,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createSetupContract", + "id": "def-common.httpServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -1359,25 +1367,25 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.HttpServiceSetupMock", + "section": "def-common.HttpServiceSetupMock", "text": "HttpServiceSetupMock" }, "" @@ -1390,7 +1398,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createInternalStartContract", + "id": "def-common.httpServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -1399,9 +1407,9 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServiceStartMock", + "section": "def-common.InternalHttpServiceStartMock", "text": "InternalHttpServiceStartMock" } ], @@ -1413,7 +1421,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createStartContract", + "id": "def-common.httpServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -1422,9 +1430,9 @@ "() => ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.HttpServiceStartMock", + "section": "def-common.HttpServiceStartMock", "text": "HttpServiceStartMock" } ], @@ -1436,7 +1444,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createOnPreAuthToolkit", + "id": "def-common.httpServiceMock.createOnPreAuthToolkit", "type": "Function", "tags": [], "label": "createOnPreAuthToolkit", @@ -1445,9 +1453,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreAuthToolkit", + "section": "def-common.OnPreAuthToolkit", "text": "OnPreAuthToolkit" }, ">" @@ -1460,7 +1468,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createOnPostAuthToolkit", + "id": "def-common.httpServiceMock.createOnPostAuthToolkit", "type": "Function", "tags": [], "label": "createOnPostAuthToolkit", @@ -1469,9 +1477,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPostAuthToolkit", + "section": "def-common.OnPostAuthToolkit", "text": "OnPostAuthToolkit" }, ">" @@ -1484,7 +1492,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createOnPreResponseToolkit", + "id": "def-common.httpServiceMock.createOnPreResponseToolkit", "type": "Function", "tags": [], "label": "createOnPreResponseToolkit", @@ -1493,9 +1501,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreResponseToolkit", + "section": "def-common.OnPreResponseToolkit", "text": "OnPreResponseToolkit" }, ">" @@ -1508,7 +1516,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createOnPreRoutingToolkit", + "id": "def-common.httpServiceMock.createOnPreRoutingToolkit", "type": "Function", "tags": [], "label": "createOnPreRoutingToolkit", @@ -1517,9 +1525,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.OnPreRoutingToolkit", + "section": "def-common.OnPreRoutingToolkit", "text": "OnPreRoutingToolkit" }, ">" @@ -1532,7 +1540,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createAuthToolkit", + "id": "def-common.httpServiceMock.createAuthToolkit", "type": "Function", "tags": [], "label": "createAuthToolkit", @@ -1541,9 +1549,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.AuthToolkit", + "section": "def-common.AuthToolkit", "text": "AuthToolkit" }, ">" @@ -1556,7 +1564,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createAuthHeaderStorage", + "id": "def-common.httpServiceMock.createAuthHeaderStorage", "type": "Function", "tags": [], "label": "createAuthHeaderStorage", @@ -1565,9 +1573,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IAuthHeadersStorage", + "section": "def-common.IAuthHeadersStorage", "text": "IAuthHeadersStorage" }, ">" @@ -1580,7 +1588,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createRouter", + "id": "def-common.httpServiceMock.createRouter", "type": "Function", "tags": [], "label": "createRouter", @@ -1589,9 +1597,9 @@ "({ routerPath }?: { routerPath?: string | undefined; }) => ", { "pluginId": "@kbn/core-http-router-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRouterServerMocksPluginApi", - "section": "def-server.RouterMock", + "section": "def-common.RouterMock", "text": "RouterMock" } ], @@ -1602,7 +1610,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.httpServiceMock.createRouter.$1", + "id": "def-common.httpServiceMock.createRouter.$1", "type": "Object", "tags": [], "label": "__0", @@ -1621,7 +1629,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.sessionStorageMock", + "id": "def-common.sessionStorageMock", "type": "Object", "tags": [], "label": "sessionStorageMock", @@ -1632,7 +1640,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.sessionStorageMock.create", + "id": "def-common.sessionStorageMock.create", "type": "Function", "tags": [], "label": "create", @@ -1641,9 +1649,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorage", + "section": "def-common.SessionStorage", "text": "SessionStorage" }, ">" @@ -1656,7 +1664,7 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-server.sessionStorageMock.createFactory", + "id": "def-common.sessionStorageMock.createFactory", "type": "Function", "tags": [], "label": "createFactory", @@ -1665,9 +1673,9 @@ "() => DeepMocked<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.SessionStorageFactory", + "section": "def-common.SessionStorageFactory", "text": "SessionStorageFactory" }, ">" @@ -1682,13 +1690,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 13955b60016f9..40ba8afe3f97e 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 41 | 0 | 40 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 19a2fc06ddbe8..0b6b032a1fcf1 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index f4d578eb69cae..ce5eca51ba669 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 54dec28264ed5..a8aeacd9ed55d 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.devdocs.json b/api_docs/kbn_core_i18n_server_internal.devdocs.json index a2e781dc92059..b2935017e0469 100644 --- a/api_docs/kbn_core_i18n_server_internal.devdocs.json +++ b/api_docs/kbn_core_i18n_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService", + "id": "def-common.I18nService", "type": "Class", "tags": [], "label": "I18nService", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.Unnamed", + "id": "def-common.I18nService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.Unnamed.$1", + "id": "def-common.I18nService.Unnamed.$1", "type": "Object", "tags": [], "label": "coreContext", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.preboot", + "id": "def-common.I18nService.preboot", "type": "Function", "tags": [], "label": "preboot", @@ -71,7 +79,7 @@ "children": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.preboot.$1", + "id": "def-common.I18nService.preboot.$1", "type": "Object", "tags": [], "label": "{ pluginPaths, http }", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.setup", + "id": "def-common.I18nService.setup", "type": "Function", "tags": [], "label": "setup", @@ -113,7 +121,7 @@ "children": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nService.setup.$1", + "id": "def-common.I18nService.setup.$1", "type": "Object", "tags": [], "label": "{ pluginPaths, http }", @@ -139,7 +147,7 @@ "misc": [ { "parentPluginId": "@kbn/core-i18n-server-internal", - "id": "def-server.I18nConfigType", + "id": "def-common.I18nConfigType", "type": "Type", "tags": [], "label": "I18nConfigType", @@ -154,13 +162,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 8a8193ad4e0ef..231dbfb4927ba 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 8 | 0 | 8 | 2 | -## Server +## Common ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index a91804d4df278..c091c69cb6237 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 85be065a46c91..c3a81829387c7 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index f53afbc7d6bf1..26fa7d5c3e273 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index d5ea992211783..a8bbe917c73e1 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index c06df7bc13e51..90acd88066d12 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json b/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json index 879e0fa866892..346b4b938041c 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json @@ -93,9 +93,9 @@ ">; chrome: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", @@ -135,9 +135,9 @@ ">; notifications: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", @@ -151,9 +151,9 @@ ">; overlays: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", @@ -231,9 +231,9 @@ "; notifications: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", @@ -326,9 +326,9 @@ ">; chrome: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", @@ -368,9 +368,9 @@ ">; notifications: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", @@ -384,9 +384,9 @@ ">; overlays: ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 7db0a96f536ff..b9de178600597 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.devdocs.json b/api_docs/kbn_core_lifecycle_server.devdocs.json index 0f8b4df0b7133..67ce539a4ba9d 100644 --- a/api_docs/kbn_core_lifecycle_server.devdocs.json +++ b/api_docs/kbn_core_lifecycle_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CorePreboot", + "id": "def-common.CorePreboot", "type": "Interface", "tags": [], "label": "CorePreboot", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CorePreboot.analytics", + "id": "def-common.CorePreboot.analytics", "type": "Object", "tags": [], "label": "analytics", @@ -101,7 +109,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CorePreboot.elasticsearch", + "id": "def-common.CorePreboot.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -111,9 +119,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServicePreboot", + "section": "def-common.ElasticsearchServicePreboot", "text": "ElasticsearchServicePreboot" } ], @@ -123,7 +131,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CorePreboot.http", + "id": "def-common.CorePreboot.http", "type": "Object", "tags": [], "label": "http", @@ -133,17 +141,17 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServicePreboot", + "section": "def-common.HttpServicePreboot", "text": "HttpServicePreboot" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, ">" @@ -154,7 +162,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CorePreboot.preboot", + "id": "def-common.CorePreboot.preboot", "type": "Object", "tags": [], "label": "preboot", @@ -164,9 +172,9 @@ "signature": [ { "pluginId": "@kbn/core-preboot-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerPluginApi", - "section": "def-server.PrebootServicePreboot", + "section": "def-common.PrebootServicePreboot", "text": "PrebootServicePreboot" } ], @@ -179,7 +187,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup", + "id": "def-common.CoreSetup", "type": "Interface", "tags": [], "label": "CoreSetup", @@ -189,9 +197,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -202,7 +210,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.analytics", + "id": "def-common.CoreSetup.analytics", "type": "Object", "tags": [], "label": "analytics", @@ -276,7 +284,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.capabilities", + "id": "def-common.CoreSetup.capabilities", "type": "Object", "tags": [], "label": "capabilities", @@ -286,9 +294,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSetup", + "section": "def-common.CapabilitiesSetup", "text": "CapabilitiesSetup" } ], @@ -298,7 +306,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.docLinks", + "id": "def-common.CoreSetup.docLinks", "type": "Object", "tags": [], "label": "docLinks", @@ -308,9 +316,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -320,7 +328,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.elasticsearch", + "id": "def-common.CoreSetup.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -330,9 +338,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServiceSetup", + "section": "def-common.ElasticsearchServiceSetup", "text": "ElasticsearchServiceSetup" } ], @@ -342,7 +350,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.executionContext", + "id": "def-common.CoreSetup.executionContext", "type": "Object", "tags": [], "label": "executionContext", @@ -352,9 +360,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -364,7 +372,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.http", + "id": "def-common.CoreSetup.http", "type": "CompoundType", "tags": [], "label": "http", @@ -374,25 +382,25 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceSetup", + "section": "def-common.HttpServiceSetup", "text": "HttpServiceSetup" }, "<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, "> & { resources: ", { "pluginId": "@kbn/core-http-resources-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpResourcesServerPluginApi", - "section": "def-server.HttpResources", + "section": "def-common.HttpResources", "text": "HttpResources" }, "; }" @@ -403,7 +411,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.i18n", + "id": "def-common.CoreSetup.i18n", "type": "Object", "tags": [], "label": "i18n", @@ -425,7 +433,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.logging", + "id": "def-common.CoreSetup.logging", "type": "Object", "tags": [], "label": "logging", @@ -435,9 +443,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggingServiceSetup", + "section": "def-common.LoggingServiceSetup", "text": "LoggingServiceSetup" } ], @@ -447,7 +455,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.metrics", + "id": "def-common.CoreSetup.metrics", "type": "Object", "tags": [], "label": "metrics", @@ -457,9 +465,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -469,7 +477,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.savedObjects", + "id": "def-common.CoreSetup.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -479,9 +487,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceSetup", + "section": "def-common.SavedObjectsServiceSetup", "text": "SavedObjectsServiceSetup" } ], @@ -491,7 +499,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.status", + "id": "def-common.CoreSetup.status", "type": "Object", "tags": [], "label": "status", @@ -501,9 +509,9 @@ "signature": [ { "pluginId": "@kbn/core-status-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerPluginApi", - "section": "def-server.StatusServiceSetup", + "section": "def-common.StatusServiceSetup", "text": "StatusServiceSetup" } ], @@ -513,7 +521,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.uiSettings", + "id": "def-common.CoreSetup.uiSettings", "type": "Object", "tags": [], "label": "uiSettings", @@ -523,9 +531,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceSetup", + "section": "def-common.UiSettingsServiceSetup", "text": "UiSettingsServiceSetup" } ], @@ -535,7 +543,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.deprecations", + "id": "def-common.CoreSetup.deprecations", "type": "Object", "tags": [], "label": "deprecations", @@ -545,9 +553,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsServiceSetup", + "section": "def-common.DeprecationsServiceSetup", "text": "DeprecationsServiceSetup" } ], @@ -557,7 +565,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreSetup.getStartServices", + "id": "def-common.CoreSetup.getStartServices", "type": "Function", "tags": [], "label": "getStartServices", @@ -568,9 +576,9 @@ "() => Promise<[", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", TPluginsStart, TStart]>" @@ -586,7 +594,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart", + "id": "def-common.CoreStart", "type": "Interface", "tags": [], "label": "CoreStart", @@ -599,7 +607,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.analytics", + "id": "def-common.CoreStart.analytics", "type": "Object", "tags": [], "label": "analytics", @@ -633,7 +641,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.capabilities", + "id": "def-common.CoreStart.capabilities", "type": "Object", "tags": [], "label": "capabilities", @@ -643,9 +651,9 @@ "signature": [ { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesStart", + "section": "def-common.CapabilitiesStart", "text": "CapabilitiesStart" } ], @@ -655,7 +663,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.docLinks", + "id": "def-common.CoreStart.docLinks", "type": "Object", "tags": [], "label": "docLinks", @@ -665,9 +673,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -677,7 +685,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.elasticsearch", + "id": "def-common.CoreStart.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -687,9 +695,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchServiceStart", + "section": "def-common.ElasticsearchServiceStart", "text": "ElasticsearchServiceStart" } ], @@ -699,7 +707,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.executionContext", + "id": "def-common.CoreStart.executionContext", "type": "Object", "tags": [], "label": "executionContext", @@ -709,9 +717,9 @@ "signature": [ { "pluginId": "@kbn/core-execution-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreExecutionContextServerPluginApi", - "section": "def-server.ExecutionContextSetup", + "section": "def-common.ExecutionContextSetup", "text": "ExecutionContextSetup" } ], @@ -721,7 +729,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.http", + "id": "def-common.CoreStart.http", "type": "Object", "tags": [], "label": "http", @@ -731,9 +739,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.HttpServiceStart", + "section": "def-common.HttpServiceStart", "text": "HttpServiceStart" } ], @@ -743,7 +751,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.metrics", + "id": "def-common.CoreStart.metrics", "type": "Object", "tags": [], "label": "metrics", @@ -753,9 +761,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -765,7 +773,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.savedObjects", + "id": "def-common.CoreStart.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -775,9 +783,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" } ], @@ -787,7 +795,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.CoreStart.uiSettings", + "id": "def-common.CoreStart.uiSettings", "type": "Object", "tags": [], "label": "uiSettings", @@ -797,9 +805,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceStart", + "section": "def-common.UiSettingsServiceStart", "text": "UiSettingsServiceStart" } ], @@ -815,7 +823,7 @@ "misc": [ { "parentPluginId": "@kbn/core-lifecycle-server", - "id": "def-server.StartServicesAccessor", + "id": "def-common.StartServicesAccessor", "type": "Type", "tags": [], "label": "StartServicesAccessor", @@ -826,9 +834,9 @@ "() => Promise<[", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", TPluginsStart, TStart]>" @@ -842,13 +850,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 76b451928ef48..5d71436b1643d 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 31 | 0 | 0 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json b/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json index f66f441281b15..310892b9568ab 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json +++ b/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreInternalLifecycleMock", + "id": "def-common.coreInternalLifecycleMock", "type": "Object", "tags": [], "label": "coreInternalLifecycleMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreInternalLifecycleMock.createInternalPreboot", + "id": "def-common.coreInternalLifecycleMock.createInternalPreboot", "type": "Function", "tags": [], "label": "createInternalPreboot", @@ -37,9 +45,9 @@ "() => { analytics: jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServicePreboot", + "section": "def-common.AnalyticsServicePreboot", "text": "AnalyticsServicePreboot" }, ">; context: jest.Mocked<", @@ -47,17 +55,17 @@ ">; elasticsearch: MockedElasticSearchServicePreboot; http: ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServicePrebootMock", + "section": "def-common.InternalHttpServicePrebootMock", "text": "InternalHttpServicePrebootMock" }, "; httpResources: { createRegistrar: jest.Mock, []>; }; uiSettings: jest.Mocked<", @@ -67,9 +75,9 @@ ">; preboot: ", { "pluginId": "@kbn/core-preboot-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerMocksPluginApi", - "section": "def-server.InternalPrebootServicePrebootMock", + "section": "def-common.InternalPrebootServicePrebootMock", "text": "InternalPrebootServicePrebootMock" }, "; }" @@ -82,7 +90,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreInternalLifecycleMock.createInternalSetup", + "id": "def-common.coreInternalLifecycleMock.createInternalSetup", "type": "Function", "tags": [], "label": "createInternalSetup", @@ -91,17 +99,17 @@ "() => { analytics: jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceSetup", + "section": "def-common.AnalyticsServiceSetup", "text": "AnalyticsServiceSetup" }, ">; capabilities: jest.Mocked<", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesSetup", + "section": "def-common.CapabilitiesSetup", "text": "CapabilitiesSetup" }, ">; context: jest.Mocked<", @@ -109,17 +117,17 @@ ">; docLinks: ", { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" }, "; elasticsearch: MockedInternalElasticSearchServiceSetup; http: ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServiceSetupMock", + "section": "def-common.InternalHttpServiceSetupMock", "text": "InternalHttpServiceSetupMock" }, "; savedObjects: jest.Mocked<", @@ -139,9 +147,9 @@ ">; httpResources: { createRegistrar: jest.Mock, []>; }; rendering: jest.Mocked<", @@ -149,9 +157,9 @@ ">; uiSettings: jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceSetup", + "section": "def-common.UiSettingsServiceSetup", "text": "UiSettingsServiceSetup" }, ">; logging: jest.Mocked<", @@ -159,17 +167,17 @@ ">; metrics: jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">; deprecations: jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationRegistryProvider", + "section": "def-common.DeprecationRegistryProvider", "text": "DeprecationRegistryProvider" }, ">; executionContext: jest.Mocked<", @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreInternalLifecycleMock.createInternalStart", + "id": "def-common.coreInternalLifecycleMock.createInternalStart", "type": "Function", "tags": [], "label": "createInternalStart", @@ -195,73 +203,73 @@ "() => { analytics: jest.Mocked<", { "pluginId": "@kbn/core-analytics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreAnalyticsServerPluginApi", - "section": "def-server.AnalyticsServiceStart", + "section": "def-common.AnalyticsServiceStart", "text": "AnalyticsServiceStart" }, ">; capabilities: jest.Mocked<", { "pluginId": "@kbn/core-capabilities-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreCapabilitiesServerPluginApi", - "section": "def-server.CapabilitiesStart", + "section": "def-common.CapabilitiesStart", "text": "CapabilitiesStart" }, ">; docLinks: ", { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" }, "; elasticsearch: ", { "pluginId": "@kbn/core-elasticsearch-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerMocksPluginApi", - "section": "def-server.MockedElasticSearchServiceStart", + "section": "def-common.MockedElasticSearchServiceStart", "text": "MockedElasticSearchServiceStart" }, "; http: ", { "pluginId": "@kbn/core-http-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerMocksPluginApi", - "section": "def-server.InternalHttpServiceStartMock", + "section": "def-common.InternalHttpServiceStartMock", "text": "InternalHttpServiceStartMock" }, "; metrics: jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">; savedObjects: jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ">; uiSettings: jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceStart", + "section": "def-common.UiSettingsServiceStart", "text": "UiSettingsServiceStart" }, ">; coreUsageData: jest.Mocked<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageDataStart", + "section": "def-common.CoreUsageDataStart", "text": "CoreUsageDataStart" }, ">; executionContext: jest.Mocked<", @@ -269,9 +277,9 @@ ">; deprecations: jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerInternalPluginApi", - "section": "def-server.InternalDeprecationsServiceStart", + "section": "def-common.InternalDeprecationsServiceStart", "text": "InternalDeprecationsServiceStart" }, ">; }" @@ -287,7 +295,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreLifecycleMock", + "id": "def-common.coreLifecycleMock", "type": "Object", "tags": [], "label": "coreLifecycleMock", @@ -298,7 +306,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreLifecycleMock.createPreboot", + "id": "def-common.coreLifecycleMock.createPreboot", "type": "Function", "tags": [], "label": "createPreboot", @@ -314,7 +322,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreLifecycleMock.createCoreSetup", + "id": "def-common.coreLifecycleMock.createCoreSetup", "type": "Function", "tags": [], "label": "createCoreSetup", @@ -329,7 +337,7 @@ "children": [ { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreLifecycleMock.createCoreSetup.$1", + "id": "def-common.coreLifecycleMock.createCoreSetup.$1", "type": "Object", "tags": [], "label": "__0", @@ -345,7 +353,7 @@ }, { "parentPluginId": "@kbn/core-lifecycle-server-mocks", - "id": "def-server.coreLifecycleMock.createCoreStart", + "id": "def-common.coreLifecycleMock.createCoreStart", "type": "Function", "tags": [], "label": "createCoreStart", @@ -354,17 +362,17 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ">" @@ -379,13 +387,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 78366ca2d99f6..d6bf4eb7a2651 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 0 | 9 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_logging_browser_mocks.devdocs.json b/api_docs/kbn_core_logging_browser_mocks.devdocs.json index 5c129ba055dc4..0a2568063e527 100644 --- a/api_docs/kbn_core_logging_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_logging_browser_mocks.devdocs.json @@ -63,9 +63,9 @@ "(context?: string[]) => ", { "pluginId": "@kbn/logging-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingMocksPluginApi", - "section": "def-server.MockedLogger", + "section": "def-common.MockedLogger", "text": "MockedLogger" } ], diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 02df58cac2754..c28fb6375c809 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index abedfaa9e70ea..5c26ad0ba0fe1 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.devdocs.json b/api_docs/kbn_core_logging_server.devdocs.json index 650c3a9d2d2c8..4a178303f26bd 100644 --- a/api_docs/kbn_core_logging_server.devdocs.json +++ b/api_docs/kbn_core_logging_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.ConsoleAppenderConfig", + "id": "def-common.ConsoleAppenderConfig", "type": "Interface", "tags": [], "label": "ConsoleAppenderConfig", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.ConsoleAppenderConfig.type", + "id": "def-common.ConsoleAppenderConfig.type", "type": "string", "tags": [], "label": "type", @@ -41,7 +49,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.ConsoleAppenderConfig.layout", + "id": "def-common.ConsoleAppenderConfig.layout", "type": "CompoundType", "tags": [], "label": "layout", @@ -49,17 +57,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.PatternLayoutConfigType", + "section": "def-common.PatternLayoutConfigType", "text": "PatternLayoutConfigType" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.JsonLayoutConfigType", + "section": "def-common.JsonLayoutConfigType", "text": "JsonLayoutConfigType" } ], @@ -72,7 +80,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.FileAppenderConfig", + "id": "def-common.FileAppenderConfig", "type": "Interface", "tags": [], "label": "FileAppenderConfig", @@ -85,7 +93,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.FileAppenderConfig.type", + "id": "def-common.FileAppenderConfig.type", "type": "string", "tags": [], "label": "type", @@ -99,7 +107,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.FileAppenderConfig.layout", + "id": "def-common.FileAppenderConfig.layout", "type": "CompoundType", "tags": [], "label": "layout", @@ -107,17 +115,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.PatternLayoutConfigType", + "section": "def-common.PatternLayoutConfigType", "text": "PatternLayoutConfigType" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.JsonLayoutConfigType", + "section": "def-common.JsonLayoutConfigType", "text": "JsonLayoutConfigType" } ], @@ -127,7 +135,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.FileAppenderConfig.fileName", + "id": "def-common.FileAppenderConfig.fileName", "type": "string", "tags": [], "label": "fileName", @@ -141,7 +149,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.JsonLayoutConfigType", + "id": "def-common.JsonLayoutConfigType", "type": "Interface", "tags": [], "label": "JsonLayoutConfigType", @@ -154,7 +162,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.JsonLayoutConfigType.type", + "id": "def-common.JsonLayoutConfigType.type", "type": "string", "tags": [], "label": "type", @@ -171,7 +179,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerConfigType", + "id": "def-common.LoggerConfigType", "type": "Interface", "tags": [], "label": "LoggerConfigType", @@ -184,7 +192,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerConfigType.appenders", + "id": "def-common.LoggerConfigType.appenders", "type": "Array", "tags": [], "label": "appenders", @@ -198,7 +206,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerConfigType.name", + "id": "def-common.LoggerConfigType.name", "type": "string", "tags": [], "label": "name", @@ -209,7 +217,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerConfigType.level", + "id": "def-common.LoggerConfigType.level", "type": "CompoundType", "tags": [], "label": "level", @@ -226,7 +234,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerContextConfigInput", + "id": "def-common.LoggerContextConfigInput", "type": "Interface", "tags": [], "label": "LoggerContextConfigInput", @@ -239,7 +247,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerContextConfigInput.appenders", + "id": "def-common.LoggerContextConfigInput.appenders", "type": "CompoundType", "tags": [], "label": "appenders", @@ -248,17 +256,17 @@ "Record | Map | undefined" @@ -269,7 +277,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggerContextConfigInput.loggers", + "id": "def-common.LoggerContextConfigInput.loggers", "type": "Array", "tags": [], "label": "loggers", @@ -277,9 +285,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerConfigType", + "section": "def-common.LoggerConfigType", "text": "LoggerConfigType" }, "[] | undefined" @@ -293,7 +301,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggingServiceSetup", + "id": "def-common.LoggingServiceSetup", "type": "Interface", "tags": [], "label": "LoggingServiceSetup", @@ -306,7 +314,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggingServiceSetup.configure", + "id": "def-common.LoggingServiceSetup.configure", "type": "Function", "tags": [], "label": "configure", @@ -319,9 +327,9 @@ "<", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerContextConfigInput", + "section": "def-common.LoggerContextConfigInput", "text": "LoggerContextConfigInput" }, ">) => void" @@ -332,7 +340,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LoggingServiceSetup.configure.$1", + "id": "def-common.LoggingServiceSetup.configure.$1", "type": "Object", "tags": [], "label": "config$", @@ -342,9 +350,9 @@ "<", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggerContextConfigInput", + "section": "def-common.LoggerContextConfigInput", "text": "LoggerContextConfigInput" }, ">" @@ -362,7 +370,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfig", + "id": "def-common.MetaRewritePolicyConfig", "type": "Interface", "tags": [], "label": "MetaRewritePolicyConfig", @@ -373,7 +381,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfig.type", + "id": "def-common.MetaRewritePolicyConfig.type", "type": "string", "tags": [], "label": "type", @@ -387,7 +395,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfig.mode", + "id": "def-common.MetaRewritePolicyConfig.mode", "type": "CompoundType", "tags": [], "label": "mode", @@ -403,7 +411,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfig.properties", + "id": "def-common.MetaRewritePolicyConfig.properties", "type": "Array", "tags": [], "label": "properties", @@ -413,9 +421,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.MetaRewritePolicyConfigProperty", + "section": "def-common.MetaRewritePolicyConfigProperty", "text": "MetaRewritePolicyConfigProperty" }, "[]" @@ -429,7 +437,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfigProperty", + "id": "def-common.MetaRewritePolicyConfigProperty", "type": "Interface", "tags": [], "label": "MetaRewritePolicyConfigProperty", @@ -440,7 +448,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfigProperty.path", + "id": "def-common.MetaRewritePolicyConfigProperty.path", "type": "string", "tags": [], "label": "path", @@ -451,7 +459,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.MetaRewritePolicyConfigProperty.value", + "id": "def-common.MetaRewritePolicyConfigProperty.value", "type": "CompoundType", "tags": [], "label": "value", @@ -468,7 +476,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.NumericRollingStrategyConfig", + "id": "def-common.NumericRollingStrategyConfig", "type": "Interface", "tags": [], "label": "NumericRollingStrategyConfig", @@ -479,7 +487,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.NumericRollingStrategyConfig.type", + "id": "def-common.NumericRollingStrategyConfig.type", "type": "string", "tags": [], "label": "type", @@ -493,7 +501,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.NumericRollingStrategyConfig.pattern", + "id": "def-common.NumericRollingStrategyConfig.pattern", "type": "string", "tags": [], "label": "pattern", @@ -506,7 +514,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.NumericRollingStrategyConfig.max", + "id": "def-common.NumericRollingStrategyConfig.max", "type": "number", "tags": [], "label": "max", @@ -522,7 +530,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.PatternLayoutConfigType", + "id": "def-common.PatternLayoutConfigType", "type": "Interface", "tags": [], "label": "PatternLayoutConfigType", @@ -535,7 +543,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.PatternLayoutConfigType.type", + "id": "def-common.PatternLayoutConfigType.type", "type": "string", "tags": [], "label": "type", @@ -549,7 +557,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.PatternLayoutConfigType.highlight", + "id": "def-common.PatternLayoutConfigType.highlight", "type": "CompoundType", "tags": [], "label": "highlight", @@ -563,7 +571,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.PatternLayoutConfigType.pattern", + "id": "def-common.PatternLayoutConfigType.pattern", "type": "string", "tags": [], "label": "pattern", @@ -580,7 +588,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RewriteAppenderConfig", + "id": "def-common.RewriteAppenderConfig", "type": "Interface", "tags": [], "label": "RewriteAppenderConfig", @@ -593,7 +601,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RewriteAppenderConfig.type", + "id": "def-common.RewriteAppenderConfig.type", "type": "string", "tags": [], "label": "type", @@ -607,7 +615,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RewriteAppenderConfig.appenders", + "id": "def-common.RewriteAppenderConfig.appenders", "type": "Array", "tags": [], "label": "appenders", @@ -623,7 +631,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RewriteAppenderConfig.policy", + "id": "def-common.RewriteAppenderConfig.policy", "type": "Object", "tags": [], "label": "policy", @@ -633,9 +641,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.MetaRewritePolicyConfig", + "section": "def-common.MetaRewritePolicyConfig", "text": "MetaRewritePolicyConfig" } ], @@ -648,7 +656,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig", + "id": "def-common.RollingFileAppenderConfig", "type": "Interface", "tags": [], "label": "RollingFileAppenderConfig", @@ -661,7 +669,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig.type", + "id": "def-common.RollingFileAppenderConfig.type", "type": "string", "tags": [], "label": "type", @@ -675,7 +683,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig.layout", + "id": "def-common.RollingFileAppenderConfig.layout", "type": "CompoundType", "tags": [], "label": "layout", @@ -685,17 +693,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.PatternLayoutConfigType", + "section": "def-common.PatternLayoutConfigType", "text": "PatternLayoutConfigType" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.JsonLayoutConfigType", + "section": "def-common.JsonLayoutConfigType", "text": "JsonLayoutConfigType" } ], @@ -705,7 +713,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig.fileName", + "id": "def-common.RollingFileAppenderConfig.fileName", "type": "string", "tags": [], "label": "fileName", @@ -718,7 +726,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig.policy", + "id": "def-common.RollingFileAppenderConfig.policy", "type": "CompoundType", "tags": [], "label": "policy", @@ -728,17 +736,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.TimeIntervalTriggeringPolicyConfig", + "section": "def-common.TimeIntervalTriggeringPolicyConfig", "text": "TimeIntervalTriggeringPolicyConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.SizeLimitTriggeringPolicyConfig", + "section": "def-common.SizeLimitTriggeringPolicyConfig", "text": "SizeLimitTriggeringPolicyConfig" } ], @@ -748,7 +756,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingFileAppenderConfig.strategy", + "id": "def-common.RollingFileAppenderConfig.strategy", "type": "Object", "tags": [], "label": "strategy", @@ -758,9 +766,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.NumericRollingStrategyConfig", + "section": "def-common.NumericRollingStrategyConfig", "text": "NumericRollingStrategyConfig" } ], @@ -773,7 +781,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.SizeLimitTriggeringPolicyConfig", + "id": "def-common.SizeLimitTriggeringPolicyConfig", "type": "Interface", "tags": [], "label": "SizeLimitTriggeringPolicyConfig", @@ -784,7 +792,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.SizeLimitTriggeringPolicyConfig.type", + "id": "def-common.SizeLimitTriggeringPolicyConfig.type", "type": "string", "tags": [], "label": "type", @@ -798,7 +806,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.SizeLimitTriggeringPolicyConfig.size", + "id": "def-common.SizeLimitTriggeringPolicyConfig.size", "type": "Object", "tags": [], "label": "size", @@ -808,9 +816,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -823,7 +831,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.TimeIntervalTriggeringPolicyConfig", + "id": "def-common.TimeIntervalTriggeringPolicyConfig", "type": "Interface", "tags": [], "label": "TimeIntervalTriggeringPolicyConfig", @@ -834,7 +842,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.TimeIntervalTriggeringPolicyConfig.type", + "id": "def-common.TimeIntervalTriggeringPolicyConfig.type", "type": "string", "tags": [], "label": "type", @@ -848,7 +856,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.TimeIntervalTriggeringPolicyConfig.interval", + "id": "def-common.TimeIntervalTriggeringPolicyConfig.interval", "type": "Object", "tags": [], "label": "interval", @@ -864,7 +872,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.TimeIntervalTriggeringPolicyConfig.modulate", + "id": "def-common.TimeIntervalTriggeringPolicyConfig.modulate", "type": "boolean", "tags": [], "label": "modulate", @@ -883,7 +891,7 @@ "misc": [ { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.AppenderConfigType", + "id": "def-common.AppenderConfigType", "type": "Type", "tags": [], "label": "AppenderConfigType", @@ -891,33 +899,33 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.ConsoleAppenderConfig", + "section": "def-common.ConsoleAppenderConfig", "text": "ConsoleAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.FileAppenderConfig", + "section": "def-common.FileAppenderConfig", "text": "FileAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.RewriteAppenderConfig", + "section": "def-common.RewriteAppenderConfig", "text": "RewriteAppenderConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.RollingFileAppenderConfig", + "section": "def-common.RollingFileAppenderConfig", "text": "RollingFileAppenderConfig" } ], @@ -928,7 +936,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.LayoutConfigType", + "id": "def-common.LayoutConfigType", "type": "Type", "tags": [], "label": "LayoutConfigType", @@ -938,17 +946,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.PatternLayoutConfigType", + "section": "def-common.PatternLayoutConfigType", "text": "PatternLayoutConfigType" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.JsonLayoutConfigType", + "section": "def-common.JsonLayoutConfigType", "text": "JsonLayoutConfigType" } ], @@ -959,7 +967,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RewritePolicyConfig", + "id": "def-common.RewritePolicyConfig", "type": "Type", "tags": [], "label": "RewritePolicyConfig", @@ -969,9 +977,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.MetaRewritePolicyConfig", + "section": "def-common.MetaRewritePolicyConfig", "text": "MetaRewritePolicyConfig" } ], @@ -982,7 +990,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.RollingStrategyConfig", + "id": "def-common.RollingStrategyConfig", "type": "Type", "tags": [], "label": "RollingStrategyConfig", @@ -990,9 +998,9 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.NumericRollingStrategyConfig", + "section": "def-common.NumericRollingStrategyConfig", "text": "NumericRollingStrategyConfig" } ], @@ -1003,7 +1011,7 @@ }, { "parentPluginId": "@kbn/core-logging-server", - "id": "def-server.TriggeringPolicyConfig", + "id": "def-common.TriggeringPolicyConfig", "type": "Type", "tags": [], "label": "TriggeringPolicyConfig", @@ -1013,17 +1021,17 @@ "signature": [ { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.TimeIntervalTriggeringPolicyConfig", + "section": "def-common.TimeIntervalTriggeringPolicyConfig", "text": "TimeIntervalTriggeringPolicyConfig" }, " | ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.SizeLimitTriggeringPolicyConfig", + "section": "def-common.SizeLimitTriggeringPolicyConfig", "text": "SizeLimitTriggeringPolicyConfig" } ], @@ -1034,13 +1042,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 2dbb477868a51..30e2bb6e47d7c 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 56 | 0 | 30 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_logging_server_internal.devdocs.json b/api_docs/kbn_core_logging_server_internal.devdocs.json index b5bebc50d5c9d..c6895f2a61af6 100644 --- a/api_docs/kbn_core_logging_server_internal.devdocs.json +++ b/api_docs/kbn_core_logging_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.getNextRollingTime", + "id": "def-common.getNextRollingTime", "type": "Function", "tags": [], "label": "getNextRollingTime", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.getNextRollingTime.$1", + "id": "def-common.getNextRollingTime.$1", "type": "number", "tags": [], "label": "currentTime", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.getNextRollingTime.$2", + "id": "def-common.getNextRollingTime.$2", "type": "Object", "tags": [], "label": "interval", @@ -59,7 +67,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.getNextRollingTime.$3", + "id": "def-common.getNextRollingTime.$3", "type": "boolean", "tags": [], "label": "modulate", @@ -80,7 +88,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.PrebootDeps", + "id": "def-common.PrebootDeps", "type": "Interface", "tags": [], "label": "PrebootDeps", @@ -91,7 +99,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.PrebootDeps.loggingSystem", + "id": "def-common.PrebootDeps.loggingSystem", "type": "Object", "tags": [], "label": "loggingSystem", @@ -112,7 +120,7 @@ "objects": [ { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.appendersSchema", + "id": "def-common.appendersSchema", "type": "Object", "tags": [], "label": "appendersSchema", @@ -122,25 +130,25 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | Readonly<{ highlight?: boolean | undefined; pattern?: string | undefined; } & { type: \"pattern\"; }>; }> | Readonly<{} & { type: \"file\"; fileName: string; layout: Readonly<{} & { type: \"json\"; }> | Readonly<{ highlight?: boolean | undefined; pattern?: string | undefined; } & { type: \"pattern\"; }>; }> | Readonly<{} & { type: \"rewrite\"; policy: Readonly<{} & { type: \"meta\"; mode: \"update\" | \"remove\"; properties: Readonly<{ value?: string | number | boolean | null | undefined; } & { path: string; }>[]; }>; appenders: string[]; }> | Readonly<{} & { type: \"rolling-file\"; strategy: ", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.NumericRollingStrategyConfig", + "section": "def-common.NumericRollingStrategyConfig", "text": "NumericRollingStrategyConfig" }, "; fileName: string; layout: Readonly<{} & { type: \"json\"; }> | Readonly<{ highlight?: boolean | undefined; pattern?: string | undefined; } & { type: \"pattern\"; }>; policy: Readonly<{} & { type: \"size-limit\"; size: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; }> | Readonly<{} & { type: \"time-interval\"; interval: moment.Duration; modulate: boolean; }>; }>>" @@ -152,7 +160,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.loggerContextConfigSchema", + "id": "def-common.loggerContextConfigSchema", "type": "Object", "tags": [], "label": "loggerContextConfigSchema", @@ -162,33 +170,33 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ appenders: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, ">; loggers: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "[]>; }>" @@ -200,7 +208,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-internal", - "id": "def-server.loggerSchema", + "id": "def-common.loggerSchema", "type": "Object", "tags": [], "label": "loggerSchema", @@ -210,33 +218,33 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ appenders: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; name: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; level: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<\"error\" | \"all\" | \"info\" | \"debug\" | \"off\" | \"warn\" | \"trace\" | \"fatal\">; }>" @@ -247,13 +255,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 36bf91a0e64e1..c5c6944d7138a 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 0 | 5 | 2 | -## Server +## Common ### Objects - + ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_core_logging_server_mocks.devdocs.json b/api_docs/kbn_core_logging_server_mocks.devdocs.json index 1a40b0e111102..329bb66b1d81f 100644 --- a/api_docs/kbn_core_logging_server_mocks.devdocs.json +++ b/api_docs/kbn_core_logging_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingServiceMock", + "id": "def-common.loggingServiceMock", "type": "Object", "tags": [], "label": "loggingServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingServiceMock.create", + "id": "def-common.loggingServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingServiceMock.createSetupContract", + "id": "def-common.loggingServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -53,9 +61,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-logging-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLoggingServerPluginApi", - "section": "def-server.LoggingServiceSetup", + "section": "def-common.LoggingServiceSetup", "text": "LoggingServiceSetup" }, ">" @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingServiceMock.createInternalPrebootContract", + "id": "def-common.loggingServiceMock.createInternalPrebootContract", "type": "Function", "tags": [], "label": "createInternalPrebootContract", @@ -86,7 +94,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingServiceMock.createInternalSetupContract", + "id": "def-common.loggingServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -107,7 +115,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock", + "id": "def-common.loggingSystemMock", "type": "Object", "tags": [], "label": "loggingSystemMock", @@ -118,7 +126,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.create", + "id": "def-common.loggingSystemMock.create", "type": "Function", "tags": [], "label": "create", @@ -136,7 +144,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.collect", + "id": "def-common.loggingSystemMock.collect", "type": "Function", "tags": [], "label": "collect", @@ -145,41 +153,41 @@ "(loggerFactory: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" }, ") => { debug: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; error: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; fatal: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; info: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; log: [record: ", @@ -187,17 +195,17 @@ "][]; trace: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; warn: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; }" @@ -209,7 +217,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.collect.$1", + "id": "def-common.loggingSystemMock.collect.$1", "type": "Object", "tags": [], "label": "loggerFactory", @@ -217,9 +225,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -231,7 +239,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.clear", + "id": "def-common.loggingSystemMock.clear", "type": "Function", "tags": [], "label": "clear", @@ -240,9 +248,9 @@ "(loggerFactory: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" }, ") => void" @@ -254,7 +262,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.clear.$1", + "id": "def-common.loggingSystemMock.clear.$1", "type": "Object", "tags": [], "label": "loggerFactory", @@ -262,9 +270,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -276,7 +284,7 @@ }, { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.createLogger", + "id": "def-common.loggingSystemMock.createLogger", "type": "Function", "tags": [], "label": "createLogger", @@ -285,9 +293,9 @@ "(context?: string[]) => ", { "pluginId": "@kbn/logging-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingMocksPluginApi", - "section": "def-server.MockedLogger", + "section": "def-common.MockedLogger", "text": "MockedLogger" } ], @@ -298,7 +306,7 @@ "children": [ { "parentPluginId": "@kbn/core-logging-server-mocks", - "id": "def-server.loggingSystemMock.createLogger.$1", + "id": "def-common.loggingSystemMock.createLogger.$1", "type": "Array", "tags": [], "label": "context", @@ -316,13 +324,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 8ed2eaf0e4592..e7ff3f94e3656 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 13 | 0 | 13 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.devdocs.json b/api_docs/kbn_core_metrics_collectors_server_internal.devdocs.json index b42a3b8909832..cfed13036b198 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.devdocs.json +++ b/api_docs/kbn_core_metrics_collectors_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ElasticsearchClientsMetricsCollector", + "id": "def-common.ElasticsearchClientsMetricsCollector", "type": "Class", "tags": [], "label": "ElasticsearchClientsMetricsCollector", @@ -20,25 +28,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.ElasticsearchClientsMetricsCollector", + "section": "def-common.ElasticsearchClientsMetricsCollector", "text": "ElasticsearchClientsMetricsCollector" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.ElasticsearchClientsMetrics", + "section": "def-common.ElasticsearchClientsMetrics", "text": "ElasticsearchClientsMetrics" }, ">" @@ -49,7 +57,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ElasticsearchClientsMetricsCollector.Unnamed", + "id": "def-common.ElasticsearchClientsMetricsCollector.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -63,7 +71,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ElasticsearchClientsMetricsCollector.Unnamed.$1", + "id": "def-common.ElasticsearchClientsMetricsCollector.Unnamed.$1", "type": "Object", "tags": [], "label": "agentStore", @@ -71,9 +79,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-client-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerInternalPluginApi", - "section": "def-server.AgentStore", + "section": "def-common.AgentStore", "text": "AgentStore" } ], @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ElasticsearchClientsMetricsCollector.collect", + "id": "def-common.ElasticsearchClientsMetricsCollector.collect", "type": "Function", "tags": [], "label": "collect", @@ -96,9 +104,9 @@ "() => Promise<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.ElasticsearchClientsMetrics", + "section": "def-common.ElasticsearchClientsMetrics", "text": "ElasticsearchClientsMetrics" }, ">" @@ -111,7 +119,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ElasticsearchClientsMetricsCollector.reset", + "id": "def-common.ElasticsearchClientsMetricsCollector.reset", "type": "Function", "tags": [], "label": "reset", @@ -130,7 +138,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.EventLoopDelaysMonitor", + "id": "def-common.EventLoopDelaysMonitor", "type": "Class", "tags": [], "label": "EventLoopDelaysMonitor", @@ -138,25 +146,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.EventLoopDelaysMonitor", + "section": "def-common.EventLoopDelaysMonitor", "text": "EventLoopDelaysMonitor" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IEventLoopDelaysMonitor", + "section": "def-common.IEventLoopDelaysMonitor", "text": "IEventLoopDelaysMonitor" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" }, ">" @@ -167,7 +175,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.EventLoopDelaysMonitor.Unnamed", + "id": "def-common.EventLoopDelaysMonitor.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -185,7 +193,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.EventLoopDelaysMonitor.collect", + "id": "def-common.EventLoopDelaysMonitor.collect", "type": "Function", "tags": [], "label": "collect", @@ -196,9 +204,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" } ], @@ -210,7 +218,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.EventLoopDelaysMonitor.reset", + "id": "def-common.EventLoopDelaysMonitor.reset", "type": "Function", "tags": [], "label": "reset", @@ -228,7 +236,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.EventLoopDelaysMonitor.stop", + "id": "def-common.EventLoopDelaysMonitor.stop", "type": "Function", "tags": [], "label": "stop", @@ -249,7 +257,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OsMetricsCollector", + "id": "def-common.OsMetricsCollector", "type": "Class", "tags": [], "label": "OsMetricsCollector", @@ -257,25 +265,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.OsMetricsCollector", + "section": "def-common.OsMetricsCollector", "text": "OsMetricsCollector" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsOsMetrics", + "section": "def-common.OpsOsMetrics", "text": "OpsOsMetrics" }, ">" @@ -286,7 +294,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OsMetricsCollector.Unnamed", + "id": "def-common.OsMetricsCollector.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -300,7 +308,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OsMetricsCollector.Unnamed.$1", + "id": "def-common.OsMetricsCollector.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -308,9 +316,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.OpsMetricsCollectorOptions", + "section": "def-common.OpsMetricsCollectorOptions", "text": "OpsMetricsCollectorOptions" } ], @@ -324,7 +332,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OsMetricsCollector.collect", + "id": "def-common.OsMetricsCollector.collect", "type": "Function", "tags": [], "label": "collect", @@ -333,9 +341,9 @@ "() => Promise<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsOsMetrics", + "section": "def-common.OpsOsMetrics", "text": "OpsOsMetrics" }, ">" @@ -348,7 +356,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OsMetricsCollector.reset", + "id": "def-common.OsMetricsCollector.reset", "type": "Function", "tags": [], "label": "reset", @@ -367,7 +375,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ProcessMetricsCollector", + "id": "def-common.ProcessMetricsCollector", "type": "Class", "tags": [], "label": "ProcessMetricsCollector", @@ -375,25 +383,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.ProcessMetricsCollector", + "section": "def-common.ProcessMetricsCollector", "text": "ProcessMetricsCollector" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]>" @@ -404,7 +412,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ProcessMetricsCollector.getMainThreadMetrics", + "id": "def-common.ProcessMetricsCollector.getMainThreadMetrics", "type": "Function", "tags": [], "label": "getMainThreadMetrics", @@ -413,17 +421,17 @@ "(processes: ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]) => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, " | undefined" @@ -434,7 +442,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ProcessMetricsCollector.getMainThreadMetrics.$1", + "id": "def-common.ProcessMetricsCollector.getMainThreadMetrics.$1", "type": "Array", "tags": [], "label": "processes", @@ -442,9 +450,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]" @@ -459,7 +467,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ProcessMetricsCollector.collect", + "id": "def-common.ProcessMetricsCollector.collect", "type": "Function", "tags": [], "label": "collect", @@ -468,9 +476,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]" @@ -483,7 +491,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ProcessMetricsCollector.reset", + "id": "def-common.ProcessMetricsCollector.reset", "type": "Function", "tags": [], "label": "reset", @@ -502,7 +510,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ServerMetricsCollector", + "id": "def-common.ServerMetricsCollector", "type": "Class", "tags": [], "label": "ServerMetricsCollector", @@ -510,25 +518,25 @@ "signature": [ { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.ServerMetricsCollector", + "section": "def-common.ServerMetricsCollector", "text": "ServerMetricsCollector" }, " implements ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsServerMetrics", + "section": "def-common.OpsServerMetrics", "text": "OpsServerMetrics" }, ">" @@ -539,7 +547,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ServerMetricsCollector.Unnamed", + "id": "def-common.ServerMetricsCollector.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -553,7 +561,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ServerMetricsCollector.Unnamed.$1", + "id": "def-common.ServerMetricsCollector.Unnamed.$1", "type": "Object", "tags": [], "label": "server", @@ -571,7 +579,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ServerMetricsCollector.collect", + "id": "def-common.ServerMetricsCollector.collect", "type": "Function", "tags": [], "label": "collect", @@ -580,9 +588,9 @@ "() => Promise<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsServerMetrics", + "section": "def-common.OpsServerMetrics", "text": "OpsServerMetrics" }, ">" @@ -595,7 +603,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.ServerMetricsCollector.reset", + "id": "def-common.ServerMetricsCollector.reset", "type": "Function", "tags": [], "label": "reset", @@ -617,7 +625,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OpsMetricsCollectorOptions", + "id": "def-common.OpsMetricsCollectorOptions", "type": "Interface", "tags": [], "label": "OpsMetricsCollectorOptions", @@ -628,7 +636,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OpsMetricsCollectorOptions.logger", + "id": "def-common.OpsMetricsCollectorOptions.logger", "type": "Object", "tags": [], "label": "logger", @@ -636,9 +644,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -648,7 +656,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OpsMetricsCollectorOptions.cpuPath", + "id": "def-common.OpsMetricsCollectorOptions.cpuPath", "type": "string", "tags": [], "label": "cpuPath", @@ -662,7 +670,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-internal", - "id": "def-server.OpsMetricsCollectorOptions.cpuAcctPath", + "id": "def-common.OpsMetricsCollectorOptions.cpuAcctPath", "type": "string", "tags": [], "label": "cpuAcctPath", @@ -681,13 +689,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index 2d71c6679e2ba..7ef3749c22b52 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 29 | 0 | 25 | 0 | -## Server +## Common ### Classes - + ### Interfaces - + diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.devdocs.json b/api_docs/kbn_core_metrics_collectors_server_mocks.devdocs.json index ab924ea08f2eb..d6bc047ca3f95 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.devdocs.json +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.createMockOpsProcessMetrics", + "id": "def-common.createMockOpsProcessMetrics", "type": "Function", "tags": [], "label": "createMockOpsProcessMetrics", @@ -22,9 +30,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" } ], @@ -42,7 +50,7 @@ "objects": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.collectorMock", + "id": "def-common.collectorMock", "type": "Object", "tags": [], "label": "collectorMock", @@ -53,7 +61,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.collectorMock.create", + "id": "def-common.collectorMock.create", "type": "Function", "tags": [], "label": "create", @@ -62,9 +70,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, ">" @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.collectorMock.createOpsProcessMetrics", + "id": "def-common.collectorMock.createOpsProcessMetrics", "type": "Function", "tags": [], "label": "createOpsProcessMetrics", @@ -86,9 +94,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" } ], @@ -103,7 +111,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.metricsCollectorMock", + "id": "def-common.metricsCollectorMock", "type": "Object", "tags": [], "label": "metricsCollectorMock", @@ -114,7 +122,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.metricsCollectorMock.create", + "id": "def-common.metricsCollectorMock.create", "type": "Function", "tags": [], "label": "create", @@ -123,9 +131,9 @@ "(collectReturnValue?: any) => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, ">" @@ -137,7 +145,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.metricsCollectorMock.create.$1", + "id": "def-common.metricsCollectorMock.create.$1", "type": "Any", "tags": [], "label": "collectReturnValue", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.mocked", + "id": "def-common.mocked", "type": "Object", "tags": [], "label": "mocked", @@ -167,7 +175,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.mocked.createHistogram", + "id": "def-common.mocked.createHistogram", "type": "Function", "tags": [], "label": "createHistogram", @@ -176,17 +184,17 @@ "(overwrites?: Partial<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" }, ">) => ", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" } ], @@ -197,7 +205,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.mocked.createHistogram.$1", + "id": "def-common.mocked.createHistogram.$1", "type": "Object", "tags": [], "label": "overwrites", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/core-metrics-collectors-server-mocks", - "id": "def-server.mocked.createEventLoopDelaysMonitor", + "id": "def-common.mocked.createEventLoopDelaysMonitor", "type": "Function", "tags": [], "label": "createEventLoopDelaysMonitor", @@ -222,9 +230,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.EventLoopDelaysMonitor", + "section": "def-common.EventLoopDelaysMonitor", "text": "EventLoopDelaysMonitor" } ], @@ -238,13 +246,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 1afd1dde2341a..c1afec3aabe33 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 1 | 11 | 0 | -## Server +## Common ### Objects - + ### Functions - + diff --git a/api_docs/kbn_core_metrics_server.devdocs.json b/api_docs/kbn_core_metrics_server.devdocs.json index 0c7880703bd9a..f5463ed075e9a 100644 --- a/api_docs/kbn_core_metrics_server.devdocs.json +++ b/api_docs/kbn_core_metrics_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.ElasticsearchClientsMetrics", + "id": "def-common.ElasticsearchClientsMetrics", "type": "Interface", "tags": [], "label": "ElasticsearchClientsMetrics", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.ElasticsearchClientsMetrics.totalActiveSockets", + "id": "def-common.ElasticsearchClientsMetrics.totalActiveSockets", "type": "number", "tags": [], "label": "totalActiveSockets", @@ -40,7 +48,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.ElasticsearchClientsMetrics.totalIdleSockets", + "id": "def-common.ElasticsearchClientsMetrics.totalIdleSockets", "type": "number", "tags": [], "label": "totalIdleSockets", @@ -53,7 +61,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.ElasticsearchClientsMetrics.totalQueuedRequests", + "id": "def-common.ElasticsearchClientsMetrics.totalQueuedRequests", "type": "number", "tags": [], "label": "totalQueuedRequests", @@ -69,7 +77,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IEventLoopDelaysMonitor", + "id": "def-common.IEventLoopDelaysMonitor", "type": "Interface", "tags": [], "label": "IEventLoopDelaysMonitor", @@ -79,9 +87,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IEventLoopDelaysMonitor", + "section": "def-common.IEventLoopDelaysMonitor", "text": "IEventLoopDelaysMonitor" }, "" @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IEventLoopDelaysMonitor.collect", + "id": "def-common.IEventLoopDelaysMonitor.collect", "type": "Function", "tags": [], "label": "collect", @@ -110,7 +118,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IEventLoopDelaysMonitor.reset", + "id": "def-common.IEventLoopDelaysMonitor.reset", "type": "Function", "tags": [], "label": "reset", @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IEventLoopDelaysMonitor.stop", + "id": "def-common.IEventLoopDelaysMonitor.stop", "type": "Function", "tags": [], "label": "stop", @@ -149,7 +157,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram", + "id": "def-common.IntervalHistogram", "type": "Interface", "tags": [], "label": "IntervalHistogram", @@ -162,7 +170,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.fromTimestamp", + "id": "def-common.IntervalHistogram.fromTimestamp", "type": "string", "tags": [], "label": "fromTimestamp", @@ -173,7 +181,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.lastUpdatedAt", + "id": "def-common.IntervalHistogram.lastUpdatedAt", "type": "string", "tags": [], "label": "lastUpdatedAt", @@ -184,7 +192,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.min", + "id": "def-common.IntervalHistogram.min", "type": "number", "tags": [], "label": "min", @@ -195,7 +203,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.max", + "id": "def-common.IntervalHistogram.max", "type": "number", "tags": [], "label": "max", @@ -206,7 +214,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.mean", + "id": "def-common.IntervalHistogram.mean", "type": "number", "tags": [], "label": "mean", @@ -217,7 +225,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.exceeds", + "id": "def-common.IntervalHistogram.exceeds", "type": "number", "tags": [], "label": "exceeds", @@ -228,7 +236,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.stddev", + "id": "def-common.IntervalHistogram.stddev", "type": "number", "tags": [], "label": "stddev", @@ -239,7 +247,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.IntervalHistogram.percentiles", + "id": "def-common.IntervalHistogram.percentiles", "type": "Object", "tags": [], "label": "percentiles", @@ -256,7 +264,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsCollector", + "id": "def-common.MetricsCollector", "type": "Interface", "tags": [], "label": "MetricsCollector", @@ -266,9 +274,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsCollector", + "section": "def-common.MetricsCollector", "text": "MetricsCollector" }, "" @@ -279,7 +287,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsCollector.collect", + "id": "def-common.MetricsCollector.collect", "type": "Function", "tags": [], "label": "collect", @@ -290,9 +298,9 @@ "() => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "" @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsCollector.reset", + "id": "def-common.MetricsCollector.reset", "type": "Function", "tags": [], "label": "reset", @@ -326,7 +334,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsServiceSetup", + "id": "def-common.MetricsServiceSetup", "type": "Interface", "tags": [], "label": "MetricsServiceSetup", @@ -339,7 +347,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsServiceSetup.collectionInterval", + "id": "def-common.MetricsServiceSetup.collectionInterval", "type": "number", "tags": [], "label": "collectionInterval", @@ -352,7 +360,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsServiceSetup.getOpsMetrics$", + "id": "def-common.MetricsServiceSetup.getOpsMetrics$", "type": "Function", "tags": [], "label": "getOpsMetrics$", @@ -365,9 +373,9 @@ "<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsMetrics", + "section": "def-common.OpsMetrics", "text": "OpsMetrics" }, ">" @@ -383,7 +391,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics", + "id": "def-common.OpsMetrics", "type": "Interface", "tags": [], "label": "OpsMetrics", @@ -396,7 +404,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.collected_at", + "id": "def-common.OpsMetrics.collected_at", "type": "Object", "tags": [], "label": "collected_at", @@ -412,7 +420,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.elasticsearch_client", + "id": "def-common.OpsMetrics.elasticsearch_client", "type": "Object", "tags": [], "label": "elasticsearch_client", @@ -422,9 +430,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.ElasticsearchClientsMetrics", + "section": "def-common.ElasticsearchClientsMetrics", "text": "ElasticsearchClientsMetrics" } ], @@ -434,7 +442,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.process", + "id": "def-common.OpsMetrics.process", "type": "Object", "tags": [ "deprecated" @@ -446,9 +454,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" } ], @@ -529,7 +537,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.processes", + "id": "def-common.OpsMetrics.processes", "type": "Array", "tags": [], "label": "processes", @@ -539,9 +547,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsProcessMetrics", + "section": "def-common.OpsProcessMetrics", "text": "OpsProcessMetrics" }, "[]" @@ -552,7 +560,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.os", + "id": "def-common.OpsMetrics.os", "type": "Object", "tags": [], "label": "os", @@ -562,9 +570,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsOsMetrics", + "section": "def-common.OpsOsMetrics", "text": "OpsOsMetrics" } ], @@ -574,7 +582,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.response_times", + "id": "def-common.OpsMetrics.response_times", "type": "Object", "tags": [], "label": "response_times", @@ -590,7 +598,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.requests", + "id": "def-common.OpsMetrics.requests", "type": "Object", "tags": [], "label": "requests", @@ -606,7 +614,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsMetrics.concurrent_connections", + "id": "def-common.OpsMetrics.concurrent_connections", "type": "number", "tags": [], "label": "concurrent_connections", @@ -622,7 +630,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics", + "id": "def-common.OpsOsMetrics", "type": "Interface", "tags": [], "label": "OpsOsMetrics", @@ -635,7 +643,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.platform", + "id": "def-common.OpsOsMetrics.platform", "type": "CompoundType", "tags": [], "label": "platform", @@ -651,7 +659,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.platformRelease", + "id": "def-common.OpsOsMetrics.platformRelease", "type": "string", "tags": [], "label": "platformRelease", @@ -664,7 +672,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.distro", + "id": "def-common.OpsOsMetrics.distro", "type": "string", "tags": [], "label": "distro", @@ -680,7 +688,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.distroRelease", + "id": "def-common.OpsOsMetrics.distroRelease", "type": "string", "tags": [], "label": "distroRelease", @@ -696,7 +704,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.load", + "id": "def-common.OpsOsMetrics.load", "type": "Object", "tags": [], "label": "load", @@ -712,7 +720,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.memory", + "id": "def-common.OpsOsMetrics.memory", "type": "Object", "tags": [], "label": "memory", @@ -728,7 +736,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.uptime_in_millis", + "id": "def-common.OpsOsMetrics.uptime_in_millis", "type": "number", "tags": [], "label": "uptime_in_millis", @@ -741,7 +749,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.cpuacct", + "id": "def-common.OpsOsMetrics.cpuacct", "type": "Object", "tags": [], "label": "cpuacct", @@ -757,7 +765,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsOsMetrics.cpu", + "id": "def-common.OpsOsMetrics.cpu", "type": "Object", "tags": [], "label": "cpu", @@ -776,7 +784,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics", + "id": "def-common.OpsProcessMetrics", "type": "Interface", "tags": [], "label": "OpsProcessMetrics", @@ -789,7 +797,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics.pid", + "id": "def-common.OpsProcessMetrics.pid", "type": "number", "tags": [], "label": "pid", @@ -802,7 +810,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics.memory", + "id": "def-common.OpsProcessMetrics.memory", "type": "Object", "tags": [], "label": "memory", @@ -818,7 +826,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics.event_loop_delay", + "id": "def-common.OpsProcessMetrics.event_loop_delay", "type": "number", "tags": [], "label": "event_loop_delay", @@ -831,7 +839,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics.event_loop_delay_histogram", + "id": "def-common.OpsProcessMetrics.event_loop_delay_histogram", "type": "Object", "tags": [], "label": "event_loop_delay_histogram", @@ -841,9 +849,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.IntervalHistogram", + "section": "def-common.IntervalHistogram", "text": "IntervalHistogram" } ], @@ -853,7 +861,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsProcessMetrics.uptime_in_millis", + "id": "def-common.OpsProcessMetrics.uptime_in_millis", "type": "number", "tags": [], "label": "uptime_in_millis", @@ -869,7 +877,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsServerMetrics", + "id": "def-common.OpsServerMetrics", "type": "Interface", "tags": [], "label": "OpsServerMetrics", @@ -882,7 +890,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsServerMetrics.response_times", + "id": "def-common.OpsServerMetrics.response_times", "type": "Object", "tags": [], "label": "response_times", @@ -898,7 +906,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsServerMetrics.requests", + "id": "def-common.OpsServerMetrics.requests", "type": "Object", "tags": [], "label": "requests", @@ -914,7 +922,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.OpsServerMetrics.concurrent_connections", + "id": "def-common.OpsServerMetrics.concurrent_connections", "type": "number", "tags": [], "label": "concurrent_connections", @@ -933,7 +941,7 @@ "misc": [ { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.ElasticsearchClientProtocol", + "id": "def-common.ElasticsearchClientProtocol", "type": "Type", "tags": [], "label": "ElasticsearchClientProtocol", @@ -950,7 +958,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server", - "id": "def-server.MetricsServiceStart", + "id": "def-common.MetricsServiceStart", "type": "Type", "tags": [], "label": "MetricsServiceStart", @@ -960,9 +968,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -973,13 +981,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 72ef9caca8536..758d46f5b3d1f 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 54 | 0 | 8 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_metrics_server_internal.devdocs.json b/api_docs/kbn_core_metrics_server_internal.devdocs.json index 8813632cb753b..5529b4f71c245 100644 --- a/api_docs/kbn_core_metrics_server_internal.devdocs.json +++ b/api_docs/kbn_core_metrics_server_internal.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.MetricsServiceSetupDeps", + "id": "def-common.MetricsServiceSetupDeps", "type": "Interface", "tags": [], "label": "MetricsServiceSetupDeps", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.MetricsServiceSetupDeps.http", + "id": "def-common.MetricsServiceSetupDeps.http", "type": "Object", "tags": [], "label": "http", @@ -39,7 +47,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.MetricsServiceSetupDeps.elasticsearchService", + "id": "def-common.MetricsServiceSetupDeps.elasticsearchService", "type": "Object", "tags": [], "label": "elasticsearchService", @@ -60,7 +68,7 @@ "objects": [ { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.opsConfig", + "id": "def-common.opsConfig", "type": "Object", "tags": [], "label": "opsConfig", @@ -71,7 +79,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.opsConfig.path", + "id": "def-common.opsConfig.path", "type": "string", "tags": [], "label": "path", @@ -85,7 +93,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-internal", - "id": "def-server.opsConfig.schema", + "id": "def-common.opsConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -93,41 +101,41 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ interval: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; cGroupOverrides: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ cpuPath: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; cpuAcctPath: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; }>" @@ -140,13 +148,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 9c5397d803d4f..46093aedc1447 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 0 | -## Server +## Common ### Objects - + ### Interfaces - + diff --git a/api_docs/kbn_core_metrics_server_mocks.devdocs.json b/api_docs/kbn_core_metrics_server_mocks.devdocs.json index 753bdf3b394cf..035516893866a 100644 --- a/api_docs/kbn_core_metrics_server_mocks.devdocs.json +++ b/api_docs/kbn_core_metrics_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock", + "id": "def-common.metricsServiceMock", "type": "Object", "tags": [], "label": "metricsServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.create", + "id": "def-common.metricsServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.createSetupContract", + "id": "def-common.metricsServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -53,9 +61,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">" @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.createStartContract", + "id": "def-common.metricsServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -77,9 +85,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">" @@ -92,7 +100,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.createInternalSetupContract", + "id": "def-common.metricsServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -101,9 +109,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">" @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.createInternalStartContract", + "id": "def-common.metricsServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -125,9 +133,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" }, ">" @@ -140,7 +148,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.metricsServiceMock.createEventLoopDelaysMonitor", + "id": "def-common.metricsServiceMock.createEventLoopDelaysMonitor", "type": "Function", "tags": [], "label": "createEventLoopDelaysMonitor", @@ -149,9 +157,9 @@ "() => ", { "pluginId": "@kbn/core-metrics-collectors-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsCollectorsServerInternalPluginApi", - "section": "def-server.EventLoopDelaysMonitor", + "section": "def-common.EventLoopDelaysMonitor", "text": "EventLoopDelaysMonitor" } ], @@ -166,7 +174,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.sampleEsClientMetrics", + "id": "def-common.sampleEsClientMetrics", "type": "Object", "tags": [], "label": "sampleEsClientMetrics", @@ -177,7 +185,7 @@ "children": [ { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.sampleEsClientMetrics.totalActiveSockets", + "id": "def-common.sampleEsClientMetrics.totalActiveSockets", "type": "number", "tags": [], "label": "totalActiveSockets", @@ -188,7 +196,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.sampleEsClientMetrics.totalIdleSockets", + "id": "def-common.sampleEsClientMetrics.totalIdleSockets", "type": "number", "tags": [], "label": "totalIdleSockets", @@ -199,7 +207,7 @@ }, { "parentPluginId": "@kbn/core-metrics-server-mocks", - "id": "def-server.sampleEsClientMetrics.totalQueuedRequests", + "id": "def-common.sampleEsClientMetrics.totalQueuedRequests", "type": "number", "tags": [], "label": "totalQueuedRequests", @@ -212,13 +220,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index bbcb06a3d4b51..be9d4ced2294e 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 11 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 252f62f650ba3..16bcbb1e62355 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.devdocs.json b/api_docs/kbn_core_node_server.devdocs.json index 90217e8167760..9b0d9eed398dd 100644 --- a/api_docs/kbn_core_node_server.devdocs.json +++ b/api_docs/kbn_core_node_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-node-server", - "id": "def-server.NodeInfo", + "id": "def-common.NodeInfo", "type": "Interface", "tags": [], "label": "NodeInfo", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server", - "id": "def-server.NodeInfo.roles", + "id": "def-common.NodeInfo.roles", "type": "Object", "tags": [], "label": "roles", @@ -37,9 +45,9 @@ "signature": [ { "pluginId": "@kbn/core-node-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerPluginApi", - "section": "def-server.NodeRoles", + "section": "def-common.NodeRoles", "text": "NodeRoles" } ], @@ -52,7 +60,7 @@ }, { "parentPluginId": "@kbn/core-node-server", - "id": "def-server.NodeRoles", + "id": "def-common.NodeRoles", "type": "Interface", "tags": [], "label": "NodeRoles", @@ -65,7 +73,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server", - "id": "def-server.NodeRoles.backgroundTasks", + "id": "def-common.NodeRoles.backgroundTasks", "type": "boolean", "tags": [], "label": "backgroundTasks", @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/core-node-server", - "id": "def-server.NodeRoles.ui", + "id": "def-common.NodeRoles.ui", "type": "boolean", "tags": [], "label": "ui", @@ -96,13 +104,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 02d6f5f73cc77..6f5c9feec6555 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 0 | 0 | -## Server +## Common ### Interfaces - + diff --git a/api_docs/kbn_core_node_server_internal.devdocs.json b/api_docs/kbn_core_node_server_internal.devdocs.json index 619eb67ae097d..8db2a68da0239 100644 --- a/api_docs/kbn_core_node_server_internal.devdocs.json +++ b/api_docs/kbn_core_node_server_internal.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.InternalNodeServiceStart", + "id": "def-common.InternalNodeServiceStart", "type": "Interface", "tags": [], "label": "InternalNodeServiceStart", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.InternalNodeServiceStart.roles", + "id": "def-common.InternalNodeServiceStart.roles", "type": "Object", "tags": [], "label": "roles", @@ -35,9 +43,9 @@ "signature": [ { "pluginId": "@kbn/core-node-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerPluginApi", - "section": "def-server.NodeRoles", + "section": "def-common.NodeRoles", "text": "NodeRoles" } ], @@ -50,7 +58,7 @@ }, { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.PrebootDeps", + "id": "def-common.PrebootDeps", "type": "Interface", "tags": [], "label": "PrebootDeps", @@ -61,7 +69,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.PrebootDeps.loggingSystem", + "id": "def-common.PrebootDeps.loggingSystem", "type": "Object", "tags": [], "label": "loggingSystem", @@ -82,7 +90,7 @@ "objects": [ { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.nodeConfig", + "id": "def-common.nodeConfig", "type": "Object", "tags": [], "label": "nodeConfig", @@ -93,7 +101,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.nodeConfig.path", + "id": "def-common.nodeConfig.path", "type": "string", "tags": [], "label": "path", @@ -107,7 +115,7 @@ }, { "parentPluginId": "@kbn/core-node-server-internal", - "id": "def-server.nodeConfig.schema", + "id": "def-common.nodeConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -115,17 +123,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ roles: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<\"*\"[] | (\"ui\" | \"background_tasks\")[]>; }>" @@ -138,13 +146,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index f19ee431213d2..67e23e9d1bea2 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 6 | 1 | -## Server +## Common ### Objects - + ### Interfaces - + diff --git a/api_docs/kbn_core_node_server_mocks.devdocs.json b/api_docs/kbn_core_node_server_mocks.devdocs.json index 58ff508cc61cd..f2d7ca94bf8cf 100644 --- a/api_docs/kbn_core_node_server_mocks.devdocs.json +++ b/api_docs/kbn_core_node_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-node-server-mocks", - "id": "def-server.nodeServiceMock", + "id": "def-common.nodeServiceMock", "type": "Object", "tags": [], "label": "nodeServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server-mocks", - "id": "def-server.nodeServiceMock.create", + "id": "def-common.nodeServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-node-server-mocks", - "id": "def-server.nodeServiceMock.createInternalPrebootContract", + "id": "def-common.nodeServiceMock.createInternalPrebootContract", "type": "Function", "tags": [], "label": "createInternalPrebootContract", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-node-server-mocks", - "id": "def-server.nodeServiceMock.createInternalStartContract", + "id": "def-common.nodeServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -71,9 +79,9 @@ "({ ui, backgroundTasks, }?: { ui: boolean; backgroundTasks: boolean; }) => jest.Mocked<", { "pluginId": "@kbn/core-node-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerInternalPluginApi", - "section": "def-server.InternalNodeServiceStart", + "section": "def-common.InternalNodeServiceStart", "text": "InternalNodeServiceStart" }, ">" @@ -85,7 +93,7 @@ "children": [ { "parentPluginId": "@kbn/core-node-server-mocks", - "id": "def-server.nodeServiceMock.createInternalStartContract.$1", + "id": "def-common.nodeServiceMock.createInternalStartContract.$1", "type": "Object", "tags": [], "label": "__0", @@ -103,13 +111,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 64a1857a165ba..3e3b6e4f48e70 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 5 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 4ccaf6a40ead4..b1b5900072209 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 7218ae08ee141..fa75f36472d17 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.devdocs.json b/api_docs/kbn_core_notifications_browser_mocks.devdocs.json index c0a98863dbbfc..b1afc5e9469d8 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_notifications_browser_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-notifications-browser-mocks", - "id": "def-server.notificationServiceMock", + "id": "def-common.notificationServiceMock", "type": "Object", "tags": [], "label": "notificationServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-notifications-browser-mocks", - "id": "def-server.notificationServiceMock.create", + "id": "def-common.notificationServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -52,7 +60,7 @@ }, { "parentPluginId": "@kbn/core-notifications-browser-mocks", - "id": "def-server.notificationServiceMock.createSetupContract", + "id": "def-common.notificationServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -61,9 +69,9 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", @@ -84,7 +92,7 @@ }, { "parentPluginId": "@kbn/core-notifications-browser-mocks", - "id": "def-server.notificationServiceMock.createStartContract", + "id": "def-common.notificationServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -93,9 +101,9 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.MockedKeys", + "section": "def-common.MockedKeys", "text": "MockedKeys" }, "<", @@ -118,13 +126,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index 7b2d02b1f362b..f523aa00af576 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index b8e245e6bdd19..92046f0acfcac 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 391f26e5b63dd..ef132dc04ed0c 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.devdocs.json b/api_docs/kbn_core_overlays_browser_mocks.devdocs.json index 9843f80b312ec..8449b4194c7c9 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_overlays_browser_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-overlays-browser-mocks", - "id": "def-server.overlayServiceMock", + "id": "def-common.overlayServiceMock", "type": "Object", "tags": [], "label": "overlayServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-overlays-browser-mocks", - "id": "def-server.overlayServiceMock.create", + "id": "def-common.overlayServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -37,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", @@ -54,7 +62,7 @@ }, { "parentPluginId": "@kbn/core-overlays-browser-mocks", - "id": "def-server.overlayServiceMock.createStartContract", + "id": "def-common.overlayServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -63,9 +71,9 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", @@ -88,13 +96,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 400b38cd8db8b..4570aca17ff66 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 3 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_plugins_browser.devdocs.json b/api_docs/kbn_core_plugins_browser.devdocs.json index 1ce9836dbdde5..2a0c5a298d8ab 100644 --- a/api_docs/kbn_core_plugins_browser.devdocs.json +++ b/api_docs/kbn_core_plugins_browser.devdocs.json @@ -235,17 +235,17 @@ "{ mode: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", + "section": "def-common.EnvironmentMode", "text": "EnvironmentMode" }, ">; packageInfo: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", + "section": "def-common.PackageInfo", "text": "PackageInfo" }, ">; }" @@ -264,9 +264,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 6270916ece27b..cfeda2fd48f86 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index a2d76552566cb..980a71cb16a0a 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.devdocs.json b/api_docs/kbn_core_plugins_server.devdocs.json index 9dc1958b3cbe7..5b1a7be09eb6e 100644 --- a/api_docs/kbn_core_plugins_server.devdocs.json +++ b/api_docs/kbn_core_plugins_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin", + "id": "def-common.AsyncPlugin", "type": "Interface", "tags": [ "deprecated" @@ -26,9 +34,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.AsyncPlugin", + "section": "def-common.AsyncPlugin", "text": "AsyncPlugin" }, "" @@ -54,7 +62,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.setup", + "id": "def-common.AsyncPlugin.setup", "type": "Function", "tags": [], "label": "setup", @@ -63,9 +71,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: TPluginsSetup) => TSetup | Promise" @@ -76,7 +84,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.setup.$1", + "id": "def-common.AsyncPlugin.setup.$1", "type": "Object", "tags": [], "label": "core", @@ -84,9 +92,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.setup.$2", + "id": "def-common.AsyncPlugin.setup.$2", "type": "Uncategorized", "tags": [], "label": "plugins", @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.start", + "id": "def-common.AsyncPlugin.start", "type": "Function", "tags": [], "label": "start", @@ -125,9 +133,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: TPluginsStart) => TStart | Promise" @@ -138,7 +146,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.start.$1", + "id": "def-common.AsyncPlugin.start.$1", "type": "Object", "tags": [], "label": "core", @@ -146,9 +154,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -159,7 +167,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.start.$2", + "id": "def-common.AsyncPlugin.start.$2", "type": "Uncategorized", "tags": [], "label": "plugins", @@ -177,7 +185,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.AsyncPlugin.stop", + "id": "def-common.AsyncPlugin.stop", "type": "Function", "tags": [], "label": "stop", @@ -196,7 +204,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin", + "id": "def-common.Plugin", "type": "Interface", "tags": [], "label": "Plugin", @@ -206,9 +214,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "" @@ -219,7 +227,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.setup", + "id": "def-common.Plugin.setup", "type": "Function", "tags": [], "label": "setup", @@ -228,9 +236,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: TPluginsSetup) => TSetup" @@ -241,7 +249,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.setup.$1", + "id": "def-common.Plugin.setup.$1", "type": "Object", "tags": [], "label": "core", @@ -249,9 +257,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -263,7 +271,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.setup.$2", + "id": "def-common.Plugin.setup.$2", "type": "Uncategorized", "tags": [], "label": "plugins", @@ -281,7 +289,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.start", + "id": "def-common.Plugin.start", "type": "Function", "tags": [], "label": "start", @@ -290,9 +298,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: TPluginsStart) => TStart" @@ -303,7 +311,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.start.$1", + "id": "def-common.Plugin.start.$1", "type": "Object", "tags": [], "label": "core", @@ -311,9 +319,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -324,7 +332,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.start.$2", + "id": "def-common.Plugin.start.$2", "type": "Uncategorized", "tags": [], "label": "plugins", @@ -342,7 +350,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.Plugin.stop", + "id": "def-common.Plugin.stop", "type": "Function", "tags": [], "label": "stop", @@ -361,7 +369,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigDescriptor", + "id": "def-common.PluginConfigDescriptor", "type": "Interface", "tags": [], "label": "PluginConfigDescriptor", @@ -371,9 +379,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginConfigDescriptor", + "section": "def-common.PluginConfigDescriptor", "text": "PluginConfigDescriptor" }, "" @@ -384,7 +392,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigDescriptor.deprecations", + "id": "def-common.PluginConfigDescriptor.deprecations", "type": "Function", "tags": [], "label": "deprecations", @@ -394,9 +402,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationProvider", + "section": "def-common.ConfigDeprecationProvider", "text": "ConfigDeprecationProvider" }, " | undefined" @@ -407,7 +415,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigDescriptor.exposeToBrowser", + "id": "def-common.PluginConfigDescriptor.exposeToBrowser", "type": "Object", "tags": [], "label": "exposeToBrowser", @@ -417,9 +425,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.ExposedToBrowserDescriptor", + "section": "def-common.ExposedToBrowserDescriptor", "text": "ExposedToBrowserDescriptor" }, " | undefined" @@ -430,7 +438,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigDescriptor.schema", + "id": "def-common.PluginConfigDescriptor.schema", "type": "Object", "tags": [], "label": "schema", @@ -440,9 +448,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -453,7 +461,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigDescriptor.exposeToUsage", + "id": "def-common.PluginConfigDescriptor.exposeToUsage", "type": "Object", "tags": [], "label": "exposeToUsage", @@ -463,9 +471,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.MakeUsageFromSchema", + "section": "def-common.MakeUsageFromSchema", "text": "MakeUsageFromSchema" }, " | undefined" @@ -479,7 +487,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext", + "id": "def-common.PluginInitializerContext", "type": "Interface", "tags": [], "label": "PluginInitializerContext", @@ -489,9 +497,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -502,7 +510,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext.opaqueId", + "id": "def-common.PluginInitializerContext.opaqueId", "type": "Uncategorized", "tags": [], "label": "opaqueId", @@ -516,7 +524,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext.env", + "id": "def-common.PluginInitializerContext.env", "type": "Object", "tags": [], "label": "env", @@ -525,17 +533,17 @@ "{ mode: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", + "section": "def-common.EnvironmentMode", "text": "EnvironmentMode" }, "; packageInfo: Readonly<", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", + "section": "def-common.PackageInfo", "text": "PackageInfo" }, ">; instanceUuid: string; configs: readonly string[]; }" @@ -546,7 +554,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext.node", + "id": "def-common.PluginInitializerContext.node", "type": "Object", "tags": [], "label": "node", @@ -556,9 +564,9 @@ "signature": [ { "pluginId": "@kbn/core-node-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreNodeServerPluginApi", - "section": "def-server.NodeInfo", + "section": "def-common.NodeInfo", "text": "NodeInfo" } ], @@ -568,7 +576,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext.logger", + "id": "def-common.PluginInitializerContext.logger", "type": "Object", "tags": [], "label": "logger", @@ -578,9 +586,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -590,7 +598,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializerContext.config", + "id": "def-common.PluginInitializerContext.config", "type": "Object", "tags": [], "label": "config", @@ -603,25 +611,25 @@ " moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -629,25 +637,25 @@ " | undefined) => string; }>; }>; }>>; get: () => Readonly<{ elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -665,7 +673,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest", + "id": "def-common.PluginManifest", "type": "Interface", "tags": [], "label": "PluginManifest", @@ -678,7 +686,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.id", + "id": "def-common.PluginManifest.id", "type": "string", "tags": [], "label": "id", @@ -691,7 +699,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.version", + "id": "def-common.PluginManifest.version", "type": "string", "tags": [], "label": "version", @@ -704,7 +712,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.kibanaVersion", + "id": "def-common.PluginManifest.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -717,7 +725,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.type", + "id": "def-common.PluginManifest.type", "type": "Enum", "tags": [], "label": "type", @@ -727,9 +735,9 @@ "signature": [ { "pluginId": "@kbn/core-base-common", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreBaseCommonPluginApi", - "section": "def-server.PluginType", + "section": "def-common.PluginType", "text": "PluginType" } ], @@ -739,7 +747,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.configPath", + "id": "def-common.PluginManifest.configPath", "type": "CompoundType", "tags": [], "label": "configPath", @@ -755,7 +763,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.requiredPlugins", + "id": "def-common.PluginManifest.requiredPlugins", "type": "Object", "tags": [], "label": "requiredPlugins", @@ -771,7 +779,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.requiredBundles", + "id": "def-common.PluginManifest.requiredBundles", "type": "Object", "tags": [], "label": "requiredBundles", @@ -787,7 +795,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.optionalPlugins", + "id": "def-common.PluginManifest.optionalPlugins", "type": "Object", "tags": [], "label": "optionalPlugins", @@ -803,7 +811,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.ui", + "id": "def-common.PluginManifest.ui", "type": "boolean", "tags": [], "label": "ui", @@ -816,7 +824,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.server", + "id": "def-common.PluginManifest.server", "type": "boolean", "tags": [], "label": "server", @@ -829,7 +837,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.extraPublicDirs", + "id": "def-common.PluginManifest.extraPublicDirs", "type": "Array", "tags": [ "deprecated" @@ -873,7 +881,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.serviceFolders", + "id": "def-common.PluginManifest.serviceFolders", "type": "Object", "tags": [], "label": "serviceFolders", @@ -889,7 +897,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.owner", + "id": "def-common.PluginManifest.owner", "type": "Object", "tags": [], "label": "owner", @@ -903,7 +911,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.description", + "id": "def-common.PluginManifest.description", "type": "string", "tags": [], "label": "description", @@ -919,7 +927,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginManifest.enabledOnAnonymousPages", + "id": "def-common.PluginManifest.enabledOnAnonymousPages", "type": "CompoundType", "tags": [], "label": "enabledOnAnonymousPages", @@ -938,7 +946,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PrebootPlugin", + "id": "def-common.PrebootPlugin", "type": "Interface", "tags": [], "label": "PrebootPlugin", @@ -948,9 +956,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PrebootPlugin", + "section": "def-common.PrebootPlugin", "text": "PrebootPlugin" }, "" @@ -961,7 +969,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PrebootPlugin.setup", + "id": "def-common.PrebootPlugin.setup", "type": "Function", "tags": [], "label": "setup", @@ -970,9 +978,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CorePreboot", + "section": "def-common.CorePreboot", "text": "CorePreboot" }, ", plugins: TPluginsSetup) => TSetup" @@ -983,7 +991,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PrebootPlugin.setup.$1", + "id": "def-common.PrebootPlugin.setup.$1", "type": "Object", "tags": [], "label": "core", @@ -991,9 +999,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CorePreboot", + "section": "def-common.CorePreboot", "text": "CorePreboot" } ], @@ -1004,7 +1012,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PrebootPlugin.setup.$2", + "id": "def-common.PrebootPlugin.setup.$2", "type": "Uncategorized", "tags": [], "label": "plugins", @@ -1022,7 +1030,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PrebootPlugin.stop", + "id": "def-common.PrebootPlugin.stop", "type": "Function", "tags": [], "label": "stop", @@ -1044,7 +1052,7 @@ "misc": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.ExposedToBrowserDescriptor", + "id": "def-common.ExposedToBrowserDescriptor", "type": "Type", "tags": [], "label": "ExposedToBrowserDescriptor", @@ -1055,9 +1063,9 @@ "{ [Key in keyof T]?: (T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? boolean | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.ExposedToBrowserDescriptor", + "section": "def-common.ExposedToBrowserDescriptor", "text": "ExposedToBrowserDescriptor" }, " : boolean) | undefined; }" @@ -1069,7 +1077,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.MakeUsageFromSchema", + "id": "def-common.MakeUsageFromSchema", "type": "Type", "tags": [], "label": "MakeUsageFromSchema", @@ -1080,9 +1088,9 @@ "{ [Key in keyof T]?: (T[Key] extends Maybe ? false : T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? boolean | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.MakeUsageFromSchema", + "section": "def-common.MakeUsageFromSchema", "text": "MakeUsageFromSchema" }, " : boolean) | undefined; }" @@ -1094,7 +1102,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginConfigSchema", + "id": "def-common.PluginConfigSchema", "type": "Type", "tags": [], "label": "PluginConfigSchema", @@ -1104,9 +1112,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -1118,7 +1126,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializer", + "id": "def-common.PluginInitializer", "type": "Type", "tags": [], "label": "PluginInitializer", @@ -1129,33 +1137,33 @@ "(core: ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, ") => ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, " | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PrebootPlugin", + "section": "def-common.PrebootPlugin", "text": "PrebootPlugin" }, " | ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.AsyncPlugin", + "section": "def-common.AsyncPlugin", "text": "AsyncPlugin" }, "" @@ -1167,7 +1175,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.PluginInitializer.$1", + "id": "def-common.PluginInitializer.$1", "type": "Object", "tags": [], "label": "core", @@ -1175,9 +1183,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -1191,7 +1199,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.SharedGlobalConfig", + "id": "def-common.SharedGlobalConfig", "type": "Type", "tags": [], "label": "SharedGlobalConfig", @@ -1200,25 +1208,25 @@ "{ readonly elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; readonly path: Readonly<{ readonly data: string; }>; readonly savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -1234,7 +1242,7 @@ "objects": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.SharedGlobalConfigKeys", + "id": "def-common.SharedGlobalConfigKeys", "type": "Object", "tags": [], "label": "SharedGlobalConfigKeys", @@ -1245,7 +1253,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.SharedGlobalConfigKeys.elasticsearch", + "id": "def-common.SharedGlobalConfigKeys.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -1261,7 +1269,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.SharedGlobalConfigKeys.path", + "id": "def-common.SharedGlobalConfigKeys.path", "type": "Object", "tags": [], "label": "path", @@ -1275,7 +1283,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server", - "id": "def-server.SharedGlobalConfigKeys.savedObjects", + "id": "def-common.SharedGlobalConfigKeys.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -1291,13 +1299,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 1275dc3fcd1c6..77721d5f611c8 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 58 | 0 | 26 | 0 | -## Server +## Common ### Objects - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_plugins_server_mocks.devdocs.json b/api_docs/kbn_core_plugins_server_mocks.devdocs.json index e7e11c0504caa..b52a866281c2f 100644 --- a/api_docs/kbn_core_plugins_server_mocks.devdocs.json +++ b/api_docs/kbn_core_plugins_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-plugins-server-mocks", - "id": "def-server.pluginServiceMock", + "id": "def-common.pluginServiceMock", "type": "Object", "tags": [], "label": "pluginServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-plugins-server-mocks", - "id": "def-server.pluginServiceMock.create", + "id": "def-common.pluginServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server-mocks", - "id": "def-server.pluginServiceMock.createSetupContract", + "id": "def-common.pluginServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -61,7 +69,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server-mocks", - "id": "def-server.pluginServiceMock.createStartContract", + "id": "def-common.pluginServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-plugins-server-mocks", - "id": "def-server.pluginServiceMock.createUiPlugins", + "id": "def-common.pluginServiceMock.createUiPlugins", "type": "Function", "tags": [], "label": "createUiPlugins", @@ -95,13 +103,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index 0b6f3c989de15..bbcefb1774f32 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 5 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_preboot_server.devdocs.json b/api_docs/kbn_core_preboot_server.devdocs.json index 925e2b61e1ed7..78e0efc9414d8 100644 --- a/api_docs/kbn_core_preboot_server.devdocs.json +++ b/api_docs/kbn_core_preboot_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-preboot-server", - "id": "def-server.PrebootServicePreboot", + "id": "def-common.PrebootServicePreboot", "type": "Interface", "tags": [], "label": "PrebootServicePreboot", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-preboot-server", - "id": "def-server.PrebootServicePreboot.isSetupOnHold", + "id": "def-common.PrebootServicePreboot.isSetupOnHold", "type": "Function", "tags": [], "label": "isSetupOnHold", @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/core-preboot-server", - "id": "def-server.PrebootServicePreboot.holdSetupUntilResolved", + "id": "def-common.PrebootServicePreboot.holdSetupUntilResolved", "type": "Function", "tags": [], "label": "holdSetupUntilResolved", @@ -61,7 +69,7 @@ "children": [ { "parentPluginId": "@kbn/core-preboot-server", - "id": "def-server.PrebootServicePreboot.holdSetupUntilResolved.$1", + "id": "def-common.PrebootServicePreboot.holdSetupUntilResolved.$1", "type": "string", "tags": [], "label": "reason", @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/core-preboot-server", - "id": "def-server.PrebootServicePreboot.holdSetupUntilResolved.$2", + "id": "def-common.PrebootServicePreboot.holdSetupUntilResolved.$2", "type": "Object", "tags": [], "label": "promise", @@ -103,13 +111,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index a4fe08daadb2b..27dc75742b4d5 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 0 | 0 | -## Server +## Common ### Interfaces - + diff --git a/api_docs/kbn_core_preboot_server_mocks.devdocs.json b/api_docs/kbn_core_preboot_server_mocks.devdocs.json index efd10a267bbb8..0d76046807017 100644 --- a/api_docs/kbn_core_preboot_server_mocks.devdocs.json +++ b/api_docs/kbn_core_preboot_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.InternalPrebootServicePrebootMock", + "id": "def-common.InternalPrebootServicePrebootMock", "type": "Type", "tags": [], "label": "InternalPrebootServicePrebootMock", @@ -32,7 +40,7 @@ }, { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.PrebootServicePrebootMock", + "id": "def-common.PrebootServicePrebootMock", "type": "Type", "tags": [], "label": "PrebootServicePrebootMock", @@ -41,9 +49,9 @@ "{ readonly isSetupOnHold: jest.MockInstance; readonly holdSetupUntilResolved: jest.MockInstance]>; } & ", { "pluginId": "@kbn/core-preboot-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerPluginApi", - "section": "def-server.PrebootServicePreboot", + "section": "def-common.PrebootServicePreboot", "text": "PrebootServicePreboot" } ], @@ -56,7 +64,7 @@ "objects": [ { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.prebootServiceMock", + "id": "def-common.prebootServiceMock", "type": "Object", "tags": [], "label": "prebootServiceMock", @@ -67,7 +75,7 @@ "children": [ { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.prebootServiceMock.create", + "id": "def-common.prebootServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -83,7 +91,7 @@ }, { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.prebootServiceMock.createInternalPrebootContract", + "id": "def-common.prebootServiceMock.createInternalPrebootContract", "type": "Function", "tags": [], "label": "createInternalPrebootContract", @@ -92,9 +100,9 @@ "() => ", { "pluginId": "@kbn/core-preboot-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerMocksPluginApi", - "section": "def-server.InternalPrebootServicePrebootMock", + "section": "def-common.InternalPrebootServicePrebootMock", "text": "InternalPrebootServicePrebootMock" } ], @@ -106,7 +114,7 @@ }, { "parentPluginId": "@kbn/core-preboot-server-mocks", - "id": "def-server.prebootServiceMock.createPrebootContract", + "id": "def-common.prebootServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -115,9 +123,9 @@ "() => ", { "pluginId": "@kbn/core-preboot-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePrebootServerMocksPluginApi", - "section": "def-server.PrebootServicePrebootMock", + "section": "def-common.PrebootServicePrebootMock", "text": "PrebootServicePrebootMock" } ], @@ -131,13 +139,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 00398c5882b10..ddf312d544bb6 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 024928b9cc8ea..3eee05562e6d9 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.devdocs.json b/api_docs/kbn_core_rendering_server_internal.devdocs.json index d765832debee1..05f2295576da8 100644 --- a/api_docs/kbn_core_rendering_server_internal.devdocs.json +++ b/api_docs/kbn_core_rendering_server_internal.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-rendering-server-internal", - "id": "def-server.Fonts", + "id": "def-common.Fonts", "type": "Function", "tags": [], "label": "Fonts", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-rendering-server-internal", - "id": "def-server.Fonts.$1", + "id": "def-common.Fonts.$1", "type": "CompoundType", "tags": [], "label": "{ url }", @@ -49,13 +57,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index c36294f76f96a..cc6de53fa4c43 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 2 | 1 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_core_rendering_server_mocks.devdocs.json b/api_docs/kbn_core_rendering_server_mocks.devdocs.json index fc43829e9518e..3d89ab4dfe460 100644 --- a/api_docs/kbn_core_rendering_server_mocks.devdocs.json +++ b/api_docs/kbn_core_rendering_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-rendering-server-mocks", - "id": "def-server.renderingServiceMock", + "id": "def-common.renderingServiceMock", "type": "Object", "tags": [], "label": "renderingServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-rendering-server-mocks", - "id": "def-server.renderingServiceMock.create", + "id": "def-common.renderingServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/core-rendering-server-mocks", - "id": "def-server.renderingServiceMock.createPrebootContract", + "id": "def-common.renderingServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/core-rendering-server-mocks", - "id": "def-server.renderingServiceMock.createSetupContract", + "id": "def-common.renderingServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -83,13 +91,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 02f852a1c94a3..02af08d587553 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 1 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_root_server_internal.devdocs.json b/api_docs/kbn_core_root_server_internal.devdocs.json index 8dff7846c2e91..765f11e6ad76e 100644 --- a/api_docs/kbn_core_root_server_internal.devdocs.json +++ b/api_docs/kbn_core_root_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root", + "id": "def-common.Root", "type": "Class", "tags": [], "label": "Root", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.logger", + "id": "def-common.Root.logger", "type": "Object", "tags": [], "label": "logger", @@ -33,9 +41,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LoggerFactory", + "section": "def-common.LoggerFactory", "text": "LoggerFactory" } ], @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.Unnamed", + "id": "def-common.Root.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -59,7 +67,7 @@ "children": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.Unnamed.$1", + "id": "def-common.Root.Unnamed.$1", "type": "Object", "tags": [], "label": "rawConfigProvider", @@ -67,9 +75,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.RawConfigurationProvider", + "section": "def-common.RawConfigurationProvider", "text": "RawConfigurationProvider" } ], @@ -80,7 +88,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.Unnamed.$2", + "id": "def-common.Root.Unnamed.$2", "type": "Object", "tags": [], "label": "env", @@ -88,9 +96,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.Env", + "section": "def-common.Env", "text": "Env" } ], @@ -101,7 +109,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.Unnamed.$3", + "id": "def-common.Root.Unnamed.$3", "type": "Function", "tags": [], "label": "onShutdown", @@ -119,7 +127,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.preboot", + "id": "def-common.Root.preboot", "type": "Function", "tags": [], "label": "preboot", @@ -137,7 +145,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.setup", + "id": "def-common.Root.setup", "type": "Function", "tags": [], "label": "setup", @@ -155,7 +163,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.start", + "id": "def-common.Root.start", "type": "Function", "tags": [], "label": "start", @@ -173,7 +181,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.shutdown", + "id": "def-common.Root.shutdown", "type": "Function", "tags": [], "label": "shutdown", @@ -187,7 +195,7 @@ "children": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Root.shutdown.$1", + "id": "def-common.Root.shutdown.$1", "type": "Any", "tags": [], "label": "reason", @@ -208,7 +216,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server", + "id": "def-common.Server", "type": "Class", "tags": [], "label": "Server", @@ -219,7 +227,7 @@ "children": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.configService", + "id": "def-common.Server.configService", "type": "Object", "tags": [], "label": "configService", @@ -233,7 +241,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.pluginsInitialized", + "id": "def-common.Server.pluginsInitialized", "type": "CompoundType", "tags": [], "label": "#pluginsInitialized", @@ -247,7 +255,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.Unnamed", + "id": "def-common.Server.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -261,7 +269,7 @@ "children": [ { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.Unnamed.$1", + "id": "def-common.Server.Unnamed.$1", "type": "Object", "tags": [], "label": "rawConfigProvider", @@ -269,9 +277,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.RawConfigurationProvider", + "section": "def-common.RawConfigurationProvider", "text": "RawConfigurationProvider" } ], @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.Unnamed.$2", + "id": "def-common.Server.Unnamed.$2", "type": "Object", "tags": [], "label": "env", @@ -290,9 +298,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.Env", + "section": "def-common.Env", "text": "Env" } ], @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.Unnamed.$3", + "id": "def-common.Server.Unnamed.$3", "type": "Object", "tags": [], "label": "loggingSystem", @@ -321,7 +329,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.preboot", + "id": "def-common.Server.preboot", "type": "Function", "tags": [], "label": "preboot", @@ -339,7 +347,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.setup", + "id": "def-common.Server.setup", "type": "Function", "tags": [], "label": "setup", @@ -357,7 +365,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.start", + "id": "def-common.Server.start", "type": "Function", "tags": [], "label": "start", @@ -375,7 +383,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.stop", + "id": "def-common.Server.stop", "type": "Function", "tags": [], "label": "stop", @@ -391,7 +399,7 @@ }, { "parentPluginId": "@kbn/core-root-server-internal", - "id": "def-server.Server.setupCoreConfig", + "id": "def-common.Server.setupCoreConfig", "type": "Function", "tags": [], "label": "setupCoreConfig", @@ -414,13 +422,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index dd8e72aac252d..e15071779819a 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 23 | 1 | 22 | 0 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 48d751dddb8bb..6485c348e62b3 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -2239,33 +2239,33 @@ "> | undefined; page?: number | undefined; perPage?: number | undefined; sortField?: string | undefined; searchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; namespaces?: string[] | undefined; preference?: string | undefined; }" diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 00c5305c7886f..45908a2a5cd52 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index dec02d5e39c10..db45d1b863086 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsPointInTimeFinder", + "id": "def-common.ISavedObjectsPointInTimeFinder", "type": "Interface", "tags": [], "label": "ISavedObjectsPointInTimeFinder", @@ -24,9 +32,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsPointInTimeFinder.find", + "id": "def-common.ISavedObjectsPointInTimeFinder.find", "type": "Function", "tags": [], "label": "find", @@ -48,9 +56,9 @@ "() => AsyncGenerator<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ", any, unknown>" @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsPointInTimeFinder.close", + "id": "def-common.ISavedObjectsPointInTimeFinder.close", "type": "Function", "tags": [], "label": "close", @@ -84,7 +92,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository", + "id": "def-common.ISavedObjectsRepository", "type": "Interface", "tags": [], "label": "ISavedObjectsRepository", @@ -97,7 +105,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.create", + "id": "def-common.ISavedObjectsRepository.create", "type": "Function", "tags": [ "property", @@ -114,9 +122,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", @@ -135,7 +143,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.create.$1", + "id": "def-common.ISavedObjectsRepository.create.$1", "type": "string", "tags": [], "label": "type", @@ -152,7 +160,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.create.$2", + "id": "def-common.ISavedObjectsRepository.create.$2", "type": "Uncategorized", "tags": [], "label": "attributes", @@ -169,7 +177,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.create.$3", + "id": "def-common.ISavedObjectsRepository.create.$3", "type": "Object", "tags": [], "label": "options", @@ -179,9 +187,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -198,7 +206,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkCreate", + "id": "def-common.ISavedObjectsRepository.bulkCreate", "type": "Function", "tags": [ "property", @@ -212,25 +220,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -241,7 +249,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkCreate.$1", + "id": "def-common.ISavedObjectsRepository.bulkCreate.$1", "type": "Array", "tags": [], "label": "objects", @@ -251,9 +259,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -265,7 +273,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkCreate.$2", + "id": "def-common.ISavedObjectsRepository.bulkCreate.$2", "type": "Object", "tags": [], "label": "options", @@ -275,9 +283,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -294,7 +302,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.checkConflicts", + "id": "def-common.ISavedObjectsRepository.checkConflicts", "type": "Function", "tags": [], "label": "checkConflicts", @@ -305,25 +313,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -334,7 +342,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.checkConflicts.$1", + "id": "def-common.ISavedObjectsRepository.checkConflicts.$1", "type": "Array", "tags": [], "label": "objects", @@ -344,9 +352,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -358,7 +366,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.checkConflicts.$2", + "id": "def-common.ISavedObjectsRepository.checkConflicts.$2", "type": "Object", "tags": [], "label": "options", @@ -368,9 +376,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -387,7 +395,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.delete", + "id": "def-common.ISavedObjectsRepository.delete", "type": "Function", "tags": [ "property" @@ -400,9 +408,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined) => Promise<{}>" @@ -413,7 +421,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.delete.$1", + "id": "def-common.ISavedObjectsRepository.delete.$1", "type": "string", "tags": [], "label": "type", @@ -430,7 +438,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.delete.$2", + "id": "def-common.ISavedObjectsRepository.delete.$2", "type": "string", "tags": [], "label": "id", @@ -447,7 +455,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.delete.$3", + "id": "def-common.ISavedObjectsRepository.delete.$3", "type": "Object", "tags": [], "label": "options", @@ -457,9 +465,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined" @@ -474,7 +482,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkDelete", + "id": "def-common.ISavedObjectsRepository.bulkDelete", "type": "Function", "tags": [], "label": "bulkDelete", @@ -485,25 +493,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -514,7 +522,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkDelete.$1", + "id": "def-common.ISavedObjectsRepository.bulkDelete.$1", "type": "Array", "tags": [], "label": "objects", @@ -524,9 +532,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -538,7 +546,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkDelete.$2", + "id": "def-common.ISavedObjectsRepository.bulkDelete.$2", "type": "Object", "tags": [], "label": "options", @@ -548,9 +556,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined" @@ -567,7 +575,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.deleteByNamespace", + "id": "def-common.ISavedObjectsRepository.deleteByNamespace", "type": "Function", "tags": [], "label": "deleteByNamespace", @@ -578,9 +586,9 @@ "(namespace: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " | undefined) => Promise" @@ -591,7 +599,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.deleteByNamespace.$1", + "id": "def-common.ISavedObjectsRepository.deleteByNamespace.$1", "type": "string", "tags": [], "label": "namespace", @@ -608,7 +616,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.deleteByNamespace.$2", + "id": "def-common.ISavedObjectsRepository.deleteByNamespace.$2", "type": "Object", "tags": [], "label": "options", @@ -618,9 +626,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " | undefined" @@ -637,7 +645,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.find", + "id": "def-common.ISavedObjectsRepository.find", "type": "Function", "tags": [ "property", @@ -663,9 +671,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -673,9 +681,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -686,7 +694,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.find.$1", + "id": "def-common.ISavedObjectsRepository.find.$1", "type": "Object", "tags": [], "label": "options", @@ -696,9 +704,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -709,7 +717,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.find.$2", + "id": "def-common.ISavedObjectsRepository.find.$2", "type": "Object", "tags": [], "label": "internalOptions", @@ -732,7 +740,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkGet", + "id": "def-common.ISavedObjectsRepository.bulkGet", "type": "Function", "tags": [ "property" @@ -745,25 +753,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -774,7 +782,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkGet.$1", + "id": "def-common.ISavedObjectsRepository.bulkGet.$1", "type": "Array", "tags": [], "label": "objects", @@ -784,9 +792,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -798,7 +806,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkGet.$2", + "id": "def-common.ISavedObjectsRepository.bulkGet.$2", "type": "Object", "tags": [], "label": "options", @@ -808,9 +816,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -827,7 +835,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkResolve", + "id": "def-common.ISavedObjectsRepository.bulkResolve", "type": "Function", "tags": [ "property" @@ -840,25 +848,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -869,7 +877,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkResolve.$1", + "id": "def-common.ISavedObjectsRepository.bulkResolve.$1", "type": "Array", "tags": [], "label": "objects", @@ -879,9 +887,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -893,7 +901,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkResolve.$2", + "id": "def-common.ISavedObjectsRepository.bulkResolve.$2", "type": "Object", "tags": [], "label": "options", @@ -903,9 +911,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -922,7 +930,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.get", + "id": "def-common.ISavedObjectsRepository.get", "type": "Function", "tags": [ "property" @@ -935,9 +943,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", @@ -956,7 +964,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.get.$1", + "id": "def-common.ISavedObjectsRepository.get.$1", "type": "string", "tags": [], "label": "type", @@ -973,7 +981,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.get.$2", + "id": "def-common.ISavedObjectsRepository.get.$2", "type": "string", "tags": [], "label": "id", @@ -990,7 +998,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.get.$3", + "id": "def-common.ISavedObjectsRepository.get.$3", "type": "Object", "tags": [], "label": "options", @@ -1000,9 +1008,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -1019,7 +1027,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.resolve", + "id": "def-common.ISavedObjectsRepository.resolve", "type": "Function", "tags": [ "property" @@ -1032,17 +1040,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -1053,7 +1061,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.resolve.$1", + "id": "def-common.ISavedObjectsRepository.resolve.$1", "type": "string", "tags": [], "label": "type", @@ -1070,7 +1078,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.resolve.$2", + "id": "def-common.ISavedObjectsRepository.resolve.$2", "type": "string", "tags": [], "label": "id", @@ -1087,7 +1095,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.resolve.$3", + "id": "def-common.ISavedObjectsRepository.resolve.$3", "type": "Object", "tags": [], "label": "options", @@ -1097,9 +1105,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -1116,7 +1124,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.update", + "id": "def-common.ISavedObjectsRepository.update", "type": "Function", "tags": [ "property", @@ -1131,17 +1139,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -1152,7 +1160,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.update.$1", + "id": "def-common.ISavedObjectsRepository.update.$1", "type": "string", "tags": [], "label": "type", @@ -1169,7 +1177,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.update.$2", + "id": "def-common.ISavedObjectsRepository.update.$2", "type": "string", "tags": [], "label": "id", @@ -1186,7 +1194,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.update.$3", + "id": "def-common.ISavedObjectsRepository.update.$3", "type": "Object", "tags": [], "label": "attributes", @@ -1203,7 +1211,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.update.$4", + "id": "def-common.ISavedObjectsRepository.update.$4", "type": "Object", "tags": [], "label": "options", @@ -1213,9 +1221,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined" @@ -1232,7 +1240,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.collectMultiNamespaceReferences", + "id": "def-common.ISavedObjectsRepository.collectMultiNamespaceReferences", "type": "Function", "tags": [], "label": "collectMultiNamespaceReferences", @@ -1243,25 +1251,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -1272,7 +1280,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.collectMultiNamespaceReferences.$1", + "id": "def-common.ISavedObjectsRepository.collectMultiNamespaceReferences.$1", "type": "Array", "tags": [], "label": "objects", @@ -1282,9 +1290,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -1296,7 +1304,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.collectMultiNamespaceReferences.$2", + "id": "def-common.ISavedObjectsRepository.collectMultiNamespaceReferences.$2", "type": "Object", "tags": [], "label": "options", @@ -1306,9 +1314,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined" @@ -1325,7 +1333,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.updateObjectsSpaces", + "id": "def-common.ISavedObjectsRepository.updateObjectsSpaces", "type": "Function", "tags": [], "label": "updateObjectsSpaces", @@ -1336,25 +1344,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -1365,7 +1373,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.updateObjectsSpaces.$1", + "id": "def-common.ISavedObjectsRepository.updateObjectsSpaces.$1", "type": "Array", "tags": [], "label": "objects", @@ -1375,9 +1383,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -1389,7 +1397,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.updateObjectsSpaces.$2", + "id": "def-common.ISavedObjectsRepository.updateObjectsSpaces.$2", "type": "Array", "tags": [], "label": "spacesToAdd", @@ -1406,7 +1414,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.updateObjectsSpaces.$3", + "id": "def-common.ISavedObjectsRepository.updateObjectsSpaces.$3", "type": "Array", "tags": [], "label": "spacesToRemove", @@ -1423,7 +1431,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.updateObjectsSpaces.$4", + "id": "def-common.ISavedObjectsRepository.updateObjectsSpaces.$4", "type": "Object", "tags": [], "label": "options", @@ -1433,9 +1441,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined" @@ -1452,7 +1460,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkUpdate", + "id": "def-common.ISavedObjectsRepository.bulkUpdate", "type": "Function", "tags": [ "property", @@ -1466,25 +1474,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -1495,7 +1503,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkUpdate.$1", + "id": "def-common.ISavedObjectsRepository.bulkUpdate.$1", "type": "Array", "tags": [], "label": "objects", @@ -1505,9 +1513,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -1519,7 +1527,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.bulkUpdate.$2", + "id": "def-common.ISavedObjectsRepository.bulkUpdate.$2", "type": "Object", "tags": [], "label": "options", @@ -1529,9 +1537,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined" @@ -1548,7 +1556,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.removeReferencesTo", + "id": "def-common.ISavedObjectsRepository.removeReferencesTo", "type": "Function", "tags": [], "label": "removeReferencesTo", @@ -1559,17 +1567,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -1580,7 +1588,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.removeReferencesTo.$1", + "id": "def-common.ISavedObjectsRepository.removeReferencesTo.$1", "type": "string", "tags": [], "label": "type", @@ -1597,7 +1605,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.removeReferencesTo.$2", + "id": "def-common.ISavedObjectsRepository.removeReferencesTo.$2", "type": "string", "tags": [], "label": "id", @@ -1614,7 +1622,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.removeReferencesTo.$3", + "id": "def-common.ISavedObjectsRepository.removeReferencesTo.$3", "type": "Object", "tags": [], "label": "options", @@ -1624,9 +1632,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined" @@ -1643,7 +1651,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.incrementCounter", + "id": "def-common.ISavedObjectsRepository.incrementCounter", "type": "Function", "tags": [], "label": "incrementCounter", @@ -1654,17 +1662,17 @@ "(type: string, id: string, counterFields: (string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined) => Promise<", @@ -1683,7 +1691,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.incrementCounter.$1", + "id": "def-common.ISavedObjectsRepository.incrementCounter.$1", "type": "string", "tags": [], "label": "type", @@ -1700,7 +1708,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.incrementCounter.$2", + "id": "def-common.ISavedObjectsRepository.incrementCounter.$2", "type": "string", "tags": [], "label": "id", @@ -1717,7 +1725,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.incrementCounter.$3", + "id": "def-common.ISavedObjectsRepository.incrementCounter.$3", "type": "Array", "tags": [], "label": "counterFields", @@ -1728,9 +1736,9 @@ "(string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[]" @@ -1742,7 +1750,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.incrementCounter.$4", + "id": "def-common.ISavedObjectsRepository.incrementCounter.$4", "type": "Object", "tags": [], "label": "options", @@ -1752,9 +1760,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined" @@ -1771,7 +1779,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.openPointInTimeForType", + "id": "def-common.ISavedObjectsRepository.openPointInTimeForType", "type": "Function", "tags": [ "property", @@ -1785,9 +1793,9 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -1795,9 +1803,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -1808,7 +1816,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.openPointInTimeForType.$1", + "id": "def-common.ISavedObjectsRepository.openPointInTimeForType.$1", "type": "CompoundType", "tags": [], "label": "type", @@ -1825,7 +1833,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.openPointInTimeForType.$2", + "id": "def-common.ISavedObjectsRepository.openPointInTimeForType.$2", "type": "Object", "tags": [], "label": "options", @@ -1835,9 +1843,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined" @@ -1849,7 +1857,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.openPointInTimeForType.$3", + "id": "def-common.ISavedObjectsRepository.openPointInTimeForType.$3", "type": "Object", "tags": [], "label": "internalOptions", @@ -1872,7 +1880,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.closePointInTime", + "id": "def-common.ISavedObjectsRepository.closePointInTime", "type": "Function", "tags": [], "label": "closePointInTime", @@ -1883,9 +1891,9 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -1893,9 +1901,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -1906,7 +1914,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.closePointInTime.$1", + "id": "def-common.ISavedObjectsRepository.closePointInTime.$1", "type": "string", "tags": [], "label": "id", @@ -1923,7 +1931,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.closePointInTime.$2", + "id": "def-common.ISavedObjectsRepository.closePointInTime.$2", "type": "Object", "tags": [], "label": "options", @@ -1933,9 +1941,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -1947,7 +1955,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.closePointInTime.$3", + "id": "def-common.ISavedObjectsRepository.closePointInTime.$3", "type": "Object", "tags": [], "label": "internalOptions", @@ -1970,7 +1978,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.createPointInTimeFinder", + "id": "def-common.ISavedObjectsRepository.createPointInTimeFinder", "type": "Function", "tags": [], "label": "createPointInTimeFinder", @@ -1981,25 +1989,25 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -2010,7 +2018,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.createPointInTimeFinder.$1", + "id": "def-common.ISavedObjectsRepository.createPointInTimeFinder.$1", "type": "Object", "tags": [], "label": "findOptions", @@ -2020,9 +2028,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -2033,7 +2041,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.ISavedObjectsRepository.createPointInTimeFinder.$2", + "id": "def-common.ISavedObjectsRepository.createPointInTimeFinder.$2", "type": "Object", "tags": [], "label": "dependencies", @@ -2043,9 +2051,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -2065,7 +2073,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext", + "id": "def-common.SavedObjectReferenceWithContext", "type": "Interface", "tags": [], "label": "SavedObjectReferenceWithContext", @@ -2078,7 +2086,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.type", + "id": "def-common.SavedObjectReferenceWithContext.type", "type": "string", "tags": [], "label": "type", @@ -2091,7 +2099,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.id", + "id": "def-common.SavedObjectReferenceWithContext.id", "type": "string", "tags": [], "label": "id", @@ -2104,7 +2112,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.originId", + "id": "def-common.SavedObjectReferenceWithContext.originId", "type": "string", "tags": [], "label": "originId", @@ -2120,7 +2128,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.spaces", + "id": "def-common.SavedObjectReferenceWithContext.spaces", "type": "Array", "tags": [], "label": "spaces", @@ -2136,7 +2144,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.inboundReferences", + "id": "def-common.SavedObjectReferenceWithContext.inboundReferences", "type": "Array", "tags": [], "label": "inboundReferences", @@ -2152,7 +2160,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.isMissing", + "id": "def-common.SavedObjectReferenceWithContext.isMissing", "type": "CompoundType", "tags": [], "label": "isMissing", @@ -2168,7 +2176,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.spacesWithMatchingAliases", + "id": "def-common.SavedObjectReferenceWithContext.spacesWithMatchingAliases", "type": "Array", "tags": [], "label": "spacesWithMatchingAliases", @@ -2184,7 +2192,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectReferenceWithContext.spacesWithMatchingOrigins", + "id": "def-common.SavedObjectReferenceWithContext.spacesWithMatchingOrigins", "type": "Array", "tags": [], "label": "spacesWithMatchingOrigins", @@ -2203,7 +2211,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBaseOptions", + "id": "def-common.SavedObjectsBaseOptions", "type": "Interface", "tags": [], "label": "SavedObjectsBaseOptions", @@ -2216,7 +2224,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBaseOptions.namespace", + "id": "def-common.SavedObjectsBaseOptions.namespace", "type": "string", "tags": [], "label": "namespace", @@ -2235,7 +2243,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject", + "id": "def-common.SavedObjectsBulkCreateObject", "type": "Interface", "tags": [], "label": "SavedObjectsBulkCreateObject", @@ -2245,9 +2253,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "" @@ -2258,7 +2266,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.id", + "id": "def-common.SavedObjectsBulkCreateObject.id", "type": "string", "tags": [], "label": "id", @@ -2274,7 +2282,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.type", + "id": "def-common.SavedObjectsBulkCreateObject.type", "type": "string", "tags": [], "label": "type", @@ -2287,7 +2295,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.attributes", + "id": "def-common.SavedObjectsBulkCreateObject.attributes", "type": "Uncategorized", "tags": [], "label": "attributes", @@ -2303,7 +2311,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.version", + "id": "def-common.SavedObjectsBulkCreateObject.version", "type": "string", "tags": [], "label": "version", @@ -2319,7 +2327,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.references", + "id": "def-common.SavedObjectsBulkCreateObject.references", "type": "Array", "tags": [], "label": "references", @@ -2342,7 +2350,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.migrationVersion", + "id": "def-common.SavedObjectsBulkCreateObject.migrationVersion", "type": "Object", "tags": [], "label": "migrationVersion", @@ -2365,7 +2373,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.coreMigrationVersion", + "id": "def-common.SavedObjectsBulkCreateObject.coreMigrationVersion", "type": "string", "tags": [], "label": "coreMigrationVersion", @@ -2381,7 +2389,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.originId", + "id": "def-common.SavedObjectsBulkCreateObject.originId", "type": "string", "tags": [], "label": "originId", @@ -2397,7 +2405,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkCreateObject.initialNamespaces", + "id": "def-common.SavedObjectsBulkCreateObject.initialNamespaces", "type": "Array", "tags": [], "label": "initialNamespaces", @@ -2416,7 +2424,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteObject", + "id": "def-common.SavedObjectsBulkDeleteObject", "type": "Interface", "tags": [], "label": "SavedObjectsBulkDeleteObject", @@ -2429,7 +2437,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteObject.type", + "id": "def-common.SavedObjectsBulkDeleteObject.type", "type": "string", "tags": [], "label": "type", @@ -2442,7 +2450,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteObject.id", + "id": "def-common.SavedObjectsBulkDeleteObject.id", "type": "string", "tags": [], "label": "id", @@ -2458,7 +2466,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteOptions", + "id": "def-common.SavedObjectsBulkDeleteOptions", "type": "Interface", "tags": [], "label": "SavedObjectsBulkDeleteOptions", @@ -2468,17 +2476,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -2488,7 +2496,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteOptions.refresh", + "id": "def-common.SavedObjectsBulkDeleteOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -2498,9 +2506,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -2511,7 +2519,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteOptions.force", + "id": "def-common.SavedObjectsBulkDeleteOptions.force", "type": "CompoundType", "tags": [], "label": "force", @@ -2530,7 +2538,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteResponse", + "id": "def-common.SavedObjectsBulkDeleteResponse", "type": "Interface", "tags": [], "label": "SavedObjectsBulkDeleteResponse", @@ -2543,7 +2551,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteResponse.statuses", + "id": "def-common.SavedObjectsBulkDeleteResponse.statuses", "type": "Array", "tags": [], "label": "statuses", @@ -2553,9 +2561,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteStatus", + "section": "def-common.SavedObjectsBulkDeleteStatus", "text": "SavedObjectsBulkDeleteStatus" }, "[]" @@ -2569,7 +2577,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteStatus", + "id": "def-common.SavedObjectsBulkDeleteStatus", "type": "Interface", "tags": [], "label": "SavedObjectsBulkDeleteStatus", @@ -2582,7 +2590,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteStatus.id", + "id": "def-common.SavedObjectsBulkDeleteStatus.id", "type": "string", "tags": [], "label": "id", @@ -2595,7 +2603,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteStatus.type", + "id": "def-common.SavedObjectsBulkDeleteStatus.type", "type": "string", "tags": [], "label": "type", @@ -2608,7 +2616,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteStatus.success", + "id": "def-common.SavedObjectsBulkDeleteStatus.success", "type": "boolean", "tags": [], "label": "success", @@ -2621,7 +2629,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkDeleteStatus.error", + "id": "def-common.SavedObjectsBulkDeleteStatus.error", "type": "Object", "tags": [], "label": "error", @@ -2647,7 +2655,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkGetObject", + "id": "def-common.SavedObjectsBulkGetObject", "type": "Interface", "tags": [], "label": "SavedObjectsBulkGetObject", @@ -2660,7 +2668,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkGetObject.id", + "id": "def-common.SavedObjectsBulkGetObject.id", "type": "string", "tags": [], "label": "id", @@ -2673,7 +2681,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkGetObject.type", + "id": "def-common.SavedObjectsBulkGetObject.type", "type": "string", "tags": [], "label": "type", @@ -2686,7 +2694,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkGetObject.fields", + "id": "def-common.SavedObjectsBulkGetObject.fields", "type": "Array", "tags": [], "label": "fields", @@ -2702,7 +2710,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkGetObject.namespaces", + "id": "def-common.SavedObjectsBulkGetObject.namespaces", "type": "Array", "tags": [], "label": "namespaces", @@ -2721,7 +2729,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResolveObject", + "id": "def-common.SavedObjectsBulkResolveObject", "type": "Interface", "tags": [], "label": "SavedObjectsBulkResolveObject", @@ -2734,7 +2742,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResolveObject.id", + "id": "def-common.SavedObjectsBulkResolveObject.id", "type": "string", "tags": [], "label": "id", @@ -2747,7 +2755,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResolveObject.type", + "id": "def-common.SavedObjectsBulkResolveObject.type", "type": "string", "tags": [], "label": "type", @@ -2763,7 +2771,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResolveResponse", + "id": "def-common.SavedObjectsBulkResolveResponse", "type": "Interface", "tags": [], "label": "SavedObjectsBulkResolveResponse", @@ -2773,9 +2781,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, "" @@ -2786,7 +2794,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResolveResponse.resolved_objects", + "id": "def-common.SavedObjectsBulkResolveResponse.resolved_objects", "type": "Array", "tags": [], "label": "resolved_objects", @@ -2796,9 +2804,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, "[]" @@ -2812,7 +2820,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResponse", + "id": "def-common.SavedObjectsBulkResponse", "type": "Interface", "tags": [], "label": "SavedObjectsBulkResponse", @@ -2822,9 +2830,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, "" @@ -2835,7 +2843,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkResponse.saved_objects", + "id": "def-common.SavedObjectsBulkResponse.saved_objects", "type": "Array", "tags": [], "label": "saved_objects", @@ -2861,7 +2869,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateObject", + "id": "def-common.SavedObjectsBulkUpdateObject", "type": "Interface", "tags": [], "label": "SavedObjectsBulkUpdateObject", @@ -2871,17 +2879,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, " extends Pick<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, ", \"version\" | \"references\">" @@ -2892,7 +2900,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateObject.id", + "id": "def-common.SavedObjectsBulkUpdateObject.id", "type": "string", "tags": [], "label": "id", @@ -2905,7 +2913,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateObject.type", + "id": "def-common.SavedObjectsBulkUpdateObject.type", "type": "string", "tags": [], "label": "type", @@ -2918,7 +2926,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateObject.attributes", + "id": "def-common.SavedObjectsBulkUpdateObject.attributes", "type": "Object", "tags": [], "label": "attributes", @@ -2934,7 +2942,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateObject.namespace", + "id": "def-common.SavedObjectsBulkUpdateObject.namespace", "type": "string", "tags": [], "label": "namespace", @@ -2953,7 +2961,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateOptions", + "id": "def-common.SavedObjectsBulkUpdateOptions", "type": "Interface", "tags": [], "label": "SavedObjectsBulkUpdateOptions", @@ -2963,17 +2971,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -2983,7 +2991,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateOptions.refresh", + "id": "def-common.SavedObjectsBulkUpdateOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -2993,9 +3001,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -3009,7 +3017,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateResponse", + "id": "def-common.SavedObjectsBulkUpdateResponse", "type": "Interface", "tags": [], "label": "SavedObjectsBulkUpdateResponse", @@ -3019,9 +3027,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, "" @@ -3032,7 +3040,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsBulkUpdateResponse.saved_objects", + "id": "def-common.SavedObjectsBulkUpdateResponse.saved_objects", "type": "Array", "tags": [], "label": "saved_objects", @@ -3042,9 +3050,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, "[]" @@ -3058,7 +3066,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCheckConflictsObject", + "id": "def-common.SavedObjectsCheckConflictsObject", "type": "Interface", "tags": [], "label": "SavedObjectsCheckConflictsObject", @@ -3071,7 +3079,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCheckConflictsObject.id", + "id": "def-common.SavedObjectsCheckConflictsObject.id", "type": "string", "tags": [], "label": "id", @@ -3084,7 +3092,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCheckConflictsObject.type", + "id": "def-common.SavedObjectsCheckConflictsObject.type", "type": "string", "tags": [], "label": "type", @@ -3100,7 +3108,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCheckConflictsResponse", + "id": "def-common.SavedObjectsCheckConflictsResponse", "type": "Interface", "tags": [], "label": "SavedObjectsCheckConflictsResponse", @@ -3113,7 +3121,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCheckConflictsResponse.errors", + "id": "def-common.SavedObjectsCheckConflictsResponse.errors", "type": "Array", "tags": [], "label": "errors", @@ -3140,7 +3148,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract", + "id": "def-common.SavedObjectsClientContract", "type": "Interface", "tags": [], "label": "SavedObjectsClientContract", @@ -3153,7 +3161,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.create", + "id": "def-common.SavedObjectsClientContract.create", "type": "Function", "tags": [], "label": "create", @@ -3164,9 +3172,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", @@ -3185,7 +3193,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.create.$1", + "id": "def-common.SavedObjectsClientContract.create.$1", "type": "string", "tags": [], "label": "type", @@ -3202,7 +3210,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.create.$2", + "id": "def-common.SavedObjectsClientContract.create.$2", "type": "Uncategorized", "tags": [], "label": "attributes", @@ -3219,7 +3227,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.create.$3", + "id": "def-common.SavedObjectsClientContract.create.$3", "type": "Object", "tags": [], "label": "options", @@ -3229,9 +3237,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -3248,7 +3256,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkCreate", + "id": "def-common.SavedObjectsClientContract.bulkCreate", "type": "Function", "tags": [], "label": "bulkCreate", @@ -3259,25 +3267,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -3288,7 +3296,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkCreate.$1", + "id": "def-common.SavedObjectsClientContract.bulkCreate.$1", "type": "Array", "tags": [], "label": "objects", @@ -3298,9 +3306,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -3312,7 +3320,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkCreate.$2", + "id": "def-common.SavedObjectsClientContract.bulkCreate.$2", "type": "Object", "tags": [], "label": "options", @@ -3322,9 +3330,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " | undefined" @@ -3341,7 +3349,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.checkConflicts", + "id": "def-common.SavedObjectsClientContract.checkConflicts", "type": "Function", "tags": [], "label": "checkConflicts", @@ -3352,25 +3360,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -3381,7 +3389,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.checkConflicts.$1", + "id": "def-common.SavedObjectsClientContract.checkConflicts.$1", "type": "Array", "tags": [], "label": "objects", @@ -3391,9 +3399,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -3405,7 +3413,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.checkConflicts.$2", + "id": "def-common.SavedObjectsClientContract.checkConflicts.$2", "type": "Object", "tags": [], "label": "options", @@ -3415,9 +3423,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -3434,7 +3442,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.delete", + "id": "def-common.SavedObjectsClientContract.delete", "type": "Function", "tags": [], "label": "delete", @@ -3445,9 +3453,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined) => Promise<{}>" @@ -3458,7 +3466,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.delete.$1", + "id": "def-common.SavedObjectsClientContract.delete.$1", "type": "string", "tags": [], "label": "type", @@ -3475,7 +3483,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.delete.$2", + "id": "def-common.SavedObjectsClientContract.delete.$2", "type": "string", "tags": [], "label": "id", @@ -3492,7 +3500,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.delete.$3", + "id": "def-common.SavedObjectsClientContract.delete.$3", "type": "Object", "tags": [], "label": "options", @@ -3502,9 +3510,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " | undefined" @@ -3519,7 +3527,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkDelete", + "id": "def-common.SavedObjectsClientContract.bulkDelete", "type": "Function", "tags": [], "label": "bulkDelete", @@ -3530,25 +3538,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -3559,7 +3567,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkDelete.$1", + "id": "def-common.SavedObjectsClientContract.bulkDelete.$1", "type": "Array", "tags": [], "label": "objects", @@ -3569,9 +3577,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -3583,7 +3591,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkDelete.$2", + "id": "def-common.SavedObjectsClientContract.bulkDelete.$2", "type": "Object", "tags": [], "label": "options", @@ -3593,9 +3601,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, " | undefined" @@ -3612,7 +3620,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.find", + "id": "def-common.SavedObjectsClientContract.find", "type": "Function", "tags": [], "label": "find", @@ -3623,17 +3631,17 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -3644,7 +3652,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.find.$1", + "id": "def-common.SavedObjectsClientContract.find.$1", "type": "Object", "tags": [], "label": "options", @@ -3654,9 +3662,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -3672,7 +3680,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkGet", + "id": "def-common.SavedObjectsClientContract.bulkGet", "type": "Function", "tags": [], "label": "bulkGet", @@ -3683,25 +3691,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -3712,7 +3720,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkGet.$1", + "id": "def-common.SavedObjectsClientContract.bulkGet.$1", "type": "Array", "tags": [], "label": "objects", @@ -3722,9 +3730,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -3736,7 +3744,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkGet.$2", + "id": "def-common.SavedObjectsClientContract.bulkGet.$2", "type": "Object", "tags": [], "label": "options", @@ -3746,9 +3754,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -3765,7 +3773,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.get", + "id": "def-common.SavedObjectsClientContract.get", "type": "Function", "tags": [], "label": "get", @@ -3776,9 +3784,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", @@ -3797,7 +3805,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.get.$1", + "id": "def-common.SavedObjectsClientContract.get.$1", "type": "string", "tags": [], "label": "type", @@ -3814,7 +3822,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.get.$2", + "id": "def-common.SavedObjectsClientContract.get.$2", "type": "string", "tags": [], "label": "id", @@ -3831,7 +3839,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.get.$3", + "id": "def-common.SavedObjectsClientContract.get.$3", "type": "Object", "tags": [], "label": "options", @@ -3841,9 +3849,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -3858,7 +3866,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkResolve", + "id": "def-common.SavedObjectsClientContract.bulkResolve", "type": "Function", "tags": [ "note" @@ -3871,25 +3879,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -3900,7 +3908,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkResolve.$1", + "id": "def-common.SavedObjectsClientContract.bulkResolve.$1", "type": "Array", "tags": [], "label": "objects", @@ -3910,9 +3918,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -3924,7 +3932,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkResolve.$2", + "id": "def-common.SavedObjectsClientContract.bulkResolve.$2", "type": "Object", "tags": [], "label": "options", @@ -3934,9 +3942,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -3953,7 +3961,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.resolve", + "id": "def-common.SavedObjectsClientContract.resolve", "type": "Function", "tags": [], "label": "resolve", @@ -3964,17 +3972,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -3985,7 +3993,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.resolve.$1", + "id": "def-common.SavedObjectsClientContract.resolve.$1", "type": "string", "tags": [], "label": "type", @@ -4002,7 +4010,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.resolve.$2", + "id": "def-common.SavedObjectsClientContract.resolve.$2", "type": "string", "tags": [], "label": "id", @@ -4019,7 +4027,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.resolve.$3", + "id": "def-common.SavedObjectsClientContract.resolve.$3", "type": "Object", "tags": [], "label": "options", @@ -4029,9 +4037,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -4048,7 +4056,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.update", + "id": "def-common.SavedObjectsClientContract.update", "type": "Function", "tags": [], "label": "update", @@ -4059,17 +4067,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -4080,7 +4088,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.update.$1", + "id": "def-common.SavedObjectsClientContract.update.$1", "type": "string", "tags": [], "label": "type", @@ -4097,7 +4105,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.update.$2", + "id": "def-common.SavedObjectsClientContract.update.$2", "type": "string", "tags": [], "label": "id", @@ -4114,7 +4122,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.update.$3", + "id": "def-common.SavedObjectsClientContract.update.$3", "type": "Object", "tags": [], "label": "attributes", @@ -4131,7 +4139,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.update.$4", + "id": "def-common.SavedObjectsClientContract.update.$4", "type": "Object", "tags": [], "label": "options", @@ -4141,9 +4149,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " | undefined" @@ -4160,7 +4168,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkUpdate", + "id": "def-common.SavedObjectsClientContract.bulkUpdate", "type": "Function", "tags": [], "label": "bulkUpdate", @@ -4171,25 +4179,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -4200,7 +4208,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkUpdate.$1", + "id": "def-common.SavedObjectsClientContract.bulkUpdate.$1", "type": "Array", "tags": [], "label": "objects", @@ -4210,9 +4218,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -4224,7 +4232,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.bulkUpdate.$2", + "id": "def-common.SavedObjectsClientContract.bulkUpdate.$2", "type": "Object", "tags": [], "label": "options", @@ -4234,9 +4242,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, " | undefined" @@ -4253,7 +4261,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.removeReferencesTo", + "id": "def-common.SavedObjectsClientContract.removeReferencesTo", "type": "Function", "tags": [], "label": "removeReferencesTo", @@ -4264,17 +4272,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -4285,7 +4293,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.removeReferencesTo.$1", + "id": "def-common.SavedObjectsClientContract.removeReferencesTo.$1", "type": "string", "tags": [], "label": "type", @@ -4302,7 +4310,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.removeReferencesTo.$2", + "id": "def-common.SavedObjectsClientContract.removeReferencesTo.$2", "type": "string", "tags": [], "label": "id", @@ -4319,7 +4327,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.removeReferencesTo.$3", + "id": "def-common.SavedObjectsClientContract.removeReferencesTo.$3", "type": "Object", "tags": [], "label": "options", @@ -4329,9 +4337,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " | undefined" @@ -4348,7 +4356,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.openPointInTimeForType", + "id": "def-common.SavedObjectsClientContract.openPointInTimeForType", "type": "Function", "tags": [], "label": "openPointInTimeForType", @@ -4359,17 +4367,17 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -4380,7 +4388,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.openPointInTimeForType.$1", + "id": "def-common.SavedObjectsClientContract.openPointInTimeForType.$1", "type": "CompoundType", "tags": [], "label": "type", @@ -4397,7 +4405,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.openPointInTimeForType.$2", + "id": "def-common.SavedObjectsClientContract.openPointInTimeForType.$2", "type": "Object", "tags": [], "label": "options", @@ -4407,9 +4415,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined" @@ -4426,7 +4434,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.closePointInTime", + "id": "def-common.SavedObjectsClientContract.closePointInTime", "type": "Function", "tags": [], "label": "closePointInTime", @@ -4437,17 +4445,17 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -4458,7 +4466,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.closePointInTime.$1", + "id": "def-common.SavedObjectsClientContract.closePointInTime.$1", "type": "string", "tags": [], "label": "id", @@ -4475,7 +4483,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.closePointInTime.$2", + "id": "def-common.SavedObjectsClientContract.closePointInTime.$2", "type": "Object", "tags": [], "label": "options", @@ -4485,9 +4493,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -4504,7 +4512,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.createPointInTimeFinder", + "id": "def-common.SavedObjectsClientContract.createPointInTimeFinder", "type": "Function", "tags": [], "label": "createPointInTimeFinder", @@ -4515,25 +4523,25 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -4544,7 +4552,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.createPointInTimeFinder.$1", + "id": "def-common.SavedObjectsClientContract.createPointInTimeFinder.$1", "type": "Object", "tags": [], "label": "findOptions", @@ -4554,9 +4562,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -4567,7 +4575,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.createPointInTimeFinder.$2", + "id": "def-common.SavedObjectsClientContract.createPointInTimeFinder.$2", "type": "Object", "tags": [], "label": "dependencies", @@ -4577,9 +4585,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -4596,7 +4604,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.collectMultiNamespaceReferences", + "id": "def-common.SavedObjectsClientContract.collectMultiNamespaceReferences", "type": "Function", "tags": [], "label": "collectMultiNamespaceReferences", @@ -4607,25 +4615,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -4636,7 +4644,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.collectMultiNamespaceReferences.$1", + "id": "def-common.SavedObjectsClientContract.collectMultiNamespaceReferences.$1", "type": "Array", "tags": [], "label": "objects", @@ -4646,9 +4654,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -4660,7 +4668,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.collectMultiNamespaceReferences.$2", + "id": "def-common.SavedObjectsClientContract.collectMultiNamespaceReferences.$2", "type": "Object", "tags": [], "label": "options", @@ -4670,9 +4678,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " | undefined" @@ -4689,7 +4697,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.updateObjectsSpaces", + "id": "def-common.SavedObjectsClientContract.updateObjectsSpaces", "type": "Function", "tags": [], "label": "updateObjectsSpaces", @@ -4700,25 +4708,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -4729,7 +4737,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.updateObjectsSpaces.$1", + "id": "def-common.SavedObjectsClientContract.updateObjectsSpaces.$1", "type": "Array", "tags": [], "label": "objects", @@ -4739,9 +4747,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -4753,7 +4761,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.updateObjectsSpaces.$2", + "id": "def-common.SavedObjectsClientContract.updateObjectsSpaces.$2", "type": "Array", "tags": [], "label": "spacesToAdd", @@ -4770,7 +4778,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.updateObjectsSpaces.$3", + "id": "def-common.SavedObjectsClientContract.updateObjectsSpaces.$3", "type": "Array", "tags": [], "label": "spacesToRemove", @@ -4787,7 +4795,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClientContract.updateObjectsSpaces.$4", + "id": "def-common.SavedObjectsClientContract.updateObjectsSpaces.$4", "type": "Object", "tags": [], "label": "options", @@ -4797,9 +4805,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " | undefined" @@ -4819,7 +4827,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClosePointInTimeResponse", + "id": "def-common.SavedObjectsClosePointInTimeResponse", "type": "Interface", "tags": [], "label": "SavedObjectsClosePointInTimeResponse", @@ -4832,7 +4840,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClosePointInTimeResponse.succeeded", + "id": "def-common.SavedObjectsClosePointInTimeResponse.succeeded", "type": "boolean", "tags": [], "label": "succeeded", @@ -4845,7 +4853,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClosePointInTimeResponse.num_freed", + "id": "def-common.SavedObjectsClosePointInTimeResponse.num_freed", "type": "number", "tags": [], "label": "num_freed", @@ -4861,7 +4869,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "type": "Interface", "tags": [], "label": "SavedObjectsCollectMultiNamespaceReferencesObject", @@ -4874,7 +4882,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject.id", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject.id", "type": "string", "tags": [], "label": "id", @@ -4887,7 +4895,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject.type", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject.type", "type": "string", "tags": [], "label": "type", @@ -4903,7 +4911,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "type": "Interface", "tags": [], "label": "SavedObjectsCollectMultiNamespaceReferencesOptions", @@ -4913,17 +4921,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -4933,7 +4941,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions.purpose", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions.purpose", "type": "CompoundType", "tags": [], "label": "purpose", @@ -4952,7 +4960,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "type": "Interface", "tags": [], "label": "SavedObjectsCollectMultiNamespaceReferencesResponse", @@ -4965,7 +4973,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse.objects", + "id": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse.objects", "type": "Array", "tags": [], "label": "objects", @@ -4975,9 +4983,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectReferenceWithContext", + "section": "def-common.SavedObjectReferenceWithContext", "text": "SavedObjectReferenceWithContext" }, "[]" @@ -4991,7 +4999,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions", + "id": "def-common.SavedObjectsCreateOptions", "type": "Interface", "tags": [], "label": "SavedObjectsCreateOptions", @@ -5001,17 +5009,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -5021,7 +5029,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.id", + "id": "def-common.SavedObjectsCreateOptions.id", "type": "string", "tags": [], "label": "id", @@ -5037,7 +5045,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.overwrite", + "id": "def-common.SavedObjectsCreateOptions.overwrite", "type": "CompoundType", "tags": [], "label": "overwrite", @@ -5053,7 +5061,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.version", + "id": "def-common.SavedObjectsCreateOptions.version", "type": "string", "tags": [], "label": "version", @@ -5069,7 +5077,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.migrationVersion", + "id": "def-common.SavedObjectsCreateOptions.migrationVersion", "type": "Object", "tags": [], "label": "migrationVersion", @@ -5092,7 +5100,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.coreMigrationVersion", + "id": "def-common.SavedObjectsCreateOptions.coreMigrationVersion", "type": "string", "tags": [], "label": "coreMigrationVersion", @@ -5108,7 +5116,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.references", + "id": "def-common.SavedObjectsCreateOptions.references", "type": "Array", "tags": [], "label": "references", @@ -5131,7 +5139,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.refresh", + "id": "def-common.SavedObjectsCreateOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -5141,9 +5149,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -5154,7 +5162,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.originId", + "id": "def-common.SavedObjectsCreateOptions.originId", "type": "string", "tags": [], "label": "originId", @@ -5170,7 +5178,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreateOptions.initialNamespaces", + "id": "def-common.SavedObjectsCreateOptions.initialNamespaces", "type": "Array", "tags": [], "label": "initialNamespaces", @@ -5189,7 +5197,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "id": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "type": "Interface", "tags": [], "label": "SavedObjectsCreatePointInTimeFinderDependencies", @@ -5202,7 +5210,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreatePointInTimeFinderDependencies.client", + "id": "def-common.SavedObjectsCreatePointInTimeFinderDependencies.client", "type": "Object", "tags": [], "label": "client", @@ -5213,9 +5221,9 @@ "{ find: (options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -5223,17 +5231,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">; closePointInTime: (id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -5241,17 +5249,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">; openPointInTimeForType: (type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -5259,9 +5267,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">; }" @@ -5275,7 +5283,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsDeleteByNamespaceOptions", + "id": "def-common.SavedObjectsDeleteByNamespaceOptions", "type": "Interface", "tags": [], "label": "SavedObjectsDeleteByNamespaceOptions", @@ -5285,17 +5293,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -5305,7 +5313,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsDeleteByNamespaceOptions.refresh", + "id": "def-common.SavedObjectsDeleteByNamespaceOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -5324,7 +5332,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsDeleteOptions", + "id": "def-common.SavedObjectsDeleteOptions", "type": "Interface", "tags": [], "label": "SavedObjectsDeleteOptions", @@ -5334,17 +5342,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -5354,7 +5362,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsDeleteOptions.refresh", + "id": "def-common.SavedObjectsDeleteOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -5364,9 +5372,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -5377,7 +5385,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsDeleteOptions.force", + "id": "def-common.SavedObjectsDeleteOptions.force", "type": "CompoundType", "tags": [], "label": "force", @@ -5396,7 +5404,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions", + "id": "def-common.SavedObjectsFindOptions", "type": "Interface", "tags": [], "label": "SavedObjectsFindOptions", @@ -5409,7 +5417,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.type", + "id": "def-common.SavedObjectsFindOptions.type", "type": "CompoundType", "tags": [], "label": "type", @@ -5425,7 +5433,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.page", + "id": "def-common.SavedObjectsFindOptions.page", "type": "number", "tags": [], "label": "page", @@ -5441,7 +5449,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.perPage", + "id": "def-common.SavedObjectsFindOptions.perPage", "type": "number", "tags": [], "label": "perPage", @@ -5457,7 +5465,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.sortField", + "id": "def-common.SavedObjectsFindOptions.sortField", "type": "string", "tags": [], "label": "sortField", @@ -5473,7 +5481,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.sortOrder", + "id": "def-common.SavedObjectsFindOptions.sortOrder", "type": "CompoundType", "tags": [], "label": "sortOrder", @@ -5490,7 +5498,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.fields", + "id": "def-common.SavedObjectsFindOptions.fields", "type": "Array", "tags": [], "label": "fields", @@ -5506,7 +5514,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.search", + "id": "def-common.SavedObjectsFindOptions.search", "type": "string", "tags": [], "label": "search", @@ -5522,7 +5530,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.searchFields", + "id": "def-common.SavedObjectsFindOptions.searchFields", "type": "Array", "tags": [], "label": "searchFields", @@ -5538,7 +5546,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.searchAfter", + "id": "def-common.SavedObjectsFindOptions.searchAfter", "type": "Array", "tags": [], "label": "searchAfter", @@ -5554,7 +5562,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.rootSearchFields", + "id": "def-common.SavedObjectsFindOptions.rootSearchFields", "type": "Array", "tags": [], "label": "rootSearchFields", @@ -5570,7 +5578,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.hasReference", + "id": "def-common.SavedObjectsFindOptions.hasReference", "type": "CompoundType", "tags": [], "label": "hasReference", @@ -5580,17 +5588,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -5601,7 +5609,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.hasReferenceOperator", + "id": "def-common.SavedObjectsFindOptions.hasReferenceOperator", "type": "CompoundType", "tags": [], "label": "hasReferenceOperator", @@ -5617,7 +5625,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.hasNoReference", + "id": "def-common.SavedObjectsFindOptions.hasNoReference", "type": "CompoundType", "tags": [], "label": "hasNoReference", @@ -5627,17 +5635,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -5648,7 +5656,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.hasNoReferenceOperator", + "id": "def-common.SavedObjectsFindOptions.hasNoReferenceOperator", "type": "CompoundType", "tags": [], "label": "hasNoReferenceOperator", @@ -5664,7 +5672,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.defaultSearchOperator", + "id": "def-common.SavedObjectsFindOptions.defaultSearchOperator", "type": "CompoundType", "tags": [], "label": "defaultSearchOperator", @@ -5680,7 +5688,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.filter", + "id": "def-common.SavedObjectsFindOptions.filter", "type": "Any", "tags": [], "label": "filter", @@ -5696,7 +5704,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.aggs", + "id": "def-common.SavedObjectsFindOptions.aggs", "type": "Object", "tags": [ "alpha" @@ -5716,7 +5724,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.namespaces", + "id": "def-common.SavedObjectsFindOptions.namespaces", "type": "Array", "tags": [], "label": "namespaces", @@ -5732,7 +5740,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.typeToNamespacesMap", + "id": "def-common.SavedObjectsFindOptions.typeToNamespacesMap", "type": "Object", "tags": [], "label": "typeToNamespacesMap", @@ -5748,7 +5756,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.preference", + "id": "def-common.SavedObjectsFindOptions.preference", "type": "string", "tags": [], "label": "preference", @@ -5764,7 +5772,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptions.pit", + "id": "def-common.SavedObjectsFindOptions.pit", "type": "Object", "tags": [], "label": "pit", @@ -5774,9 +5782,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsPitParams", + "section": "def-common.SavedObjectsPitParams", "text": "SavedObjectsPitParams" }, " | undefined" @@ -5790,7 +5798,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptionsReference", + "id": "def-common.SavedObjectsFindOptionsReference", "type": "Interface", "tags": [], "label": "SavedObjectsFindOptionsReference", @@ -5803,7 +5811,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptionsReference.type", + "id": "def-common.SavedObjectsFindOptionsReference.type", "type": "string", "tags": [], "label": "type", @@ -5816,7 +5824,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindOptionsReference.id", + "id": "def-common.SavedObjectsFindOptionsReference.id", "type": "string", "tags": [], "label": "id", @@ -5832,7 +5840,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse", + "id": "def-common.SavedObjectsFindResponse", "type": "Interface", "tags": [], "label": "SavedObjectsFindResponse", @@ -5842,9 +5850,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "" @@ -5855,7 +5863,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.aggregations", + "id": "def-common.SavedObjectsFindResponse.aggregations", "type": "Uncategorized", "tags": [], "label": "aggregations", @@ -5871,7 +5879,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.saved_objects", + "id": "def-common.SavedObjectsFindResponse.saved_objects", "type": "Array", "tags": [], "label": "saved_objects", @@ -5881,9 +5889,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResult", + "section": "def-common.SavedObjectsFindResult", "text": "SavedObjectsFindResult" }, "[]" @@ -5894,7 +5902,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.total", + "id": "def-common.SavedObjectsFindResponse.total", "type": "number", "tags": [], "label": "total", @@ -5907,7 +5915,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.per_page", + "id": "def-common.SavedObjectsFindResponse.per_page", "type": "number", "tags": [], "label": "per_page", @@ -5920,7 +5928,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.page", + "id": "def-common.SavedObjectsFindResponse.page", "type": "number", "tags": [], "label": "page", @@ -5933,7 +5941,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResponse.pit_id", + "id": "def-common.SavedObjectsFindResponse.pit_id", "type": "string", "tags": [], "label": "pit_id", @@ -5952,7 +5960,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResult", + "id": "def-common.SavedObjectsFindResult", "type": "Interface", "tags": [], "label": "SavedObjectsFindResult", @@ -5962,9 +5970,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResult", + "section": "def-common.SavedObjectsFindResult", "text": "SavedObjectsFindResult" }, " extends ", @@ -5983,7 +5991,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResult.score", + "id": "def-common.SavedObjectsFindResult.score", "type": "number", "tags": [], "label": "score", @@ -5996,7 +6004,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsFindResult.sort", + "id": "def-common.SavedObjectsFindResult.sort", "type": "Array", "tags": [], "label": "sort", @@ -6015,7 +6023,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterField", + "id": "def-common.SavedObjectsIncrementCounterField", "type": "Interface", "tags": [], "label": "SavedObjectsIncrementCounterField", @@ -6028,7 +6036,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterField.fieldName", + "id": "def-common.SavedObjectsIncrementCounterField.fieldName", "type": "string", "tags": [], "label": "fieldName", @@ -6041,7 +6049,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterField.incrementBy", + "id": "def-common.SavedObjectsIncrementCounterField.incrementBy", "type": "number", "tags": [], "label": "incrementBy", @@ -6060,7 +6068,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterOptions", + "id": "def-common.SavedObjectsIncrementCounterOptions", "type": "Interface", "tags": [], "label": "SavedObjectsIncrementCounterOptions", @@ -6070,17 +6078,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6090,7 +6098,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterOptions.initialize", + "id": "def-common.SavedObjectsIncrementCounterOptions.initialize", "type": "CompoundType", "tags": [], "label": "initialize", @@ -6106,7 +6114,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterOptions.migrationVersion", + "id": "def-common.SavedObjectsIncrementCounterOptions.migrationVersion", "type": "Object", "tags": [], "label": "migrationVersion", @@ -6129,7 +6137,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterOptions.refresh", + "id": "def-common.SavedObjectsIncrementCounterOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -6139,9 +6147,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -6152,7 +6160,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsIncrementCounterOptions.upsertAttributes", + "id": "def-common.SavedObjectsIncrementCounterOptions.upsertAttributes", "type": "Uncategorized", "tags": [], "label": "upsertAttributes", @@ -6171,7 +6179,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeOptions", + "id": "def-common.SavedObjectsOpenPointInTimeOptions", "type": "Interface", "tags": [], "label": "SavedObjectsOpenPointInTimeOptions", @@ -6184,7 +6192,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeOptions.keepAlive", + "id": "def-common.SavedObjectsOpenPointInTimeOptions.keepAlive", "type": "string", "tags": [], "label": "keepAlive", @@ -6200,7 +6208,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeOptions.preference", + "id": "def-common.SavedObjectsOpenPointInTimeOptions.preference", "type": "string", "tags": [], "label": "preference", @@ -6216,7 +6224,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeOptions.namespaces", + "id": "def-common.SavedObjectsOpenPointInTimeOptions.namespaces", "type": "Array", "tags": [], "label": "namespaces", @@ -6235,7 +6243,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeResponse", + "id": "def-common.SavedObjectsOpenPointInTimeResponse", "type": "Interface", "tags": [], "label": "SavedObjectsOpenPointInTimeResponse", @@ -6248,7 +6256,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsOpenPointInTimeResponse.id", + "id": "def-common.SavedObjectsOpenPointInTimeResponse.id", "type": "string", "tags": [], "label": "id", @@ -6264,7 +6272,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsPitParams", + "id": "def-common.SavedObjectsPitParams", "type": "Interface", "tags": [], "label": "SavedObjectsPitParams", @@ -6277,7 +6285,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsPitParams.id", + "id": "def-common.SavedObjectsPitParams.id", "type": "string", "tags": [], "label": "id", @@ -6290,7 +6298,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsPitParams.keepAlive", + "id": "def-common.SavedObjectsPitParams.keepAlive", "type": "string", "tags": [], "label": "keepAlive", @@ -6309,7 +6317,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsRemoveReferencesToOptions", + "id": "def-common.SavedObjectsRemoveReferencesToOptions", "type": "Interface", "tags": [], "label": "SavedObjectsRemoveReferencesToOptions", @@ -6319,17 +6327,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6339,7 +6347,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsRemoveReferencesToOptions.refresh", + "id": "def-common.SavedObjectsRemoveReferencesToOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -6358,7 +6366,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsRemoveReferencesToResponse", + "id": "def-common.SavedObjectsRemoveReferencesToResponse", "type": "Interface", "tags": [], "label": "SavedObjectsRemoveReferencesToResponse", @@ -6368,17 +6376,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6388,7 +6396,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsRemoveReferencesToResponse.updated", + "id": "def-common.SavedObjectsRemoveReferencesToResponse.updated", "type": "number", "tags": [], "label": "updated", @@ -6404,7 +6412,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsResolveResponse", + "id": "def-common.SavedObjectsResolveResponse", "type": "Interface", "tags": [], "label": "SavedObjectsResolveResponse", @@ -6414,9 +6422,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, "" @@ -6427,7 +6435,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsResolveResponse.saved_object", + "id": "def-common.SavedObjectsResolveResponse.saved_object", "type": "Object", "tags": [], "label": "saved_object", @@ -6450,7 +6458,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsResolveResponse.outcome", + "id": "def-common.SavedObjectsResolveResponse.outcome", "type": "CompoundType", "tags": [], "label": "outcome", @@ -6466,7 +6474,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsResolveResponse.alias_target_id", + "id": "def-common.SavedObjectsResolveResponse.alias_target_id", "type": "string", "tags": [], "label": "alias_target_id", @@ -6482,7 +6490,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsResolveResponse.alias_purpose", + "id": "def-common.SavedObjectsResolveResponse.alias_purpose", "type": "CompoundType", "tags": [], "label": "alias_purpose", @@ -6501,7 +6509,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "id": "def-common.SavedObjectsUpdateObjectsSpacesObject", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateObjectsSpacesObject", @@ -6514,7 +6522,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesObject.id", + "id": "def-common.SavedObjectsUpdateObjectsSpacesObject.id", "type": "string", "tags": [], "label": "id", @@ -6527,7 +6535,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesObject.type", + "id": "def-common.SavedObjectsUpdateObjectsSpacesObject.type", "type": "string", "tags": [], "label": "type", @@ -6543,7 +6551,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "id": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateObjectsSpacesOptions", @@ -6553,17 +6561,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6573,7 +6581,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesOptions.refresh", + "id": "def-common.SavedObjectsUpdateObjectsSpacesOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -6583,9 +6591,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -6599,7 +6607,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateObjectsSpacesResponse", @@ -6612,7 +6620,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponse.objects", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponse.objects", "type": "Array", "tags": [], "label": "objects", @@ -6622,9 +6630,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject", "text": "SavedObjectsUpdateObjectsSpacesResponseObject" }, "[]" @@ -6638,7 +6646,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateObjectsSpacesResponseObject", @@ -6651,7 +6659,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject.type", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject.type", "type": "string", "tags": [], "label": "type", @@ -6664,7 +6672,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject.id", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject.id", "type": "string", "tags": [], "label": "id", @@ -6677,7 +6685,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject.spaces", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject.spaces", "type": "Array", "tags": [], "label": "spaces", @@ -6693,7 +6701,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateObjectsSpacesResponseObject.error", + "id": "def-common.SavedObjectsUpdateObjectsSpacesResponseObject.error", "type": "Object", "tags": [], "label": "error", @@ -6719,7 +6727,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions", + "id": "def-common.SavedObjectsUpdateOptions", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateOptions", @@ -6729,17 +6737,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6749,7 +6757,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions.version", + "id": "def-common.SavedObjectsUpdateOptions.version", "type": "string", "tags": [], "label": "version", @@ -6765,7 +6773,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions.references", + "id": "def-common.SavedObjectsUpdateOptions.references", "type": "Array", "tags": [], "label": "references", @@ -6788,7 +6796,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions.refresh", + "id": "def-common.SavedObjectsUpdateOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -6798,9 +6806,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.MutatingOperationRefreshSetting", + "section": "def-common.MutatingOperationRefreshSetting", "text": "MutatingOperationRefreshSetting" }, " | undefined" @@ -6811,7 +6819,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions.upsert", + "id": "def-common.SavedObjectsUpdateOptions.upsert", "type": "Uncategorized", "tags": [], "label": "upsert", @@ -6827,7 +6835,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateOptions.retryOnConflict", + "id": "def-common.SavedObjectsUpdateOptions.retryOnConflict", "type": "number", "tags": [], "label": "retryOnConflict", @@ -6846,7 +6854,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateResponse", + "id": "def-common.SavedObjectsUpdateResponse", "type": "Interface", "tags": [], "label": "SavedObjectsUpdateResponse", @@ -6856,9 +6864,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, " extends Omit<", @@ -6877,7 +6885,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateResponse.attributes", + "id": "def-common.SavedObjectsUpdateResponse.attributes", "type": "Object", "tags": [], "label": "attributes", @@ -6893,7 +6901,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsUpdateResponse.references", + "id": "def-common.SavedObjectsUpdateResponse.references", "type": "Array", "tags": [], "label": "references", @@ -6922,7 +6930,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.MutatingOperationRefreshSetting", + "id": "def-common.MutatingOperationRefreshSetting", "type": "Type", "tags": [], "label": "MutatingOperationRefreshSetting", @@ -6939,7 +6947,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsClosePointInTimeOptions", + "id": "def-common.SavedObjectsClosePointInTimeOptions", "type": "Type", "tags": [], "label": "SavedObjectsClosePointInTimeOptions", @@ -6949,9 +6957,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -6962,7 +6970,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "id": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "type": "Type", "tags": [], "label": "SavedObjectsCreatePointInTimeFinderOptions", @@ -6977,33 +6985,33 @@ " | undefined; searchFields?: string[] | undefined; rootSearchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; namespaces?: string[] | undefined; typeToNamespacesMap?: Map | undefined; preference?: string | undefined; }" @@ -7015,7 +7023,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-server.SavedObjectsPointInTimeFinderClient", + "id": "def-common.SavedObjectsPointInTimeFinderClient", "type": "Type", "tags": [], "label": "SavedObjectsPointInTimeFinderClient", @@ -7026,9 +7034,9 @@ "{ find: (options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -7036,17 +7044,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">; closePointInTime: (id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -7054,17 +7062,17 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">; openPointInTimeForType: (type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, " | undefined, internalOptions?: ", @@ -7072,9 +7080,9 @@ " | undefined) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">; }" @@ -7086,13 +7094,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 6c2f0e1ee3a67..b9d79a0cc03d2 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 313 | 1 | 0 | 1 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_saved_objects_api_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_api_server_internal.devdocs.json index 56855e8310312..fdc24d8293354 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository", + "id": "def-common.SavedObjectsRepository", "type": "Class", "tags": [], "label": "SavedObjectsRepository", @@ -22,17 +30,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerInternalPluginApi", - "section": "def-server.SavedObjectsRepository", + "section": "def-common.SavedObjectsRepository", "text": "SavedObjectsRepository" }, " implements ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.create", + "id": "def-common.SavedObjectsRepository.create", "type": "Function", "tags": [], "label": "create", @@ -53,9 +61,9 @@ "(type: string, attributes: T, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, ") => Promise<", @@ -74,7 +82,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.create.$1", + "id": "def-common.SavedObjectsRepository.create.$1", "type": "string", "tags": [], "label": "type", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.create.$2", + "id": "def-common.SavedObjectsRepository.create.$2", "type": "Uncategorized", "tags": [], "label": "attributes", @@ -104,7 +112,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.create.$3", + "id": "def-common.SavedObjectsRepository.create.$3", "type": "Object", "tags": [], "label": "options", @@ -112,9 +120,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" } ], @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkCreate", + "id": "def-common.SavedObjectsRepository.bulkCreate", "type": "Function", "tags": [], "label": "bulkCreate", @@ -139,25 +147,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -168,7 +176,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkCreate.$1", + "id": "def-common.SavedObjectsRepository.bulkCreate.$1", "type": "Array", "tags": [], "label": "objects", @@ -176,9 +184,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkCreateObject", + "section": "def-common.SavedObjectsBulkCreateObject", "text": "SavedObjectsBulkCreateObject" }, "[]" @@ -190,7 +198,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkCreate.$2", + "id": "def-common.SavedObjectsRepository.bulkCreate.$2", "type": "Object", "tags": [], "label": "options", @@ -198,9 +206,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreateOptions", + "section": "def-common.SavedObjectsCreateOptions", "text": "SavedObjectsCreateOptions" } ], @@ -214,7 +222,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.checkConflicts", + "id": "def-common.SavedObjectsRepository.checkConflicts", "type": "Function", "tags": [], "label": "checkConflicts", @@ -225,25 +233,25 @@ "(objects?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsResponse", + "section": "def-common.SavedObjectsCheckConflictsResponse", "text": "SavedObjectsCheckConflictsResponse" }, ">" @@ -254,7 +262,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.checkConflicts.$1", + "id": "def-common.SavedObjectsRepository.checkConflicts.$1", "type": "Array", "tags": [], "label": "objects", @@ -262,9 +270,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCheckConflictsObject", + "section": "def-common.SavedObjectsCheckConflictsObject", "text": "SavedObjectsCheckConflictsObject" }, "[]" @@ -276,7 +284,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.checkConflicts.$2", + "id": "def-common.SavedObjectsRepository.checkConflicts.$2", "type": "Object", "tags": [], "label": "options", @@ -284,9 +292,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -300,7 +308,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.delete", + "id": "def-common.SavedObjectsRepository.delete", "type": "Function", "tags": [], "label": "delete", @@ -311,9 +319,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" }, ") => Promise<{}>" @@ -324,7 +332,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.delete.$1", + "id": "def-common.SavedObjectsRepository.delete.$1", "type": "string", "tags": [], "label": "type", @@ -339,7 +347,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.delete.$2", + "id": "def-common.SavedObjectsRepository.delete.$2", "type": "string", "tags": [], "label": "id", @@ -354,7 +362,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.delete.$3", + "id": "def-common.SavedObjectsRepository.delete.$3", "type": "Object", "tags": [], "label": "options", @@ -362,9 +370,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteOptions", + "section": "def-common.SavedObjectsDeleteOptions", "text": "SavedObjectsDeleteOptions" } ], @@ -378,7 +386,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkDelete", + "id": "def-common.SavedObjectsRepository.bulkDelete", "type": "Function", "tags": [], "label": "bulkDelete", @@ -389,25 +397,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, ">" @@ -418,7 +426,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkDelete.$1", + "id": "def-common.SavedObjectsRepository.bulkDelete.$1", "type": "Array", "tags": [], "label": "objects", @@ -426,9 +434,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteObject", + "section": "def-common.SavedObjectsBulkDeleteObject", "text": "SavedObjectsBulkDeleteObject" }, "[]" @@ -440,7 +448,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkDelete.$2", + "id": "def-common.SavedObjectsRepository.bulkDelete.$2", "type": "Object", "tags": [], "label": "options", @@ -448,9 +456,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteOptions", + "section": "def-common.SavedObjectsBulkDeleteOptions", "text": "SavedObjectsBulkDeleteOptions" } ], @@ -464,7 +472,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.deleteByNamespace", + "id": "def-common.SavedObjectsRepository.deleteByNamespace", "type": "Function", "tags": [], "label": "deleteByNamespace", @@ -475,9 +483,9 @@ "(namespace: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" }, ") => Promise" @@ -488,7 +496,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.deleteByNamespace.$1", + "id": "def-common.SavedObjectsRepository.deleteByNamespace.$1", "type": "string", "tags": [], "label": "namespace", @@ -503,7 +511,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.deleteByNamespace.$2", + "id": "def-common.SavedObjectsRepository.deleteByNamespace.$2", "type": "Object", "tags": [], "label": "options", @@ -511,9 +519,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsDeleteByNamespaceOptions", + "section": "def-common.SavedObjectsDeleteByNamespaceOptions", "text": "SavedObjectsDeleteByNamespaceOptions" } ], @@ -527,7 +535,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.find", + "id": "def-common.SavedObjectsRepository.find", "type": "Function", "tags": [], "label": "find", @@ -538,9 +546,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ", internalOptions?: ", @@ -548,9 +556,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, ">" @@ -561,7 +569,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.find.$1", + "id": "def-common.SavedObjectsRepository.find.$1", "type": "Object", "tags": [], "label": "options", @@ -569,9 +577,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -582,7 +590,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.find.$2", + "id": "def-common.SavedObjectsRepository.find.$2", "type": "Object", "tags": [], "label": "internalOptions", @@ -600,7 +608,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkGet", + "id": "def-common.SavedObjectsRepository.bulkGet", "type": "Function", "tags": [], "label": "bulkGet", @@ -611,25 +619,25 @@ "(objects?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResponse", + "section": "def-common.SavedObjectsBulkResponse", "text": "SavedObjectsBulkResponse" }, ">" @@ -640,7 +648,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkGet.$1", + "id": "def-common.SavedObjectsRepository.bulkGet.$1", "type": "Array", "tags": [], "label": "objects", @@ -648,9 +656,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkGetObject", + "section": "def-common.SavedObjectsBulkGetObject", "text": "SavedObjectsBulkGetObject" }, "[]" @@ -662,7 +670,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkGet.$2", + "id": "def-common.SavedObjectsRepository.bulkGet.$2", "type": "Object", "tags": [], "label": "options", @@ -670,9 +678,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -686,7 +694,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkResolve", + "id": "def-common.SavedObjectsRepository.bulkResolve", "type": "Function", "tags": [], "label": "bulkResolve", @@ -697,25 +705,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveResponse", + "section": "def-common.SavedObjectsBulkResolveResponse", "text": "SavedObjectsBulkResolveResponse" }, ">" @@ -726,7 +734,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkResolve.$1", + "id": "def-common.SavedObjectsRepository.bulkResolve.$1", "type": "Array", "tags": [], "label": "objects", @@ -734,9 +742,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkResolveObject", + "section": "def-common.SavedObjectsBulkResolveObject", "text": "SavedObjectsBulkResolveObject" }, "[]" @@ -748,7 +756,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkResolve.$2", + "id": "def-common.SavedObjectsRepository.bulkResolve.$2", "type": "Object", "tags": [], "label": "options", @@ -756,9 +764,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -772,7 +780,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.get", + "id": "def-common.SavedObjectsRepository.get", "type": "Function", "tags": [], "label": "get", @@ -783,9 +791,9 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", @@ -804,7 +812,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.get.$1", + "id": "def-common.SavedObjectsRepository.get.$1", "type": "string", "tags": [], "label": "type", @@ -819,7 +827,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.get.$2", + "id": "def-common.SavedObjectsRepository.get.$2", "type": "string", "tags": [], "label": "id", @@ -834,7 +842,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.get.$3", + "id": "def-common.SavedObjectsRepository.get.$3", "type": "Object", "tags": [], "label": "options", @@ -842,9 +850,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -858,7 +866,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.resolve", + "id": "def-common.SavedObjectsRepository.resolve", "type": "Function", "tags": [], "label": "resolve", @@ -869,17 +877,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsResolveResponse", + "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, ">" @@ -890,7 +898,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.resolve.$1", + "id": "def-common.SavedObjectsRepository.resolve.$1", "type": "string", "tags": [], "label": "type", @@ -905,7 +913,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.resolve.$2", + "id": "def-common.SavedObjectsRepository.resolve.$2", "type": "string", "tags": [], "label": "id", @@ -920,7 +928,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.resolve.$3", + "id": "def-common.SavedObjectsRepository.resolve.$3", "type": "Object", "tags": [], "label": "options", @@ -928,9 +936,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" } ], @@ -944,7 +952,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.update", + "id": "def-common.SavedObjectsRepository.update", "type": "Function", "tags": [], "label": "update", @@ -955,17 +963,17 @@ "(type: string, id: string, attributes: Partial, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateResponse", + "section": "def-common.SavedObjectsUpdateResponse", "text": "SavedObjectsUpdateResponse" }, ">" @@ -976,7 +984,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.update.$1", + "id": "def-common.SavedObjectsRepository.update.$1", "type": "string", "tags": [], "label": "type", @@ -991,7 +999,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.update.$2", + "id": "def-common.SavedObjectsRepository.update.$2", "type": "string", "tags": [], "label": "id", @@ -1006,7 +1014,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.update.$3", + "id": "def-common.SavedObjectsRepository.update.$3", "type": "Object", "tags": [], "label": "attributes", @@ -1021,7 +1029,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.update.$4", + "id": "def-common.SavedObjectsRepository.update.$4", "type": "Object", "tags": [], "label": "options", @@ -1029,9 +1037,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateOptions", + "section": "def-common.SavedObjectsUpdateOptions", "text": "SavedObjectsUpdateOptions" }, "" @@ -1046,7 +1054,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.collectMultiNamespaceReferences", + "id": "def-common.SavedObjectsRepository.collectMultiNamespaceReferences", "type": "Function", "tags": [], "label": "collectMultiNamespaceReferences", @@ -1057,25 +1065,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -1086,7 +1094,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.collectMultiNamespaceReferences.$1", + "id": "def-common.SavedObjectsRepository.collectMultiNamespaceReferences.$1", "type": "Array", "tags": [], "label": "objects", @@ -1094,9 +1102,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesObject", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesObject", "text": "SavedObjectsCollectMultiNamespaceReferencesObject" }, "[]" @@ -1108,7 +1116,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.collectMultiNamespaceReferences.$2", + "id": "def-common.SavedObjectsRepository.collectMultiNamespaceReferences.$2", "type": "Object", "tags": [], "label": "options", @@ -1116,9 +1124,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesOptions", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesOptions", "text": "SavedObjectsCollectMultiNamespaceReferencesOptions" } ], @@ -1132,7 +1140,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.updateObjectsSpaces", + "id": "def-common.SavedObjectsRepository.updateObjectsSpaces", "type": "Function", "tags": [], "label": "updateObjectsSpaces", @@ -1143,25 +1151,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[], spacesToAdd: string[], spacesToRemove: string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesResponse", + "section": "def-common.SavedObjectsUpdateObjectsSpacesResponse", "text": "SavedObjectsUpdateObjectsSpacesResponse" }, ">" @@ -1172,7 +1180,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.updateObjectsSpaces.$1", + "id": "def-common.SavedObjectsRepository.updateObjectsSpaces.$1", "type": "Array", "tags": [], "label": "objects", @@ -1180,9 +1188,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesObject", + "section": "def-common.SavedObjectsUpdateObjectsSpacesObject", "text": "SavedObjectsUpdateObjectsSpacesObject" }, "[]" @@ -1194,7 +1202,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.updateObjectsSpaces.$2", + "id": "def-common.SavedObjectsRepository.updateObjectsSpaces.$2", "type": "Array", "tags": [], "label": "spacesToAdd", @@ -1209,7 +1217,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.updateObjectsSpaces.$3", + "id": "def-common.SavedObjectsRepository.updateObjectsSpaces.$3", "type": "Array", "tags": [], "label": "spacesToRemove", @@ -1224,7 +1232,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.updateObjectsSpaces.$4", + "id": "def-common.SavedObjectsRepository.updateObjectsSpaces.$4", "type": "Object", "tags": [], "label": "options", @@ -1232,9 +1240,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsUpdateObjectsSpacesOptions", + "section": "def-common.SavedObjectsUpdateObjectsSpacesOptions", "text": "SavedObjectsUpdateObjectsSpacesOptions" } ], @@ -1248,7 +1256,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkUpdate", + "id": "def-common.SavedObjectsRepository.bulkUpdate", "type": "Function", "tags": [], "label": "bulkUpdate", @@ -1259,25 +1267,25 @@ "(objects: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateResponse", + "section": "def-common.SavedObjectsBulkUpdateResponse", "text": "SavedObjectsBulkUpdateResponse" }, ">" @@ -1288,7 +1296,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkUpdate.$1", + "id": "def-common.SavedObjectsRepository.bulkUpdate.$1", "type": "Array", "tags": [], "label": "objects", @@ -1296,9 +1304,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateObject", + "section": "def-common.SavedObjectsBulkUpdateObject", "text": "SavedObjectsBulkUpdateObject" }, "[]" @@ -1310,7 +1318,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.bulkUpdate.$2", + "id": "def-common.SavedObjectsRepository.bulkUpdate.$2", "type": "Object", "tags": [], "label": "options", @@ -1318,9 +1326,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkUpdateOptions", + "section": "def-common.SavedObjectsBulkUpdateOptions", "text": "SavedObjectsBulkUpdateOptions" } ], @@ -1334,7 +1342,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.removeReferencesTo", + "id": "def-common.SavedObjectsRepository.removeReferencesTo", "type": "Function", "tags": [], "label": "removeReferencesTo", @@ -1345,17 +1353,17 @@ "(type: string, id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToResponse", + "section": "def-common.SavedObjectsRemoveReferencesToResponse", "text": "SavedObjectsRemoveReferencesToResponse" }, ">" @@ -1366,7 +1374,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.removeReferencesTo.$1", + "id": "def-common.SavedObjectsRepository.removeReferencesTo.$1", "type": "string", "tags": [], "label": "type", @@ -1381,7 +1389,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.removeReferencesTo.$2", + "id": "def-common.SavedObjectsRepository.removeReferencesTo.$2", "type": "string", "tags": [], "label": "id", @@ -1396,7 +1404,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.removeReferencesTo.$3", + "id": "def-common.SavedObjectsRepository.removeReferencesTo.$3", "type": "Object", "tags": [], "label": "options", @@ -1404,9 +1412,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsRemoveReferencesToOptions", + "section": "def-common.SavedObjectsRemoveReferencesToOptions", "text": "SavedObjectsRemoveReferencesToOptions" } ], @@ -1420,7 +1428,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.incrementCounter", + "id": "def-common.SavedObjectsRepository.incrementCounter", "type": "Function", "tags": [], "label": "incrementCounter", @@ -1431,17 +1439,17 @@ "(type: string, id: string, counterFields: (string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined) => Promise<", @@ -1460,7 +1468,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.incrementCounter.$1", + "id": "def-common.SavedObjectsRepository.incrementCounter.$1", "type": "string", "tags": [], "label": "type", @@ -1475,7 +1483,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.incrementCounter.$2", + "id": "def-common.SavedObjectsRepository.incrementCounter.$2", "type": "string", "tags": [], "label": "id", @@ -1490,7 +1498,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.incrementCounter.$3", + "id": "def-common.SavedObjectsRepository.incrementCounter.$3", "type": "Array", "tags": [], "label": "counterFields", @@ -1499,9 +1507,9 @@ "(string | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterField", + "section": "def-common.SavedObjectsIncrementCounterField", "text": "SavedObjectsIncrementCounterField" }, ")[]" @@ -1513,7 +1521,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.incrementCounter.$4", + "id": "def-common.SavedObjectsRepository.incrementCounter.$4", "type": "Object", "tags": [], "label": "options", @@ -1521,9 +1529,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsIncrementCounterOptions", + "section": "def-common.SavedObjectsIncrementCounterOptions", "text": "SavedObjectsIncrementCounterOptions" }, " | undefined" @@ -1538,7 +1546,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.openPointInTimeForType", + "id": "def-common.SavedObjectsRepository.openPointInTimeForType", "type": "Function", "tags": [], "label": "openPointInTimeForType", @@ -1549,9 +1557,9 @@ "(type: string | string[], options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" }, ", internalOptions?: ", @@ -1559,9 +1567,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -1572,7 +1580,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.openPointInTimeForType.$1", + "id": "def-common.SavedObjectsRepository.openPointInTimeForType.$1", "type": "CompoundType", "tags": [], "label": "type", @@ -1587,7 +1595,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.openPointInTimeForType.$2", + "id": "def-common.SavedObjectsRepository.openPointInTimeForType.$2", "type": "Object", "tags": [], "label": "options", @@ -1595,9 +1603,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeOptions", + "section": "def-common.SavedObjectsOpenPointInTimeOptions", "text": "SavedObjectsOpenPointInTimeOptions" } ], @@ -1608,7 +1616,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.openPointInTimeForType.$3", + "id": "def-common.SavedObjectsRepository.openPointInTimeForType.$3", "type": "Object", "tags": [], "label": "internalOptions", @@ -1626,7 +1634,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.closePointInTime", + "id": "def-common.SavedObjectsRepository.closePointInTime", "type": "Function", "tags": [], "label": "closePointInTime", @@ -1637,9 +1645,9 @@ "(id: string, options?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined, internalOptions?: ", @@ -1647,9 +1655,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -1660,7 +1668,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.closePointInTime.$1", + "id": "def-common.SavedObjectsRepository.closePointInTime.$1", "type": "string", "tags": [], "label": "id", @@ -1675,7 +1683,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.closePointInTime.$2", + "id": "def-common.SavedObjectsRepository.closePointInTime.$2", "type": "Object", "tags": [], "label": "options", @@ -1683,9 +1691,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBaseOptions", + "section": "def-common.SavedObjectsBaseOptions", "text": "SavedObjectsBaseOptions" }, " | undefined" @@ -1697,7 +1705,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.closePointInTime.$3", + "id": "def-common.SavedObjectsRepository.closePointInTime.$3", "type": "Object", "tags": [], "label": "internalOptions", @@ -1715,7 +1723,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.createPointInTimeFinder", + "id": "def-common.SavedObjectsRepository.createPointInTimeFinder", "type": "Function", "tags": [], "label": "createPointInTimeFinder", @@ -1726,17 +1734,17 @@ "(findOptions: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" }, ", dependencies?: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined, internalOptions?: ", @@ -1744,9 +1752,9 @@ " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -1757,7 +1765,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.createPointInTimeFinder.$1", + "id": "def-common.SavedObjectsRepository.createPointInTimeFinder.$1", "type": "Object", "tags": [], "label": "findOptions", @@ -1765,9 +1773,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderOptions", + "section": "def-common.SavedObjectsCreatePointInTimeFinderOptions", "text": "SavedObjectsCreatePointInTimeFinderOptions" } ], @@ -1778,7 +1786,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.createPointInTimeFinder.$2", + "id": "def-common.SavedObjectsRepository.createPointInTimeFinder.$2", "type": "Object", "tags": [], "label": "dependencies", @@ -1786,9 +1794,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCreatePointInTimeFinderDependencies", + "section": "def-common.SavedObjectsCreatePointInTimeFinderDependencies", "text": "SavedObjectsCreatePointInTimeFinderDependencies" }, " | undefined" @@ -1800,7 +1808,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-internal", - "id": "def-server.SavedObjectsRepository.createPointInTimeFinder.$3", + "id": "def-common.SavedObjectsRepository.createPointInTimeFinder.$3", "type": "Object", "tags": [], "label": "internalOptions", @@ -1826,13 +1834,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_api_server_internal.mdx b/api_docs/kbn_core_saved_objects_api_server_internal.mdx index 564744443b2bd..799739bdaa5b3 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-internal title: "@kbn/core-saved-objects-api-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-internal'] --- import kbnCoreSavedObjectsApiServerInternalObj from './kbn_core_saved_objects_api_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 75 | 0 | 54 | 1 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.devdocs.json b/api_docs/kbn_core_saved_objects_api_server_mocks.devdocs.json index d6b0658caa47f..a85790d12bf9c 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsClientMock", + "id": "def-common.savedObjectsClientMock", "type": "Object", "tags": [], "label": "savedObjectsClientMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsClientMock.create", + "id": "def-common.savedObjectsClientMock.create", "type": "Function", "tags": [], "label": "create", @@ -37,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ">" @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsClientProviderMock", + "id": "def-common.savedObjectsClientProviderMock", "type": "Object", "tags": [], "label": "savedObjectsClientProviderMock", @@ -66,7 +74,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsClientProviderMock.create", + "id": "def-common.savedObjectsClientProviderMock.create", "type": "Function", "tags": [], "label": "create", @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsExtensionsMock", + "id": "def-common.savedObjectsExtensionsMock", "type": "Object", "tags": [], "label": "savedObjectsExtensionsMock", @@ -98,7 +106,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsExtensionsMock.create", + "id": "def-common.savedObjectsExtensionsMock.create", "type": "Function", "tags": [], "label": "create", @@ -107,9 +115,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, ">" @@ -122,7 +130,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsExtensionsMock.createEncryptionExtension", + "id": "def-common.savedObjectsExtensionsMock.createEncryptionExtension", "type": "Function", "tags": [], "label": "createEncryptionExtension", @@ -131,9 +139,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsEncryptionExtension", + "section": "def-common.ISavedObjectsEncryptionExtension", "text": "ISavedObjectsEncryptionExtension" }, ">" @@ -146,7 +154,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsExtensionsMock.createSecurityExtension", + "id": "def-common.savedObjectsExtensionsMock.createSecurityExtension", "type": "Function", "tags": [], "label": "createSecurityExtension", @@ -155,9 +163,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSecurityExtension", + "section": "def-common.ISavedObjectsSecurityExtension", "text": "ISavedObjectsSecurityExtension" }, ">" @@ -170,7 +178,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsExtensionsMock.createSpacesExtension", + "id": "def-common.savedObjectsExtensionsMock.createSpacesExtension", "type": "Function", "tags": [], "label": "createSpacesExtension", @@ -179,9 +187,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSpacesExtension", + "section": "def-common.ISavedObjectsSpacesExtension", "text": "ISavedObjectsSpacesExtension" }, ">" @@ -197,7 +205,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsRepositoryMock", + "id": "def-common.savedObjectsRepositoryMock", "type": "Object", "tags": [], "label": "savedObjectsRepositoryMock", @@ -208,7 +216,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-api-server-mocks", - "id": "def-server.savedObjectsRepositoryMock.create", + "id": "def-common.savedObjectsRepositoryMock.create", "type": "Function", "tags": [], "label": "create", @@ -217,9 +225,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" }, ">" @@ -234,13 +242,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index a7c93cfe47496..5f946d51ea067 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 11 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json index d0b90ce8141cc..059bd4e975777 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig", + "id": "def-common.SavedObjectConfig", "type": "Class", "tags": [], "label": "SavedObjectConfig", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.maxImportPayloadBytes", + "id": "def-common.SavedObjectConfig.maxImportPayloadBytes", "type": "number", "tags": [], "label": "maxImportPayloadBytes", @@ -34,7 +42,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.maxImportExportSize", + "id": "def-common.SavedObjectConfig.maxImportExportSize", "type": "number", "tags": [], "label": "maxImportExportSize", @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.migration", + "id": "def-common.SavedObjectConfig.migration", "type": "Object", "tags": [], "label": "migration", @@ -54,9 +62,9 @@ "{ readonly discardUnknownObjects?: string | undefined; readonly discardCorruptObjects?: string | undefined; readonly pollInterval: number; readonly skip: boolean; readonly batchSize: number; readonly maxBatchSizeBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.Unnamed", + "id": "def-common.SavedObjectConfig.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -81,7 +89,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.Unnamed.$1", + "id": "def-common.SavedObjectConfig.Unnamed.$1", "type": "Object", "tags": [], "label": "rawConfig", @@ -90,9 +98,9 @@ "Readonly<{} & { maxImportPayloadBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; maxImportExportSize: number; }>" @@ -104,7 +112,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectConfig.Unnamed.$2", + "id": "def-common.SavedObjectConfig.Unnamed.$2", "type": "Object", "tags": [], "label": "rawMigrationConfig", @@ -113,9 +121,9 @@ "Readonly<{ discardUnknownObjects?: string | undefined; discardCorruptObjects?: string | undefined; } & { pollInterval: number; skip: boolean; batchSize: number; maxBatchSizeBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; scrollDuration: string; retryAttempts: number; }>" @@ -135,7 +143,7 @@ "functions": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.decodeRequestVersion", + "id": "def-common.decodeRequestVersion", "type": "Function", "tags": [], "label": "decodeRequestVersion", @@ -151,7 +159,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.decodeRequestVersion.$1", + "id": "def-common.decodeRequestVersion.$1", "type": "string", "tags": [], "label": "version", @@ -170,7 +178,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.decodeVersion", + "id": "def-common.decodeVersion", "type": "Function", "tags": [], "label": "decodeVersion", @@ -186,7 +194,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.decodeVersion.$1", + "id": "def-common.decodeVersion.$1", "type": "string", "tags": [], "label": "version", @@ -205,7 +213,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeHitVersion", + "id": "def-common.encodeHitVersion", "type": "Function", "tags": [], "label": "encodeHitVersion", @@ -221,7 +229,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeHitVersion.$1", + "id": "def-common.encodeHitVersion.$1", "type": "Object", "tags": [], "label": "response", @@ -232,7 +240,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeHitVersion.$1._seq_no", + "id": "def-common.encodeHitVersion.$1._seq_no", "type": "number", "tags": [], "label": "_seq_no", @@ -246,7 +254,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeHitVersion.$1._primary_term", + "id": "def-common.encodeHitVersion.$1._primary_term", "type": "number", "tags": [], "label": "_primary_term", @@ -266,7 +274,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeVersion", + "id": "def-common.encodeVersion", "type": "Function", "tags": [], "label": "encodeVersion", @@ -282,7 +290,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeVersion.$1", + "id": "def-common.encodeVersion.$1", "type": "number", "tags": [], "label": "seqNo", @@ -297,7 +305,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.encodeVersion.$2", + "id": "def-common.encodeVersion.$2", "type": "number", "tags": [], "label": "primaryTerm", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getIndexForType", + "id": "def-common.getIndexForType", "type": "Function", "tags": [], "label": "getIndexForType", @@ -330,7 +338,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getIndexForType.$1", + "id": "def-common.getIndexForType.$1", "type": "Object", "tags": [], "label": "{\n type,\n typeRegistry,\n defaultIndex,\n kibanaVersion,\n}", @@ -349,7 +357,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getProperty", + "id": "def-common.getProperty", "type": "Function", "tags": [], "label": "getProperty", @@ -358,9 +366,9 @@ "(mappings: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsFieldMapping", + "section": "def-common.SavedObjectsFieldMapping", "text": "SavedObjectsFieldMapping" }, " | ", @@ -368,9 +376,9 @@ ", path: string | string[]) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsFieldMapping", + "section": "def-common.SavedObjectsFieldMapping", "text": "SavedObjectsFieldMapping" }, " | undefined" @@ -381,7 +389,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getProperty.$1", + "id": "def-common.getProperty.$1", "type": "CompoundType", "tags": [], "label": "mappings", @@ -389,9 +397,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsFieldMapping", + "section": "def-common.SavedObjectsFieldMapping", "text": "SavedObjectsFieldMapping" }, " | ", @@ -404,7 +412,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getProperty.$2", + "id": "def-common.getProperty.$2", "type": "CompoundType", "tags": [], "label": "path", @@ -423,7 +431,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getRootProperties", + "id": "def-common.getRootProperties", "type": "Function", "tags": [], "label": "getRootProperties", @@ -436,9 +444,9 @@ ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" } ], @@ -448,7 +456,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getRootProperties.$1", + "id": "def-common.getRootProperties.$1", "type": "Object", "tags": [], "label": "mapping", @@ -467,7 +475,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getRootPropertiesObjects", + "id": "def-common.getRootPropertiesObjects", "type": "Function", "tags": [], "label": "getRootPropertiesObjects", @@ -478,9 +486,9 @@ ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" } ], @@ -490,7 +498,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getRootPropertiesObjects.$1", + "id": "def-common.getRootPropertiesObjects.$1", "type": "Object", "tags": [], "label": "mappings", @@ -509,7 +517,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getTypes", + "id": "def-common.getTypes", "type": "Function", "tags": [], "label": "getTypes", @@ -527,7 +535,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.getTypes.$1", + "id": "def-common.getTypes.$1", "type": "Object", "tags": [], "label": "mappings", @@ -550,7 +558,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectsConfigType", + "id": "def-common.SavedObjectsConfigType", "type": "Type", "tags": [], "label": "SavedObjectsConfigType", @@ -559,9 +567,9 @@ "{ readonly maxImportPayloadBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; readonly maxImportExportSize: number; }" @@ -573,7 +581,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.SavedObjectsMigrationConfigType", + "id": "def-common.SavedObjectsMigrationConfigType", "type": "Type", "tags": [], "label": "SavedObjectsMigrationConfigType", @@ -582,9 +590,9 @@ "{ readonly discardUnknownObjects?: string | undefined; readonly discardCorruptObjects?: string | undefined; readonly pollInterval: number; readonly skip: boolean; readonly batchSize: number; readonly maxBatchSizeBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" @@ -598,7 +606,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsConfig", + "id": "def-common.savedObjectsConfig", "type": "Object", "tags": [], "label": "savedObjectsConfig", @@ -609,7 +617,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsConfig.path", + "id": "def-common.savedObjectsConfig.path", "type": "string", "tags": [], "label": "path", @@ -620,7 +628,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsConfig.schema", + "id": "def-common.savedObjectsConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -628,33 +636,33 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ maxImportPayloadBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ">; maxImportExportSize: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -668,7 +676,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsMigrationConfig", + "id": "def-common.savedObjectsMigrationConfig", "type": "Object", "tags": [], "label": "savedObjectsMigrationConfig", @@ -679,7 +687,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsMigrationConfig.path", + "id": "def-common.savedObjectsMigrationConfig.path", "type": "string", "tags": [], "label": "path", @@ -690,7 +698,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-server.savedObjectsMigrationConfig.schema", + "id": "def-common.savedObjectsMigrationConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -698,81 +706,81 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ batchSize: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; maxBatchSizeBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ">; discardUnknownObjects: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; discardCorruptObjects: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; scrollDuration: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; pollInterval: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; skip: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; retryAttempts: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -785,13 +793,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index d4651452591ef..fae8ef0a06b03 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 37 | 0 | 31 | 6 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.devdocs.json b/api_docs/kbn_core_saved_objects_base_server_mocks.devdocs.json index 764ca03709e88..deba719927887 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-mocks", - "id": "def-server.serializerMock", + "id": "def-common.serializerMock", "type": "Object", "tags": [], "label": "serializerMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-mocks", - "id": "def-server.serializerMock.create", + "id": "def-common.serializerMock.create", "type": "Function", "tags": [], "label": "create", @@ -37,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSerializer", + "section": "def-common.ISavedObjectsSerializer", "text": "ISavedObjectsSerializer" }, ">" @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-mocks", - "id": "def-server.typeRegistryMock", + "id": "def-common.typeRegistryMock", "type": "Object", "tags": [], "label": "typeRegistryMock", @@ -66,7 +74,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-base-server-mocks", - "id": "def-server.typeRegistryMock.create", + "id": "def-common.typeRegistryMock.create", "type": "Function", "tags": [], "label": "create", @@ -75,9 +83,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, " & Pick<", @@ -94,13 +102,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 4b2063e58cb5d..850804c8bd34f 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 0cf028cc6ac43..b34b4aab14fa0 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index e29e0b7fdf33a..44aeda68cc10f 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 7bf9ee593c7ac..0f01956013c5c 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 3108e79008399..68434e5fe864c 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_import_export_server_internal.devdocs.json index 82eee4c2e14fb..5b11e51ca1586 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError", + "id": "def-common.SavedObjectsExportError", "type": "Class", "tags": [], "label": "SavedObjectsExportError", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" }, " extends Error" @@ -33,7 +41,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.Unnamed", + "id": "def-common.SavedObjectsExportError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -47,7 +55,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.Unnamed.$1", + "id": "def-common.SavedObjectsExportError.Unnamed.$1", "type": "string", "tags": [], "label": "type", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.Unnamed.$2", + "id": "def-common.SavedObjectsExportError.Unnamed.$2", "type": "string", "tags": [], "label": "message", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.Unnamed.$3", + "id": "def-common.SavedObjectsExportError.Unnamed.$3", "type": "Object", "tags": [], "label": "attributes", @@ -95,7 +103,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.exportSizeExceeded", + "id": "def-common.SavedObjectsExportError.exportSizeExceeded", "type": "Function", "tags": [], "label": "exportSizeExceeded", @@ -104,9 +112,9 @@ "(limit: number) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -116,7 +124,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.exportSizeExceeded.$1", + "id": "def-common.SavedObjectsExportError.exportSizeExceeded.$1", "type": "number", "tags": [], "label": "limit", @@ -134,7 +142,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.objectFetchError", + "id": "def-common.SavedObjectsExportError.objectFetchError", "type": "Function", "tags": [], "label": "objectFetchError", @@ -151,9 +159,9 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -163,7 +171,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.objectFetchError.$1", + "id": "def-common.SavedObjectsExportError.objectFetchError.$1", "type": "Array", "tags": [], "label": "objects", @@ -188,7 +196,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.objectTransformError", + "id": "def-common.SavedObjectsExportError.objectTransformError", "type": "Function", "tags": [], "label": "objectTransformError", @@ -207,9 +215,9 @@ "[], cause: Error) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -219,7 +227,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.objectTransformError.$1", + "id": "def-common.SavedObjectsExportError.objectTransformError.$1", "type": "Array", "tags": [], "label": "objects", @@ -241,7 +249,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.objectTransformError.$2", + "id": "def-common.SavedObjectsExportError.objectTransformError.$2", "type": "Object", "tags": [], "label": "cause", @@ -259,7 +267,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.invalidTransformError", + "id": "def-common.SavedObjectsExportError.invalidTransformError", "type": "Function", "tags": [], "label": "invalidTransformError", @@ -270,9 +278,9 @@ "(objectKeys: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsExportError", + "section": "def-common.SavedObjectsExportError", "text": "SavedObjectsExportError" } ], @@ -282,7 +290,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsExportError.invalidTransformError.$1", + "id": "def-common.SavedObjectsExportError.invalidTransformError.$1", "type": "Array", "tags": [], "label": "objectKeys", @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError", + "id": "def-common.SavedObjectsImportError", "type": "Class", "tags": [], "label": "SavedObjectsImportError", @@ -311,9 +319,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" }, " extends Error" @@ -324,7 +332,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.importSizeExceeded", + "id": "def-common.SavedObjectsImportError.importSizeExceeded", "type": "Function", "tags": [], "label": "importSizeExceeded", @@ -333,9 +341,9 @@ "(limit: number) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -345,7 +353,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.importSizeExceeded.$1", + "id": "def-common.SavedObjectsImportError.importSizeExceeded.$1", "type": "number", "tags": [], "label": "limit", @@ -363,7 +371,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueImportObjects", + "id": "def-common.SavedObjectsImportError.nonUniqueImportObjects", "type": "Function", "tags": [], "label": "nonUniqueImportObjects", @@ -372,9 +380,9 @@ "(nonUniqueEntries: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -384,7 +392,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueImportObjects.$1", + "id": "def-common.SavedObjectsImportError.nonUniqueImportObjects.$1", "type": "Array", "tags": [], "label": "nonUniqueEntries", @@ -402,7 +410,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueRetryObjects", + "id": "def-common.SavedObjectsImportError.nonUniqueRetryObjects", "type": "Function", "tags": [], "label": "nonUniqueRetryObjects", @@ -411,9 +419,9 @@ "(nonUniqueRetryObjects: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -423,7 +431,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueRetryObjects.$1", + "id": "def-common.SavedObjectsImportError.nonUniqueRetryObjects.$1", "type": "Array", "tags": [], "label": "nonUniqueRetryObjects", @@ -441,7 +449,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueRetryDestinations", + "id": "def-common.SavedObjectsImportError.nonUniqueRetryDestinations", "type": "Function", "tags": [], "label": "nonUniqueRetryDestinations", @@ -450,9 +458,9 @@ "(nonUniqueRetryDestinations: string[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -462,7 +470,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.nonUniqueRetryDestinations.$1", + "id": "def-common.SavedObjectsImportError.nonUniqueRetryDestinations.$1", "type": "Array", "tags": [], "label": "nonUniqueRetryDestinations", @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.referencesFetchError", + "id": "def-common.SavedObjectsImportError.referencesFetchError", "type": "Function", "tags": [], "label": "referencesFetchError", @@ -497,9 +505,9 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-import-export-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsImportExportServerInternalPluginApi", - "section": "def-server.SavedObjectsImportError", + "section": "def-common.SavedObjectsImportError", "text": "SavedObjectsImportError" } ], @@ -509,7 +517,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-internal", - "id": "def-server.SavedObjectsImportError.referencesFetchError.$1", + "id": "def-common.SavedObjectsImportError.referencesFetchError.$1", "type": "Array", "tags": [], "label": "objects", @@ -541,13 +549,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 12b5dd8fc5914..16d9e296bd4c5 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 25 | 0 | 23 | 0 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.devdocs.json b/api_docs/kbn_core_saved_objects_import_export_server_mocks.devdocs.json index 1b61975574e79..05f38793a0504 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-mocks", - "id": "def-server.savedObjectsExporterMock", + "id": "def-common.savedObjectsExporterMock", "type": "Object", "tags": [], "label": "savedObjectsExporterMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-mocks", - "id": "def-server.savedObjectsExporterMock.create", + "id": "def-common.savedObjectsExporterMock.create", "type": "Function", "tags": [], "label": "create", @@ -37,9 +45,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" }, ">" @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-import-export-server-mocks", - "id": "def-server.savedObjectsImporterMock", + "id": "def-common.savedObjectsImporterMock", "type": "Object", "tags": [], "label": "savedObjectsImporterMock", @@ -66,7 +74,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-import-export-server-mocks", - "id": "def-server.savedObjectsImporterMock.create", + "id": "def-common.savedObjectsImporterMock.create", "type": "Function", "tags": [], "label": "create", @@ -75,9 +83,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" }, ">" @@ -92,13 +100,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index ef20f7e655932..4e86e961ad03c 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index 55eb0208056bf..da558258bcf54 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator", + "id": "def-common.DocumentMigrator", "type": "Class", "tags": [], "label": "DocumentMigrator", @@ -22,9 +30,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.DocumentMigrator", + "section": "def-common.DocumentMigrator", "text": "DocumentMigrator" }, " implements ", @@ -36,7 +44,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.Unnamed", + "id": "def-common.DocumentMigrator.Unnamed", "type": "Function", "tags": [ "prop", @@ -58,7 +66,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.Unnamed.$1", + "id": "def-common.DocumentMigrator.Unnamed.$1", "type": "Object", "tags": [], "label": "{ typeRegistry, kibanaVersion, convertVersion, log }", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.migrationVersion", + "id": "def-common.DocumentMigrator.migrationVersion", "type": "Object", "tags": [ "readonly", @@ -102,7 +110,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.prepareMigrations", + "id": "def-common.DocumentMigrator.prepareMigrations", "type": "Function", "tags": [ "memberof" @@ -122,7 +130,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.migrate", + "id": "def-common.DocumentMigrator.migrate", "type": "Function", "tags": [ "memberof" @@ -135,17 +143,17 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -156,7 +164,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.migrate.$1", + "id": "def-common.DocumentMigrator.migrate.$1", "type": "CompoundType", "tags": [], "label": "doc", @@ -164,9 +172,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -181,7 +189,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.migrateAndConvert", + "id": "def-common.DocumentMigrator.migrateAndConvert", "type": "Function", "tags": [ "memberof" @@ -194,17 +202,17 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "[]" @@ -215,7 +223,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentMigrator.migrateAndConvert.$1", + "id": "def-common.DocumentMigrator.migrateAndConvert.$1", "type": "CompoundType", "tags": [], "label": "doc", @@ -223,9 +231,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -243,7 +251,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator", + "id": "def-common.KibanaMigrator", "type": "Class", "tags": [], "label": "KibanaMigrator", @@ -253,9 +261,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.KibanaMigrator", + "section": "def-common.KibanaMigrator", "text": "KibanaMigrator" }, " implements ", @@ -267,7 +275,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.kibanaVersion", + "id": "def-common.KibanaMigrator.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -278,7 +286,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.Unnamed", + "id": "def-common.KibanaMigrator.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -294,7 +302,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.Unnamed.$1", + "id": "def-common.KibanaMigrator.Unnamed.$1", "type": "Object", "tags": [], "label": "{\n client,\n typeRegistry,\n kibanaIndex,\n soMigrationsConfig,\n kibanaVersion,\n logger,\n docLinks,\n waitForMigrationCompletion,\n }", @@ -302,9 +310,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.KibanaMigratorOptions", + "section": "def-common.KibanaMigratorOptions", "text": "KibanaMigratorOptions" } ], @@ -318,7 +326,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.runMigrations", + "id": "def-common.KibanaMigrator.runMigrations", "type": "Function", "tags": [], "label": "runMigrations", @@ -334,7 +342,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.runMigrations.$1", + "id": "def-common.KibanaMigrator.runMigrations.$1", "type": "Object", "tags": [], "label": "{ rerun = false }", @@ -345,7 +353,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.runMigrations.$1.rerun", + "id": "def-common.KibanaMigrator.runMigrations.$1.rerun", "type": "CompoundType", "tags": [], "label": "rerun", @@ -364,7 +372,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.prepareMigrations", + "id": "def-common.KibanaMigrator.prepareMigrations", "type": "Function", "tags": [], "label": "prepareMigrations", @@ -380,7 +388,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.getStatus$", + "id": "def-common.KibanaMigrator.getStatus$", "type": "Function", "tags": [], "label": "getStatus$", @@ -400,7 +408,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.getActiveMappings", + "id": "def-common.KibanaMigrator.getActiveMappings", "type": "Function", "tags": [], "label": "getActiveMappings", @@ -417,7 +425,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.migrateDocument", + "id": "def-common.KibanaMigrator.migrateDocument", "type": "Function", "tags": [], "label": "migrateDocument", @@ -426,17 +434,17 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -447,7 +455,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigrator.migrateDocument.$1", + "id": "def-common.KibanaMigrator.migrateDocument.$1", "type": "CompoundType", "tags": [], "label": "doc", @@ -455,9 +463,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -477,7 +485,7 @@ "functions": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.addExcludedTypesToBoolQuery", + "id": "def-common.addExcludedTypesToBoolQuery", "type": "Function", "tags": [], "label": "addExcludedTypesToBoolQuery", @@ -496,7 +504,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.addExcludedTypesToBoolQuery.$1", + "id": "def-common.addExcludedTypesToBoolQuery.$1", "type": "Array", "tags": [], "label": "types", @@ -513,7 +521,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.addExcludedTypesToBoolQuery.$2", + "id": "def-common.addExcludedTypesToBoolQuery.$2", "type": "Object", "tags": [], "label": "boolQuery", @@ -537,7 +545,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.buildActiveMappings", + "id": "def-common.buildActiveMappings", "type": "Function", "tags": [], "label": "buildActiveMappings", @@ -548,9 +556,9 @@ "(typeDefinitions: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" }, " | ", @@ -564,7 +572,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.buildActiveMappings.$1", + "id": "def-common.buildActiveMappings.$1", "type": "CompoundType", "tags": [], "label": "typeDefinitions", @@ -574,9 +582,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" }, " | ", @@ -593,7 +601,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.bulkOverwriteTransformedDocuments", + "id": "def-common.bulkOverwriteTransformedDocuments", "type": "Function", "tags": [], "label": "bulkOverwriteTransformedDocuments", @@ -621,7 +629,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.bulkOverwriteTransformedDocuments.$1", + "id": "def-common.bulkOverwriteTransformedDocuments.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n transformedDocs,\n refresh = false,\n }", @@ -640,7 +648,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.calculateExcludeFilters", + "id": "def-common.calculateExcludeFilters", "type": "Function", "tags": [], "label": "calculateExcludeFilters", @@ -662,7 +670,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.calculateExcludeFilters.$1", + "id": "def-common.calculateExcludeFilters.$1", "type": "Object", "tags": [], "label": "{\n client,\n excludeFromUpgradeFilterHooks,\n hookTimeoutMs = 30_000, // default to 30s, exposed for testing\n }", @@ -681,7 +689,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.checkForUnknownDocs", + "id": "def-common.checkForUnknownDocs", "type": "Function", "tags": [], "label": "checkForUnknownDocs", @@ -703,7 +711,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.checkForUnknownDocs.$1", + "id": "def-common.checkForUnknownDocs.$1", "type": "Object", "tags": [], "label": "{\n client,\n indexName,\n excludeOnUpgradeQuery,\n knownTypes,\n }", @@ -722,7 +730,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.cloneIndex", + "id": "def-common.cloneIndex", "type": "Function", "tags": [], "label": "cloneIndex", @@ -752,7 +760,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.cloneIndex.$1", + "id": "def-common.cloneIndex.$1", "type": "Object", "tags": [], "label": "{\n client,\n source,\n target,\n timeout = DEFAULT_TIMEOUT,\n}", @@ -771,7 +779,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.closePit", + "id": "def-common.closePit", "type": "Function", "tags": [], "label": "closePit", @@ -791,7 +799,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.closePit.$1", + "id": "def-common.closePit.$1", "type": "Object", "tags": [], "label": "{ client, pitId }", @@ -810,7 +818,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.createIndex", + "id": "def-common.createIndex", "type": "Function", "tags": [], "label": "createIndex", @@ -836,7 +844,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.createIndex.$1", + "id": "def-common.createIndex.$1", "type": "Object", "tags": [], "label": "{\n client,\n indexName,\n mappings,\n aliases = [],\n timeout = DEFAULT_TIMEOUT,\n}", @@ -855,7 +863,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.fetchIndices", + "id": "def-common.fetchIndices", "type": "Function", "tags": [], "label": "fetchIndices", @@ -879,7 +887,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.fetchIndices.$1", + "id": "def-common.fetchIndices.$1", "type": "Object", "tags": [], "label": "{\n client,\n indices,\n }", @@ -898,7 +906,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.initAction", + "id": "def-common.initAction", "type": "Function", "tags": [], "label": "initAction", @@ -922,7 +930,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.initAction.$1", + "id": "def-common.initAction.$1", "type": "Object", "tags": [], "label": "{\n client,\n indices,\n}", @@ -941,7 +949,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isClusterShardLimitExceeded", + "id": "def-common.isClusterShardLimitExceeded", "type": "Function", "tags": [], "label": "isClusterShardLimitExceeded", @@ -957,7 +965,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isClusterShardLimitExceeded.$1", + "id": "def-common.isClusterShardLimitExceeded.$1", "type": "CompoundType", "tags": [], "label": "errorCause", @@ -977,7 +985,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isIncompatibleMappingException", + "id": "def-common.isIncompatibleMappingException", "type": "Function", "tags": [], "label": "isIncompatibleMappingException", @@ -993,7 +1001,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isIncompatibleMappingException.$1", + "id": "def-common.isIncompatibleMappingException.$1", "type": "CompoundType", "tags": [], "label": "errorCause", @@ -1013,7 +1021,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isIndexNotFoundException", + "id": "def-common.isIndexNotFoundException", "type": "Function", "tags": [], "label": "isIndexNotFoundException", @@ -1029,7 +1037,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isIndexNotFoundException.$1", + "id": "def-common.isIndexNotFoundException.$1", "type": "CompoundType", "tags": [], "label": "errorCause", @@ -1049,7 +1057,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isWriteBlockException", + "id": "def-common.isWriteBlockException", "type": "Function", "tags": [], "label": "isWriteBlockException", @@ -1065,7 +1073,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.isWriteBlockException.$1", + "id": "def-common.isWriteBlockException.$1", "type": "CompoundType", "tags": [], "label": "errorCause", @@ -1085,7 +1093,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.mergeTypes", + "id": "def-common.mergeTypes", "type": "Function", "tags": [], "label": "mergeTypes", @@ -1096,9 +1104,9 @@ "(types: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]) => ", @@ -1110,7 +1118,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.mergeTypes.$1", + "id": "def-common.mergeTypes.$1", "type": "Array", "tags": [], "label": "types", @@ -1118,9 +1126,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -1136,7 +1144,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.openPit", + "id": "def-common.openPit", "type": "Function", "tags": [], "label": "openPit", @@ -1158,7 +1166,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.openPit.$1", + "id": "def-common.openPit.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n }", @@ -1177,7 +1185,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.pickupUpdatedMappings", + "id": "def-common.pickupUpdatedMappings", "type": "Function", "tags": [], "label": "pickupUpdatedMappings", @@ -1188,9 +1196,9 @@ "(client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", index: string) => ", @@ -1200,9 +1208,9 @@ ", ", { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.UpdateByQueryResponse", + "section": "def-common.UpdateByQueryResponse", "text": "UpdateByQueryResponse" }, ">" @@ -1213,7 +1221,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.pickupUpdatedMappings.$1", + "id": "def-common.pickupUpdatedMappings.$1", "type": "Object", "tags": [], "label": "client", @@ -1221,9 +1229,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -1234,7 +1242,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.pickupUpdatedMappings.$2", + "id": "def-common.pickupUpdatedMappings.$2", "type": "string", "tags": [], "label": "index", @@ -1253,7 +1261,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.readWithPit", + "id": "def-common.readWithPit", "type": "Function", "tags": [], "label": "readWithPit", @@ -1275,7 +1283,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.readWithPit.$1", + "id": "def-common.readWithPit.$1", "type": "Object", "tags": [], "label": "{\n client,\n pitId,\n query,\n batchSize,\n searchAfter,\n seqNoPrimaryTerm,\n }", @@ -1294,7 +1302,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.refreshIndex", + "id": "def-common.refreshIndex", "type": "Function", "tags": [], "label": "refreshIndex", @@ -1316,7 +1324,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.refreshIndex.$1", + "id": "def-common.refreshIndex.$1", "type": "Object", "tags": [], "label": "{\n client,\n targetIndex,\n }", @@ -1335,7 +1343,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.reindex", + "id": "def-common.reindex", "type": "Function", "tags": [], "label": "reindex", @@ -1359,7 +1367,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.reindex.$1", + "id": "def-common.reindex.$1", "type": "Object", "tags": [], "label": "{\n client,\n sourceIndex,\n targetIndex,\n reindexScript,\n requireAlias,\n excludeOnUpgradeQuery,\n }", @@ -1378,7 +1386,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.removeWriteBlock", + "id": "def-common.removeWriteBlock", "type": "Function", "tags": [], "label": "removeWriteBlock", @@ -1400,7 +1408,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.removeWriteBlock.$1", + "id": "def-common.removeWriteBlock.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n timeout = DEFAULT_TIMEOUT,\n }", @@ -1419,7 +1427,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.searchForOutdatedDocuments", + "id": "def-common.searchForOutdatedDocuments", "type": "Function", "tags": [], "label": "searchForOutdatedDocuments", @@ -1430,9 +1438,9 @@ "(client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", options: ", @@ -1451,7 +1459,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.searchForOutdatedDocuments.$1", + "id": "def-common.searchForOutdatedDocuments.$1", "type": "Object", "tags": [], "label": "client", @@ -1459,9 +1467,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -1472,7 +1480,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.searchForOutdatedDocuments.$2", + "id": "def-common.searchForOutdatedDocuments.$2", "type": "Object", "tags": [], "label": "options", @@ -1491,7 +1499,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.setWriteBlock", + "id": "def-common.setWriteBlock", "type": "Function", "tags": [], "label": "setWriteBlock", @@ -1515,7 +1523,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.setWriteBlock.$1", + "id": "def-common.setWriteBlock.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n timeout = DEFAULT_TIMEOUT,\n }", @@ -1534,7 +1542,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.transformDocs", + "id": "def-common.transformDocs", "type": "Function", "tags": [], "label": "transformDocs", @@ -1547,17 +1555,17 @@ "<", { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.DocumentsTransformFailed", + "section": "def-common.DocumentsTransformFailed", "text": "DocumentsTransformFailed" }, ", ", { "pluginId": "@kbn/core-saved-objects-migration-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", - "section": "def-server.DocumentsTransformSuccess", + "section": "def-common.DocumentsTransformSuccess", "text": "DocumentsTransformSuccess" }, ">" @@ -1568,7 +1576,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.transformDocs.$1", + "id": "def-common.transformDocs.$1", "type": "Object", "tags": [], "label": "{\n transformRawDocs,\n outdatedDocuments,\n}", @@ -1587,7 +1595,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateAliases", + "id": "def-common.updateAliases", "type": "Function", "tags": [], "label": "updateAliases", @@ -1615,7 +1623,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateAliases.$1", + "id": "def-common.updateAliases.$1", "type": "Object", "tags": [], "label": "{\n client,\n aliasActions,\n timeout = DEFAULT_TIMEOUT,\n }", @@ -1634,7 +1642,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateAndPickupMappings", + "id": "def-common.updateAndPickupMappings", "type": "Function", "tags": [], "label": "updateAndPickupMappings", @@ -1658,7 +1666,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateAndPickupMappings.$1", + "id": "def-common.updateAndPickupMappings.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n mappings,\n}", @@ -1677,7 +1685,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateTargetMappingsMeta", + "id": "def-common.updateTargetMappingsMeta", "type": "Function", "tags": [], "label": "updateTargetMappingsMeta", @@ -1699,7 +1707,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.updateTargetMappingsMeta.$1", + "id": "def-common.updateTargetMappingsMeta.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n meta,\n }", @@ -1718,7 +1726,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus", + "id": "def-common.waitForIndexStatus", "type": "Function", "tags": [], "label": "waitForIndexStatus", @@ -1740,7 +1748,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus.$1", + "id": "def-common.waitForIndexStatus.$1", "type": "CompoundType", "tags": [], "label": "{\n client,\n index,\n timeout,\n status,\n}", @@ -1760,7 +1768,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus", + "id": "def-common.waitForIndexStatus", "type": "Function", "tags": [], "label": "waitForIndexStatus", @@ -1782,7 +1790,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus.$1", + "id": "def-common.waitForIndexStatus.$1", "type": "CompoundType", "tags": [], "label": "{\n client,\n index,\n timeout,\n status,\n}", @@ -1802,7 +1810,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus", + "id": "def-common.waitForIndexStatus", "type": "Function", "tags": [], "label": "waitForIndexStatus", @@ -1828,7 +1836,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForIndexStatus.$1", + "id": "def-common.waitForIndexStatus.$1", "type": "Object", "tags": [], "label": "{\n client,\n index,\n timeout = DEFAULT_TIMEOUT,\n status,\n}", @@ -1847,7 +1855,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForPickupUpdatedMappingsTask", + "id": "def-common.waitForPickupUpdatedMappingsTask", "type": "Function", "tags": [], "label": "waitForPickupUpdatedMappingsTask", @@ -1870,7 +1878,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForPickupUpdatedMappingsTask.$1", + "id": "def-common.waitForPickupUpdatedMappingsTask.$1", "type": "Uncategorized", "tags": [], "label": "a", @@ -1887,7 +1895,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForReindexTask", + "id": "def-common.waitForReindexTask", "type": "Function", "tags": [], "label": "waitForReindexTask", @@ -1916,7 +1924,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForReindexTask.$1", + "id": "def-common.waitForReindexTask.$1", "type": "Uncategorized", "tags": [], "label": "a", @@ -1933,7 +1941,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForTask", + "id": "def-common.waitForTask", "type": "Function", "tags": [], "label": "waitForTask", @@ -1959,7 +1967,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.waitForTask.$1", + "id": "def-common.waitForTask.$1", "type": "Object", "tags": [], "label": "{\n client,\n taskId,\n timeout,\n }", @@ -1980,7 +1988,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformFailed", + "id": "def-common.DocumentsTransformFailed", "type": "Interface", "tags": [], "label": "DocumentsTransformFailed", @@ -1991,7 +1999,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformFailed.type", + "id": "def-common.DocumentsTransformFailed.type", "type": "string", "tags": [], "label": "type", @@ -2002,7 +2010,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformFailed.corruptDocumentIds", + "id": "def-common.DocumentsTransformFailed.corruptDocumentIds", "type": "Array", "tags": [], "label": "corruptDocumentIds", @@ -2016,7 +2024,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformFailed.transformErrors", + "id": "def-common.DocumentsTransformFailed.transformErrors", "type": "Array", "tags": [], "label": "transformErrors", @@ -2031,7 +2039,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformFailed.processedDocs", + "id": "def-common.DocumentsTransformFailed.processedDocs", "type": "Array", "tags": [], "label": "processedDocs", @@ -2039,9 +2047,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, "[]" @@ -2055,7 +2063,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformSuccess", + "id": "def-common.DocumentsTransformSuccess", "type": "Interface", "tags": [], "label": "DocumentsTransformSuccess", @@ -2066,7 +2074,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.DocumentsTransformSuccess.processedDocs", + "id": "def-common.DocumentsTransformSuccess.processedDocs", "type": "Array", "tags": [], "label": "processedDocs", @@ -2074,9 +2082,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, "[]" @@ -2090,7 +2098,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions", + "id": "def-common.KibanaMigratorOptions", "type": "Interface", "tags": [], "label": "KibanaMigratorOptions", @@ -2101,7 +2109,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.client", + "id": "def-common.KibanaMigratorOptions.client", "type": "Object", "tags": [], "label": "client", @@ -3301,7 +3309,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.typeRegistry", + "id": "def-common.KibanaMigratorOptions.typeRegistry", "type": "Object", "tags": [], "label": "typeRegistry", @@ -3309,9 +3317,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" } ], @@ -3321,7 +3329,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.soMigrationsConfig", + "id": "def-common.KibanaMigratorOptions.soMigrationsConfig", "type": "Object", "tags": [], "label": "soMigrationsConfig", @@ -3330,9 +3338,9 @@ "{ readonly discardUnknownObjects?: string | undefined; readonly discardCorruptObjects?: string | undefined; readonly pollInterval: number; readonly skip: boolean; readonly batchSize: number; readonly maxBatchSizeBytes: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" @@ -3343,7 +3351,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.kibanaIndex", + "id": "def-common.KibanaMigratorOptions.kibanaIndex", "type": "string", "tags": [], "label": "kibanaIndex", @@ -3354,7 +3362,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.kibanaVersion", + "id": "def-common.KibanaMigratorOptions.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -3365,7 +3373,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.logger", + "id": "def-common.KibanaMigratorOptions.logger", "type": "Object", "tags": [], "label": "logger", @@ -3373,9 +3381,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -3385,7 +3393,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.docLinks", + "id": "def-common.KibanaMigratorOptions.docLinks", "type": "Object", "tags": [], "label": "docLinks", @@ -3393,9 +3401,9 @@ "signature": [ { "pluginId": "@kbn/core-doc-links-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDocLinksServerPluginApi", - "section": "def-server.DocLinksServiceSetup", + "section": "def-common.DocLinksServiceSetup", "text": "DocLinksServiceSetup" } ], @@ -3405,7 +3413,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.KibanaMigratorOptions.waitForMigrationCompletion", + "id": "def-common.KibanaMigratorOptions.waitForMigrationCompletion", "type": "boolean", "tags": [], "label": "waitForMigrationCompletion", @@ -3419,7 +3427,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.UpdateByQueryResponse", + "id": "def-common.UpdateByQueryResponse", "type": "Interface", "tags": [], "label": "UpdateByQueryResponse", @@ -3430,7 +3438,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.UpdateByQueryResponse.taskId", + "id": "def-common.UpdateByQueryResponse.taskId", "type": "string", "tags": [], "label": "taskId", @@ -3447,7 +3455,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.REMOVED_TYPES", + "id": "def-common.REMOVED_TYPES", "type": "Array", "tags": [], "label": "REMOVED_TYPES", @@ -3466,7 +3474,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.MIGRATION_CLIENT_OPTIONS", + "id": "def-common.MIGRATION_CLIENT_OPTIONS", "type": "Object", "tags": [], "label": "MIGRATION_CLIENT_OPTIONS", @@ -3479,7 +3487,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.MIGRATION_CLIENT_OPTIONS.maxRetries", + "id": "def-common.MIGRATION_CLIENT_OPTIONS.maxRetries", "type": "number", "tags": [], "label": "maxRetries", @@ -3490,7 +3498,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-server.MIGRATION_CLIENT_OPTIONS.requestTimeout", + "id": "def-common.MIGRATION_CLIENT_OPTIONS.requestTimeout", "type": "number", "tags": [], "label": "requestTimeout", @@ -3503,13 +3511,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index a8413f95fd449..14462bb52fcfd 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -23,20 +23,20 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 112 | 0 | 79 | 45 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_mocks.devdocs.json index 0f43ff1b8f315..fe3265f622e91 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.createSavedObjectsMigrationLoggerMock", + "id": "def-common.createSavedObjectsMigrationLoggerMock", "type": "Function", "tags": [], "label": "createSavedObjectsMigrationLoggerMock", @@ -22,9 +30,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMigrationLogger", + "section": "def-common.SavedObjectsMigrationLogger", "text": "SavedObjectsMigrationLogger" }, ">" @@ -38,7 +46,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.retryAsync", + "id": "def-common.retryAsync", "type": "Function", "tags": [], "label": "retryAsync", @@ -52,7 +60,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.retryAsync.$1", + "id": "def-common.retryAsync.$1", "type": "Function", "tags": [], "label": "fn", @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.retryAsync.$2", + "id": "def-common.retryAsync.$2", "type": "Object", "tags": [], "label": "options", @@ -78,7 +86,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.retryAsync.$2.retryAttempts", + "id": "def-common.retryAsync.$2.retryAttempts", "type": "number", "tags": [], "label": "retryAttempts", @@ -89,7 +97,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.retryAsync.$2.retryDelayMs", + "id": "def-common.retryAsync.$2.retryDelayMs", "type": "number", "tags": [], "label": "retryDelayMs", @@ -111,7 +119,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.migrationMocks", + "id": "def-common.migrationMocks", "type": "Object", "tags": [], "label": "migrationMocks", @@ -122,7 +130,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.migrationMocks.createContext", + "id": "def-common.migrationMocks.createContext", "type": "Function", "tags": [], "label": "createContext", @@ -131,9 +139,9 @@ "({ migrationVersion, convertToMultiNamespaceTypeVersion, isSingleNamespaceType, }?: { migrationVersion?: string | undefined; convertToMultiNamespaceTypeVersion?: string | undefined; isSingleNamespaceType?: boolean | undefined; }) => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" }, ">" @@ -145,7 +153,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.migrationMocks.createContext.$1", + "id": "def-common.migrationMocks.createContext.$1", "type": "Object", "tags": [], "label": "__0", @@ -164,7 +172,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.mockKibanaMigrator", + "id": "def-common.mockKibanaMigrator", "type": "Object", "tags": [], "label": "mockKibanaMigrator", @@ -175,7 +183,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.mockKibanaMigrator.create", + "id": "def-common.mockKibanaMigrator.create", "type": "Function", "tags": [], "label": "create", @@ -184,9 +192,9 @@ "({ types, }?: { types: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]; }) => jest.Mocked<", @@ -200,7 +208,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-mocks", - "id": "def-server.mockKibanaMigrator.create.$1", + "id": "def-common.mockKibanaMigrator.create.$1", "type": "Object", "tags": [], "label": "__0", @@ -209,9 +217,9 @@ "{ types: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]; }" @@ -226,13 +234,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 71ee4513971b5..41d09a0058e3f 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 12 | 0 | 12 | 0 | -## Server +## Common ### Objects - + ### Functions - + diff --git a/api_docs/kbn_core_saved_objects_server.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index 264dffef4be52..c4a47c476d999 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams", + "id": "def-common.AddAuditEventParams", "type": "Interface", "tags": [], "label": "AddAuditEventParams", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.action", + "id": "def-common.AddAuditEventParams.action", "type": "Enum", "tags": [], "label": "action", @@ -37,9 +45,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AuditAction", + "section": "def-common.AuditAction", "text": "AuditAction" } ], @@ -49,7 +57,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.outcome", + "id": "def-common.AddAuditEventParams.outcome", "type": "CompoundType", "tags": [], "label": "outcome", @@ -59,9 +67,9 @@ "signature": [ { "pluginId": "@kbn/ecs", - "scope": "server", + "scope": "common", "docId": "kibKbnEcsPluginApi", - "section": "def-server.EcsEventOutcome", + "section": "def-common.EcsEventOutcome", "text": "EcsEventOutcome" }, " | undefined" @@ -72,7 +80,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.savedObject", + "id": "def-common.AddAuditEventParams.savedObject", "type": "Object", "tags": [], "label": "savedObject", @@ -88,7 +96,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.addToSpaces", + "id": "def-common.AddAuditEventParams.addToSpaces", "type": "Object", "tags": [], "label": "addToSpaces", @@ -104,7 +112,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.deleteFromSpaces", + "id": "def-common.AddAuditEventParams.deleteFromSpaces", "type": "Object", "tags": [], "label": "deleteFromSpaces", @@ -120,7 +128,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AddAuditEventParams.error", + "id": "def-common.AddAuditEventParams.error", "type": "Object", "tags": [], "label": "error", @@ -139,7 +147,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AuthorizationTypeEntry", + "id": "def-common.AuthorizationTypeEntry", "type": "Interface", "tags": [], "label": "AuthorizationTypeEntry", @@ -152,7 +160,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AuthorizationTypeEntry.authorizedSpaces", + "id": "def-common.AuthorizationTypeEntry.authorizedSpaces", "type": "Array", "tags": [], "label": "authorizedSpaces", @@ -168,7 +176,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AuthorizationTypeEntry.isGloballyAuthorized", + "id": "def-common.AuthorizationTypeEntry.isGloballyAuthorized", "type": "CompoundType", "tags": [], "label": "isGloballyAuthorized", @@ -187,7 +195,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationParams", + "id": "def-common.CheckAuthorizationParams", "type": "Interface", "tags": [], "label": "CheckAuthorizationParams", @@ -197,9 +205,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.CheckAuthorizationParams", + "section": "def-common.CheckAuthorizationParams", "text": "CheckAuthorizationParams" }, "" @@ -210,7 +218,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationParams.types", + "id": "def-common.CheckAuthorizationParams.types", "type": "Object", "tags": [], "label": "types", @@ -226,7 +234,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationParams.spaces", + "id": "def-common.CheckAuthorizationParams.spaces", "type": "Object", "tags": [], "label": "spaces", @@ -242,7 +250,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationParams.actions", + "id": "def-common.CheckAuthorizationParams.actions", "type": "Object", "tags": [], "label": "actions", @@ -258,7 +266,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationParams.options", + "id": "def-common.CheckAuthorizationParams.options", "type": "Object", "tags": [], "label": "options", @@ -277,7 +285,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationResult", + "id": "def-common.CheckAuthorizationResult", "type": "Interface", "tags": [], "label": "CheckAuthorizationResult", @@ -287,9 +295,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.CheckAuthorizationResult", + "section": "def-common.CheckAuthorizationResult", "text": "CheckAuthorizationResult" }, "" @@ -300,7 +308,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationResult.status", + "id": "def-common.CheckAuthorizationResult.status", "type": "CompoundType", "tags": [], "label": "status", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CheckAuthorizationResult.typeMap", + "id": "def-common.CheckAuthorizationResult.typeMap", "type": "Object", "tags": [], "label": "typeMap", @@ -327,9 +335,9 @@ "Map>" @@ -343,7 +351,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EncryptedObjectDescriptor", + "id": "def-common.EncryptedObjectDescriptor", "type": "Interface", "tags": [], "label": "EncryptedObjectDescriptor", @@ -356,7 +364,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EncryptedObjectDescriptor.type", + "id": "def-common.EncryptedObjectDescriptor.type", "type": "string", "tags": [], "label": "type", @@ -369,7 +377,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EncryptedObjectDescriptor.id", + "id": "def-common.EncryptedObjectDescriptor.id", "type": "string", "tags": [], "label": "id", @@ -382,7 +390,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EncryptedObjectDescriptor.namespace", + "id": "def-common.EncryptedObjectDescriptor.namespace", "type": "string", "tags": [], "label": "namespace", @@ -401,7 +409,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams", + "id": "def-common.EnforceAuthorizationParams", "type": "Interface", "tags": [], "label": "EnforceAuthorizationParams", @@ -411,9 +419,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, "" @@ -424,7 +432,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams.typesAndSpaces", + "id": "def-common.EnforceAuthorizationParams.typesAndSpaces", "type": "Object", "tags": [], "label": "typesAndSpaces", @@ -440,7 +448,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams.action", + "id": "def-common.EnforceAuthorizationParams.action", "type": "Uncategorized", "tags": [], "label": "action", @@ -456,7 +464,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams.typeMap", + "id": "def-common.EnforceAuthorizationParams.typeMap", "type": "Object", "tags": [], "label": "typeMap", @@ -467,9 +475,9 @@ "Map>" @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams.auditCallback", + "id": "def-common.EnforceAuthorizationParams.auditCallback", "type": "Function", "tags": [], "label": "auditCallback", @@ -496,7 +504,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.EnforceAuthorizationParams.auditCallback.$1", + "id": "def-common.EnforceAuthorizationParams.auditCallback.$1", "type": "Object", "tags": [], "label": "error", @@ -517,7 +525,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension", + "id": "def-common.ISavedObjectsEncryptionExtension", "type": "Interface", "tags": [], "label": "ISavedObjectsEncryptionExtension", @@ -530,7 +538,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.isEncryptableType", + "id": "def-common.ISavedObjectsEncryptionExtension.isEncryptableType", "type": "Function", "tags": [], "label": "isEncryptableType", @@ -546,7 +554,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.isEncryptableType.$1", + "id": "def-common.ISavedObjectsEncryptionExtension.isEncryptableType.$1", "type": "string", "tags": [], "label": "type", @@ -568,7 +576,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes", + "id": "def-common.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes", "type": "Function", "tags": [], "label": "decryptOrStripResponseAttributes", @@ -592,7 +600,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes.$1", + "id": "def-common.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes.$1", "type": "Uncategorized", "tags": [], "label": "response", @@ -609,7 +617,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes.$2", + "id": "def-common.ISavedObjectsEncryptionExtension.decryptOrStripResponseAttributes.$2", "type": "Uncategorized", "tags": [], "label": "originalAttributes", @@ -631,7 +639,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.encryptAttributes", + "id": "def-common.ISavedObjectsEncryptionExtension.encryptAttributes", "type": "Function", "tags": [], "label": "encryptAttributes", @@ -642,9 +650,9 @@ ">(descriptor: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EncryptedObjectDescriptor", + "section": "def-common.EncryptedObjectDescriptor", "text": "EncryptedObjectDescriptor" }, ", attributes: T) => Promise" @@ -655,7 +663,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.encryptAttributes.$1", + "id": "def-common.ISavedObjectsEncryptionExtension.encryptAttributes.$1", "type": "Object", "tags": [], "label": "descriptor", @@ -665,9 +673,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EncryptedObjectDescriptor", + "section": "def-common.EncryptedObjectDescriptor", "text": "EncryptedObjectDescriptor" } ], @@ -678,7 +686,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsEncryptionExtension.encryptAttributes.$2", + "id": "def-common.ISavedObjectsEncryptionExtension.encryptAttributes.$2", "type": "Uncategorized", "tags": [], "label": "attributes", @@ -703,7 +711,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsExporter", + "id": "def-common.ISavedObjectsExporter", "type": "Interface", "tags": [], "label": "ISavedObjectsExporter", @@ -716,7 +724,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsExporter.exportByTypes", + "id": "def-common.ISavedObjectsExporter.exportByTypes", "type": "Function", "tags": [ "throws" @@ -729,9 +737,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" }, ") => Promise<", @@ -744,7 +752,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsExporter.exportByTypes.$1", + "id": "def-common.ISavedObjectsExporter.exportByTypes.$1", "type": "Object", "tags": [], "label": "options", @@ -752,9 +760,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" } ], @@ -768,7 +776,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsExporter.exportByObjects", + "id": "def-common.ISavedObjectsExporter.exportByObjects", "type": "Function", "tags": [ "throws" @@ -781,9 +789,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" }, ") => Promise<", @@ -796,7 +804,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsExporter.exportByObjects.$1", + "id": "def-common.ISavedObjectsExporter.exportByObjects.$1", "type": "Object", "tags": [], "label": "options", @@ -804,9 +812,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" } ], @@ -823,7 +831,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsImporter", + "id": "def-common.ISavedObjectsImporter", "type": "Interface", "tags": [], "label": "ISavedObjectsImporter", @@ -836,7 +844,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsImporter.import", + "id": "def-common.ISavedObjectsImporter.import", "type": "Function", "tags": [ "throws" @@ -849,9 +857,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportOptions", + "section": "def-common.SavedObjectsImportOptions", "text": "SavedObjectsImportOptions" }, ") => Promise<", @@ -870,7 +878,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsImporter.import.$1", + "id": "def-common.ISavedObjectsImporter.import.$1", "type": "Object", "tags": [], "label": "options", @@ -878,9 +886,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportOptions", + "section": "def-common.SavedObjectsImportOptions", "text": "SavedObjectsImportOptions" } ], @@ -894,7 +902,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsImporter.resolveImportErrors", + "id": "def-common.ISavedObjectsImporter.resolveImportErrors", "type": "Function", "tags": [ "throws" @@ -907,9 +915,9 @@ "(options: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsResolveImportErrorsOptions", + "section": "def-common.SavedObjectsResolveImportErrorsOptions", "text": "SavedObjectsResolveImportErrorsOptions" }, ") => Promise<", @@ -928,7 +936,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsImporter.resolveImportErrors.$1", + "id": "def-common.ISavedObjectsImporter.resolveImportErrors.$1", "type": "Object", "tags": [], "label": "options", @@ -936,9 +944,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsResolveImportErrorsOptions", + "section": "def-common.SavedObjectsResolveImportErrorsOptions", "text": "SavedObjectsResolveImportErrorsOptions" } ], @@ -955,7 +963,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension", + "id": "def-common.ISavedObjectsSecurityExtension", "type": "Interface", "tags": [], "label": "ISavedObjectsSecurityExtension", @@ -968,7 +976,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.performAuthorization", + "id": "def-common.ISavedObjectsSecurityExtension.performAuthorization", "type": "Function", "tags": [], "label": "performAuthorization", @@ -979,17 +987,17 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, ") => Promise<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.CheckAuthorizationResult", + "section": "def-common.CheckAuthorizationResult", "text": "CheckAuthorizationResult" }, ">" @@ -1000,7 +1008,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.performAuthorization.$1", + "id": "def-common.ISavedObjectsSecurityExtension.performAuthorization.$1", "type": "Object", "tags": [], "label": "params", @@ -1010,9 +1018,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, "" @@ -1029,7 +1037,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.enforceAuthorization", + "id": "def-common.ISavedObjectsSecurityExtension.enforceAuthorization", "type": "Function", "tags": [], "label": "enforceAuthorization", @@ -1040,9 +1048,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, ") => void" @@ -1053,7 +1061,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.enforceAuthorization.$1", + "id": "def-common.ISavedObjectsSecurityExtension.enforceAuthorization.$1", "type": "Object", "tags": [], "label": "params", @@ -1063,9 +1071,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.EnforceAuthorizationParams", + "section": "def-common.EnforceAuthorizationParams", "text": "EnforceAuthorizationParams" }, "" @@ -1080,7 +1088,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.addAuditEvent", + "id": "def-common.ISavedObjectsSecurityExtension.addAuditEvent", "type": "Function", "tags": [], "label": "addAuditEvent", @@ -1091,9 +1099,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AddAuditEventParams", + "section": "def-common.AddAuditEventParams", "text": "AddAuditEventParams" }, ") => void" @@ -1104,7 +1112,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.addAuditEvent.$1", + "id": "def-common.ISavedObjectsSecurityExtension.addAuditEvent.$1", "type": "Object", "tags": [], "label": "params", @@ -1114,9 +1122,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.AddAuditEventParams", + "section": "def-common.AddAuditEventParams", "text": "AddAuditEventParams" } ], @@ -1130,7 +1138,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.redactNamespaces", + "id": "def-common.ISavedObjectsSecurityExtension.redactNamespaces", "type": "Function", "tags": [], "label": "redactNamespaces", @@ -1141,9 +1149,9 @@ "(params: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, ") => ", @@ -1162,7 +1170,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSecurityExtension.redactNamespaces.$1", + "id": "def-common.ISavedObjectsSecurityExtension.redactNamespaces.$1", "type": "Object", "tags": [], "label": "params", @@ -1172,9 +1180,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, "" @@ -1194,7 +1202,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer", + "id": "def-common.ISavedObjectsSerializer", "type": "Interface", "tags": [], "label": "ISavedObjectsSerializer", @@ -1207,7 +1215,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.isRawSavedObject", + "id": "def-common.ISavedObjectsSerializer.isRawSavedObject", "type": "Function", "tags": [], "label": "isRawSavedObject", @@ -1218,17 +1226,17 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined) => boolean" @@ -1239,7 +1247,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.isRawSavedObject.$1", + "id": "def-common.ISavedObjectsSerializer.isRawSavedObject.$1", "type": "Object", "tags": [], "label": "doc", @@ -1249,9 +1257,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -1262,7 +1270,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.isRawSavedObject.$2", + "id": "def-common.ISavedObjectsSerializer.isRawSavedObject.$2", "type": "Object", "tags": [], "label": "options", @@ -1272,9 +1280,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined" @@ -1289,7 +1297,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.rawToSavedObject", + "id": "def-common.ISavedObjectsSerializer.rawToSavedObject", "type": "Function", "tags": [], "label": "rawToSavedObject", @@ -1300,25 +1308,25 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, "" @@ -1329,7 +1337,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.rawToSavedObject.$1", + "id": "def-common.ISavedObjectsSerializer.rawToSavedObject.$1", "type": "Object", "tags": [], "label": "doc", @@ -1339,9 +1347,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -1352,7 +1360,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.rawToSavedObject.$2", + "id": "def-common.ISavedObjectsSerializer.rawToSavedObject.$2", "type": "Object", "tags": [], "label": "options", @@ -1362,9 +1370,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocParseOptions", + "section": "def-common.SavedObjectsRawDocParseOptions", "text": "SavedObjectsRawDocParseOptions" }, " | undefined" @@ -1379,7 +1387,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.savedObjectToRaw", + "id": "def-common.ISavedObjectsSerializer.savedObjectToRaw", "type": "Function", "tags": [], "label": "savedObjectToRaw", @@ -1390,17 +1398,17 @@ "(savedObj: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDoc", + "section": "def-common.SavedObjectsRawDoc", "text": "SavedObjectsRawDoc" } ], @@ -1410,7 +1418,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.savedObjectToRaw.$1", + "id": "def-common.ISavedObjectsSerializer.savedObjectToRaw.$1", "type": "CompoundType", "tags": [], "label": "savedObj", @@ -1420,9 +1428,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectSanitizedDoc", + "section": "def-common.SavedObjectSanitizedDoc", "text": "SavedObjectSanitizedDoc" }, "" @@ -1437,7 +1445,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawId", + "id": "def-common.ISavedObjectsSerializer.generateRawId", "type": "Function", "tags": [], "label": "generateRawId", @@ -1453,7 +1461,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawId.$1", + "id": "def-common.ISavedObjectsSerializer.generateRawId.$1", "type": "string", "tags": [], "label": "namespace", @@ -1470,7 +1478,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawId.$2", + "id": "def-common.ISavedObjectsSerializer.generateRawId.$2", "type": "string", "tags": [], "label": "type", @@ -1487,7 +1495,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawId.$3", + "id": "def-common.ISavedObjectsSerializer.generateRawId.$3", "type": "string", "tags": [], "label": "id", @@ -1507,7 +1515,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawLegacyUrlAliasId", + "id": "def-common.ISavedObjectsSerializer.generateRawLegacyUrlAliasId", "type": "Function", "tags": [], "label": "generateRawLegacyUrlAliasId", @@ -1523,7 +1531,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$1", + "id": "def-common.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$1", "type": "string", "tags": [], "label": "namespace", @@ -1540,7 +1548,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$2", + "id": "def-common.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$2", "type": "string", "tags": [], "label": "type", @@ -1557,7 +1565,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$3", + "id": "def-common.ISavedObjectsSerializer.generateRawLegacyUrlAliasId.$3", "type": "string", "tags": [], "label": "id", @@ -1580,7 +1588,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSpacesExtension", + "id": "def-common.ISavedObjectsSpacesExtension", "type": "Interface", "tags": [], "label": "ISavedObjectsSpacesExtension", @@ -1593,7 +1601,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSpacesExtension.getCurrentNamespace", + "id": "def-common.ISavedObjectsSpacesExtension.getCurrentNamespace", "type": "Function", "tags": [], "label": "getCurrentNamespace", @@ -1609,7 +1617,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSpacesExtension.getCurrentNamespace.$1", + "id": "def-common.ISavedObjectsSpacesExtension.getCurrentNamespace.$1", "type": "string", "tags": [], "label": "namespace", @@ -1627,7 +1635,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSpacesExtension.getSearchableNamespaces", + "id": "def-common.ISavedObjectsSpacesExtension.getSearchableNamespaces", "type": "Function", "tags": [], "label": "getSearchableNamespaces", @@ -1643,7 +1651,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectsSpacesExtension.getSearchableNamespaces.$1", + "id": "def-common.ISavedObjectsSpacesExtension.getSearchableNamespaces.$1", "type": "Array", "tags": [], "label": "namespaces", @@ -1664,7 +1672,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry", + "id": "def-common.ISavedObjectTypeRegistry", "type": "Interface", "tags": [], "label": "ISavedObjectTypeRegistry", @@ -1677,7 +1685,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getType", + "id": "def-common.ISavedObjectTypeRegistry.getType", "type": "Function", "tags": [], "label": "getType", @@ -1688,9 +1696,9 @@ "(type: string) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, " | undefined" @@ -1701,7 +1709,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getType.$1", + "id": "def-common.ISavedObjectTypeRegistry.getType.$1", "type": "string", "tags": [], "label": "type", @@ -1719,7 +1727,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getVisibleTypes", + "id": "def-common.ISavedObjectTypeRegistry.getVisibleTypes", "type": "Function", "tags": [], "label": "getVisibleTypes", @@ -1730,9 +1738,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -1745,7 +1753,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getAllTypes", + "id": "def-common.ISavedObjectTypeRegistry.getAllTypes", "type": "Function", "tags": [], "label": "getAllTypes", @@ -1756,9 +1764,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -1771,7 +1779,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getImportableAndExportableTypes", + "id": "def-common.ISavedObjectTypeRegistry.getImportableAndExportableTypes", "type": "Function", "tags": [], "label": "getImportableAndExportableTypes", @@ -1782,9 +1790,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "[]" @@ -1797,7 +1805,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isNamespaceAgnostic", + "id": "def-common.ISavedObjectTypeRegistry.isNamespaceAgnostic", "type": "Function", "tags": [], "label": "isNamespaceAgnostic", @@ -1813,7 +1821,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isNamespaceAgnostic.$1", + "id": "def-common.ISavedObjectTypeRegistry.isNamespaceAgnostic.$1", "type": "string", "tags": [], "label": "type", @@ -1831,7 +1839,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isSingleNamespace", + "id": "def-common.ISavedObjectTypeRegistry.isSingleNamespace", "type": "Function", "tags": [], "label": "isSingleNamespace", @@ -1847,7 +1855,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isSingleNamespace.$1", + "id": "def-common.ISavedObjectTypeRegistry.isSingleNamespace.$1", "type": "string", "tags": [], "label": "type", @@ -1865,7 +1873,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isMultiNamespace", + "id": "def-common.ISavedObjectTypeRegistry.isMultiNamespace", "type": "Function", "tags": [], "label": "isMultiNamespace", @@ -1881,7 +1889,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isMultiNamespace.$1", + "id": "def-common.ISavedObjectTypeRegistry.isMultiNamespace.$1", "type": "string", "tags": [], "label": "type", @@ -1899,7 +1907,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isShareable", + "id": "def-common.ISavedObjectTypeRegistry.isShareable", "type": "Function", "tags": [], "label": "isShareable", @@ -1915,7 +1923,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isShareable.$1", + "id": "def-common.ISavedObjectTypeRegistry.isShareable.$1", "type": "string", "tags": [], "label": "type", @@ -1933,7 +1941,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isHidden", + "id": "def-common.ISavedObjectTypeRegistry.isHidden", "type": "Function", "tags": [], "label": "isHidden", @@ -1949,7 +1957,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isHidden.$1", + "id": "def-common.ISavedObjectTypeRegistry.isHidden.$1", "type": "string", "tags": [], "label": "type", @@ -1967,7 +1975,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getIndex", + "id": "def-common.ISavedObjectTypeRegistry.getIndex", "type": "Function", "tags": [], "label": "getIndex", @@ -1983,7 +1991,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.getIndex.$1", + "id": "def-common.ISavedObjectTypeRegistry.getIndex.$1", "type": "string", "tags": [], "label": "type", @@ -2001,7 +2009,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isImportableAndExportable", + "id": "def-common.ISavedObjectTypeRegistry.isImportableAndExportable", "type": "Function", "tags": [], "label": "isImportableAndExportable", @@ -2017,7 +2025,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ISavedObjectTypeRegistry.isImportableAndExportable.$1", + "id": "def-common.ISavedObjectTypeRegistry.isImportableAndExportable.$1", "type": "string", "tags": [], "label": "type", @@ -2038,7 +2046,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams", + "id": "def-common.PerformAuthorizationParams", "type": "Interface", "tags": [], "label": "PerformAuthorizationParams", @@ -2048,9 +2056,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.PerformAuthorizationParams", + "section": "def-common.PerformAuthorizationParams", "text": "PerformAuthorizationParams" }, "" @@ -2061,7 +2069,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.actions", + "id": "def-common.PerformAuthorizationParams.actions", "type": "Object", "tags": [], "label": "actions", @@ -2077,7 +2085,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.types", + "id": "def-common.PerformAuthorizationParams.types", "type": "Object", "tags": [], "label": "types", @@ -2093,7 +2101,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.spaces", + "id": "def-common.PerformAuthorizationParams.spaces", "type": "Object", "tags": [], "label": "spaces", @@ -2109,7 +2117,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.enforceMap", + "id": "def-common.PerformAuthorizationParams.enforceMap", "type": "Object", "tags": [], "label": "enforceMap", @@ -2125,7 +2133,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.auditCallback", + "id": "def-common.PerformAuthorizationParams.auditCallback", "type": "Function", "tags": [], "label": "auditCallback", @@ -2141,7 +2149,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.auditCallback.$1", + "id": "def-common.PerformAuthorizationParams.auditCallback.$1", "type": "Object", "tags": [], "label": "error", @@ -2159,7 +2167,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.PerformAuthorizationParams.options", + "id": "def-common.PerformAuthorizationParams.options", "type": "Object", "tags": [], "label": "options", @@ -2178,7 +2186,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.RedactNamespacesParams", + "id": "def-common.RedactNamespacesParams", "type": "Interface", "tags": [], "label": "RedactNamespacesParams", @@ -2188,9 +2196,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.RedactNamespacesParams", + "section": "def-common.RedactNamespacesParams", "text": "RedactNamespacesParams" }, "" @@ -2201,7 +2209,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.RedactNamespacesParams.savedObject", + "id": "def-common.RedactNamespacesParams.savedObject", "type": "Object", "tags": [], "label": "savedObject", @@ -2224,7 +2232,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.RedactNamespacesParams.typeMap", + "id": "def-common.RedactNamespacesParams.typeMap", "type": "Object", "tags": [], "label": "typeMap", @@ -2235,9 +2243,9 @@ "Map>" @@ -2251,7 +2259,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions", + "id": "def-common.SavedObjectExportBaseOptions", "type": "Interface", "tags": [], "label": "SavedObjectExportBaseOptions", @@ -2262,7 +2270,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions.request", + "id": "def-common.SavedObjectExportBaseOptions.request", "type": "Object", "tags": [], "label": "request", @@ -2272,9 +2280,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2285,7 +2293,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions.includeReferencesDeep", + "id": "def-common.SavedObjectExportBaseOptions.includeReferencesDeep", "type": "CompoundType", "tags": [], "label": "includeReferencesDeep", @@ -2301,7 +2309,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions.includeNamespaces", + "id": "def-common.SavedObjectExportBaseOptions.includeNamespaces", "type": "CompoundType", "tags": [], "label": "includeNamespaces", @@ -2317,7 +2325,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions.excludeExportDetails", + "id": "def-common.SavedObjectExportBaseOptions.excludeExportDetails", "type": "CompoundType", "tags": [], "label": "excludeExportDetails", @@ -2333,7 +2341,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectExportBaseOptions.namespace", + "id": "def-common.SavedObjectExportBaseOptions.namespace", "type": "string", "tags": [], "label": "namespace", @@ -2352,7 +2360,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationContext", + "id": "def-common.SavedObjectMigrationContext", "type": "Interface", "tags": [], "label": "SavedObjectMigrationContext", @@ -2365,7 +2373,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationContext.log", + "id": "def-common.SavedObjectMigrationContext.log", "type": "Object", "tags": [], "label": "log", @@ -2375,9 +2383,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMigrationLogger", + "section": "def-common.SavedObjectsMigrationLogger", "text": "SavedObjectsMigrationLogger" } ], @@ -2387,7 +2395,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationContext.migrationVersion", + "id": "def-common.SavedObjectMigrationContext.migrationVersion", "type": "string", "tags": [], "label": "migrationVersion", @@ -2400,7 +2408,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationContext.convertToMultiNamespaceTypeVersion", + "id": "def-common.SavedObjectMigrationContext.convertToMultiNamespaceTypeVersion", "type": "string", "tags": [ "deprecated" @@ -2428,7 +2436,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationContext.isSingleNamespaceType", + "id": "def-common.SavedObjectMigrationContext.isSingleNamespaceType", "type": "boolean", "tags": [], "label": "isSingleNamespaceType", @@ -2444,7 +2452,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationMap", + "id": "def-common.SavedObjectMigrationMap", "type": "Interface", "tags": [], "label": "SavedObjectMigrationMap", @@ -2457,7 +2465,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationMap.Unnamed", + "id": "def-common.SavedObjectMigrationMap.Unnamed", "type": "IndexSignature", "tags": [], "label": "[version: string]: SavedObjectMigrationFn", @@ -2466,9 +2474,9 @@ "[version: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationFn", + "section": "def-common.SavedObjectMigrationFn", "text": "SavedObjectMigrationFn" }, "" @@ -2482,7 +2490,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientProviderOptions", + "id": "def-common.SavedObjectsClientProviderOptions", "type": "Interface", "tags": [], "label": "SavedObjectsClientProviderOptions", @@ -2495,7 +2503,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientProviderOptions.includedHiddenTypes", + "id": "def-common.SavedObjectsClientProviderOptions.includedHiddenTypes", "type": "Array", "tags": [], "label": "includedHiddenTypes", @@ -2511,7 +2519,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientProviderOptions.excludedExtensions", + "id": "def-common.SavedObjectsClientProviderOptions.excludedExtensions", "type": "Array", "tags": [], "label": "excludedExtensions", @@ -2530,7 +2538,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByObjectOptions", + "id": "def-common.SavedObjectsExportByObjectOptions", "type": "Interface", "tags": [], "label": "SavedObjectsExportByObjectOptions", @@ -2540,17 +2548,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByObjectOptions", + "section": "def-common.SavedObjectsExportByObjectOptions", "text": "SavedObjectsExportByObjectOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectExportBaseOptions", + "section": "def-common.SavedObjectExportBaseOptions", "text": "SavedObjectExportBaseOptions" } ], @@ -2560,7 +2568,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByObjectOptions.objects", + "id": "def-common.SavedObjectsExportByObjectOptions.objects", "type": "Array", "tags": [], "label": "objects", @@ -2586,7 +2594,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByTypeOptions", + "id": "def-common.SavedObjectsExportByTypeOptions", "type": "Interface", "tags": [], "label": "SavedObjectsExportByTypeOptions", @@ -2596,17 +2604,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportByTypeOptions", + "section": "def-common.SavedObjectsExportByTypeOptions", "text": "SavedObjectsExportByTypeOptions" }, " extends ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectExportBaseOptions", + "section": "def-common.SavedObjectExportBaseOptions", "text": "SavedObjectExportBaseOptions" } ], @@ -2616,7 +2624,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByTypeOptions.types", + "id": "def-common.SavedObjectsExportByTypeOptions.types", "type": "Array", "tags": [], "label": "types", @@ -2632,7 +2640,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByTypeOptions.hasReference", + "id": "def-common.SavedObjectsExportByTypeOptions.hasReference", "type": "Array", "tags": [], "label": "hasReference", @@ -2642,9 +2650,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" @@ -2655,7 +2663,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportByTypeOptions.search", + "id": "def-common.SavedObjectsExportByTypeOptions.search", "type": "string", "tags": [], "label": "search", @@ -2674,7 +2682,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportExcludedObject", + "id": "def-common.SavedObjectsExportExcludedObject", "type": "Interface", "tags": [], "label": "SavedObjectsExportExcludedObject", @@ -2685,7 +2693,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportExcludedObject.id", + "id": "def-common.SavedObjectsExportExcludedObject.id", "type": "string", "tags": [], "label": "id", @@ -2698,7 +2706,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportExcludedObject.type", + "id": "def-common.SavedObjectsExportExcludedObject.type", "type": "string", "tags": [], "label": "type", @@ -2711,7 +2719,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportExcludedObject.reason", + "id": "def-common.SavedObjectsExportExcludedObject.reason", "type": "string", "tags": [], "label": "reason", @@ -2730,7 +2738,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails", + "id": "def-common.SavedObjectsExportResultDetails", "type": "Interface", "tags": [], "label": "SavedObjectsExportResultDetails", @@ -2743,7 +2751,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails.exportedCount", + "id": "def-common.SavedObjectsExportResultDetails.exportedCount", "type": "number", "tags": [], "label": "exportedCount", @@ -2756,7 +2764,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails.missingRefCount", + "id": "def-common.SavedObjectsExportResultDetails.missingRefCount", "type": "number", "tags": [], "label": "missingRefCount", @@ -2769,7 +2777,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails.missingReferences", + "id": "def-common.SavedObjectsExportResultDetails.missingReferences", "type": "Array", "tags": [], "label": "missingReferences", @@ -2792,7 +2800,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails.excludedObjectsCount", + "id": "def-common.SavedObjectsExportResultDetails.excludedObjectsCount", "type": "number", "tags": [], "label": "excludedObjectsCount", @@ -2805,7 +2813,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportResultDetails.excludedObjects", + "id": "def-common.SavedObjectsExportResultDetails.excludedObjects", "type": "Array", "tags": [], "label": "excludedObjects", @@ -2815,9 +2823,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportExcludedObject", + "section": "def-common.SavedObjectsExportExcludedObject", "text": "SavedObjectsExportExcludedObject" }, "[]" @@ -2831,7 +2839,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportTransformContext", + "id": "def-common.SavedObjectsExportTransformContext", "type": "Interface", "tags": [], "label": "SavedObjectsExportTransformContext", @@ -2844,7 +2852,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportTransformContext.request", + "id": "def-common.SavedObjectsExportTransformContext.request", "type": "Object", "tags": [], "label": "request", @@ -2854,9 +2862,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2870,7 +2878,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensions", + "id": "def-common.SavedObjectsExtensions", "type": "Interface", "tags": [], "label": "SavedObjectsExtensions", @@ -2883,7 +2891,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensions.encryptionExtension", + "id": "def-common.SavedObjectsExtensions.encryptionExtension", "type": "Object", "tags": [], "label": "encryptionExtension", @@ -2891,9 +2899,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsEncryptionExtension", + "section": "def-common.ISavedObjectsEncryptionExtension", "text": "ISavedObjectsEncryptionExtension" }, " | undefined" @@ -2904,7 +2912,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensions.securityExtension", + "id": "def-common.SavedObjectsExtensions.securityExtension", "type": "Object", "tags": [], "label": "securityExtension", @@ -2912,9 +2920,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSecurityExtension", + "section": "def-common.ISavedObjectsSecurityExtension", "text": "ISavedObjectsSecurityExtension" }, " | undefined" @@ -2925,7 +2933,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensions.spacesExtension", + "id": "def-common.SavedObjectsExtensions.spacesExtension", "type": "Object", "tags": [], "label": "spacesExtension", @@ -2933,9 +2941,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSpacesExtension", + "section": "def-common.ISavedObjectsSpacesExtension", "text": "ISavedObjectsSpacesExtension" }, " | undefined" @@ -2949,7 +2957,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportHookResult", + "id": "def-common.SavedObjectsImportHookResult", "type": "Interface", "tags": [], "label": "SavedObjectsImportHookResult", @@ -2962,7 +2970,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportHookResult.warnings", + "id": "def-common.SavedObjectsImportHookResult.warnings", "type": "Array", "tags": [], "label": "warnings", @@ -2988,7 +2996,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions", + "id": "def-common.SavedObjectsImportOptions", "type": "Interface", "tags": [], "label": "SavedObjectsImportOptions", @@ -3001,7 +3009,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions.readStream", + "id": "def-common.SavedObjectsImportOptions.readStream", "type": "Object", "tags": [], "label": "readStream", @@ -3017,7 +3025,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions.overwrite", + "id": "def-common.SavedObjectsImportOptions.overwrite", "type": "boolean", "tags": [], "label": "overwrite", @@ -3030,7 +3038,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions.namespace", + "id": "def-common.SavedObjectsImportOptions.namespace", "type": "string", "tags": [], "label": "namespace", @@ -3046,7 +3054,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions.createNewCopies", + "id": "def-common.SavedObjectsImportOptions.createNewCopies", "type": "boolean", "tags": [], "label": "createNewCopies", @@ -3059,7 +3067,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportOptions.refresh", + "id": "def-common.SavedObjectsImportOptions.refresh", "type": "CompoundType", "tags": [], "label": "refresh", @@ -3078,7 +3086,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMappingProperties", + "id": "def-common.SavedObjectsMappingProperties", "type": "Interface", "tags": [], "label": "SavedObjectsMappingProperties", @@ -3091,7 +3099,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMappingProperties.Unnamed", + "id": "def-common.SavedObjectsMappingProperties.Unnamed", "type": "IndexSignature", "tags": [], "label": "[field: string]: SavedObjectsFieldMapping", @@ -3100,9 +3108,9 @@ "[field: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsFieldMapping", + "section": "def-common.SavedObjectsFieldMapping", "text": "SavedObjectsFieldMapping" } ], @@ -3115,7 +3123,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger", + "id": "def-common.SavedObjectsMigrationLogger", "type": "Interface", "tags": [], "label": "SavedObjectsMigrationLogger", @@ -3126,7 +3134,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.debug", + "id": "def-common.SavedObjectsMigrationLogger.debug", "type": "Function", "tags": [], "label": "debug", @@ -3140,7 +3148,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.debug.$1", + "id": "def-common.SavedObjectsMigrationLogger.debug.$1", "type": "string", "tags": [], "label": "msg", @@ -3158,7 +3166,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.info", + "id": "def-common.SavedObjectsMigrationLogger.info", "type": "Function", "tags": [], "label": "info", @@ -3172,7 +3180,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.info.$1", + "id": "def-common.SavedObjectsMigrationLogger.info.$1", "type": "string", "tags": [], "label": "msg", @@ -3190,7 +3198,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.warning", + "id": "def-common.SavedObjectsMigrationLogger.warning", "type": "Function", "tags": [ "deprecated" @@ -3229,7 +3237,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.warning.$1", + "id": "def-common.SavedObjectsMigrationLogger.warning.$1", "type": "string", "tags": [], "label": "msg", @@ -3247,7 +3255,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.warn", + "id": "def-common.SavedObjectsMigrationLogger.warn", "type": "Function", "tags": [], "label": "warn", @@ -3261,7 +3269,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.warn.$1", + "id": "def-common.SavedObjectsMigrationLogger.warn.$1", "type": "string", "tags": [], "label": "msg", @@ -3279,7 +3287,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.error", + "id": "def-common.SavedObjectsMigrationLogger.error", "type": "Function", "tags": [], "label": "error", @@ -3288,17 +3296,17 @@ "(msg: string, meta: Meta) => void" @@ -3309,7 +3317,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.error.$1", + "id": "def-common.SavedObjectsMigrationLogger.error.$1", "type": "string", "tags": [], "label": "msg", @@ -3324,7 +3332,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsMigrationLogger.error.$2", + "id": "def-common.SavedObjectsMigrationLogger.error.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -3345,7 +3353,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDoc", + "id": "def-common.SavedObjectsRawDoc", "type": "Interface", "tags": [], "label": "SavedObjectsRawDoc", @@ -3358,7 +3366,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDoc._id", + "id": "def-common.SavedObjectsRawDoc._id", "type": "string", "tags": [], "label": "_id", @@ -3369,7 +3377,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDoc._source", + "id": "def-common.SavedObjectsRawDoc._source", "type": "Object", "tags": [], "label": "_source", @@ -3377,9 +3385,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRawDocSource", + "section": "def-common.SavedObjectsRawDocSource", "text": "SavedObjectsRawDocSource" } ], @@ -3389,7 +3397,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDoc._seq_no", + "id": "def-common.SavedObjectsRawDoc._seq_no", "type": "number", "tags": [], "label": "_seq_no", @@ -3403,7 +3411,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDoc._primary_term", + "id": "def-common.SavedObjectsRawDoc._primary_term", "type": "number", "tags": [], "label": "_primary_term", @@ -3420,7 +3428,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocParseOptions", + "id": "def-common.SavedObjectsRawDocParseOptions", "type": "Interface", "tags": [], "label": "SavedObjectsRawDocParseOptions", @@ -3433,7 +3441,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocParseOptions.namespaceTreatment", + "id": "def-common.SavedObjectsRawDocParseOptions.namespaceTreatment", "type": "CompoundType", "tags": [], "label": "namespaceTreatment", @@ -3452,7 +3460,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource", + "id": "def-common.SavedObjectsRawDocSource", "type": "Interface", "tags": [], "label": "SavedObjectsRawDocSource", @@ -3463,7 +3471,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.type", + "id": "def-common.SavedObjectsRawDocSource.type", "type": "string", "tags": [], "label": "type", @@ -3474,7 +3482,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.namespace", + "id": "def-common.SavedObjectsRawDocSource.namespace", "type": "string", "tags": [], "label": "namespace", @@ -3488,7 +3496,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.namespaces", + "id": "def-common.SavedObjectsRawDocSource.namespaces", "type": "Array", "tags": [], "label": "namespaces", @@ -3502,7 +3510,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.migrationVersion", + "id": "def-common.SavedObjectsRawDocSource.migrationVersion", "type": "Object", "tags": [], "label": "migrationVersion", @@ -3523,7 +3531,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.updated_at", + "id": "def-common.SavedObjectsRawDocSource.updated_at", "type": "string", "tags": [], "label": "updated_at", @@ -3537,7 +3545,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.created_at", + "id": "def-common.SavedObjectsRawDocSource.created_at", "type": "string", "tags": [], "label": "created_at", @@ -3551,7 +3559,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.references", + "id": "def-common.SavedObjectsRawDocSource.references", "type": "Array", "tags": [], "label": "references", @@ -3572,7 +3580,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.originId", + "id": "def-common.SavedObjectsRawDocSource.originId", "type": "string", "tags": [], "label": "originId", @@ -3586,7 +3594,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRawDocSource.Unnamed", + "id": "def-common.SavedObjectsRawDocSource.Unnamed", "type": "IndexSignature", "tags": [], "label": "[typeMapping: string]: any", @@ -3603,7 +3611,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory", + "id": "def-common.SavedObjectsRepositoryFactory", "type": "Interface", "tags": [], "label": "SavedObjectsRepositoryFactory", @@ -3616,7 +3624,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createScopedRepository", + "id": "def-common.SavedObjectsRepositoryFactory.createScopedRepository", "type": "Function", "tags": [], "label": "createScopedRepository", @@ -3627,25 +3635,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -3655,7 +3663,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createScopedRepository.$1", + "id": "def-common.SavedObjectsRepositoryFactory.createScopedRepository.$1", "type": "Object", "tags": [], "label": "req", @@ -3663,9 +3671,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3677,7 +3685,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createScopedRepository.$2", + "id": "def-common.SavedObjectsRepositoryFactory.createScopedRepository.$2", "type": "Array", "tags": [], "label": "includedHiddenTypes", @@ -3694,7 +3702,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createScopedRepository.$3", + "id": "def-common.SavedObjectsRepositoryFactory.createScopedRepository.$3", "type": "Object", "tags": [], "label": "extensions", @@ -3704,9 +3712,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -3721,7 +3729,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createInternalRepository", + "id": "def-common.SavedObjectsRepositoryFactory.createInternalRepository", "type": "Function", "tags": [], "label": "createInternalRepository", @@ -3732,17 +3740,17 @@ "(includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -3752,7 +3760,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createInternalRepository.$1", + "id": "def-common.SavedObjectsRepositoryFactory.createInternalRepository.$1", "type": "Array", "tags": [], "label": "includedHiddenTypes", @@ -3769,7 +3777,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRepositoryFactory.createInternalRepository.$2", + "id": "def-common.SavedObjectsRepositoryFactory.createInternalRepository.$2", "type": "Object", "tags": [], "label": "extensions", @@ -3779,9 +3787,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -3799,7 +3807,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext", + "id": "def-common.SavedObjectsRequestHandlerContext", "type": "Interface", "tags": [], "label": "SavedObjectsRequestHandlerContext", @@ -3812,7 +3820,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.client", + "id": "def-common.SavedObjectsRequestHandlerContext.client", "type": "Object", "tags": [], "label": "client", @@ -3820,9 +3828,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -3832,7 +3840,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.typeRegistry", + "id": "def-common.SavedObjectsRequestHandlerContext.typeRegistry", "type": "Object", "tags": [], "label": "typeRegistry", @@ -3840,9 +3848,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" } ], @@ -3852,7 +3860,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getClient", + "id": "def-common.SavedObjectsRequestHandlerContext.getClient", "type": "Function", "tags": [], "label": "getClient", @@ -3861,17 +3869,17 @@ "(options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -3881,7 +3889,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getClient.$1", + "id": "def-common.SavedObjectsRequestHandlerContext.getClient.$1", "type": "Object", "tags": [], "label": "options", @@ -3889,9 +3897,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined" @@ -3906,7 +3914,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getExporter", + "id": "def-common.SavedObjectsRequestHandlerContext.getExporter", "type": "Function", "tags": [], "label": "getExporter", @@ -3915,17 +3923,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" } ], @@ -3935,7 +3943,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getExporter.$1", + "id": "def-common.SavedObjectsRequestHandlerContext.getExporter.$1", "type": "Object", "tags": [], "label": "client", @@ -3943,9 +3951,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -3959,7 +3967,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getImporter", + "id": "def-common.SavedObjectsRequestHandlerContext.getImporter", "type": "Function", "tags": [], "label": "getImporter", @@ -3968,17 +3976,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" } ], @@ -3988,7 +3996,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsRequestHandlerContext.getImporter.$1", + "id": "def-common.SavedObjectsRequestHandlerContext.getImporter.$1", "type": "Object", "tags": [], "label": "client", @@ -3996,9 +4004,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4015,7 +4023,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsResolveImportErrorsOptions", + "id": "def-common.SavedObjectsResolveImportErrorsOptions", "type": "Interface", "tags": [], "label": "SavedObjectsResolveImportErrorsOptions", @@ -4028,7 +4036,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsResolveImportErrorsOptions.readStream", + "id": "def-common.SavedObjectsResolveImportErrorsOptions.readStream", "type": "Object", "tags": [], "label": "readStream", @@ -4044,7 +4052,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsResolveImportErrorsOptions.retries", + "id": "def-common.SavedObjectsResolveImportErrorsOptions.retries", "type": "Array", "tags": [], "label": "retries", @@ -4067,7 +4075,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsResolveImportErrorsOptions.namespace", + "id": "def-common.SavedObjectsResolveImportErrorsOptions.namespace", "type": "string", "tags": [], "label": "namespace", @@ -4083,7 +4091,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsResolveImportErrorsOptions.createNewCopies", + "id": "def-common.SavedObjectsResolveImportErrorsOptions.createNewCopies", "type": "boolean", "tags": [], "label": "createNewCopies", @@ -4099,7 +4107,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup", + "id": "def-common.SavedObjectsServiceSetup", "type": "Interface", "tags": [], "label": "SavedObjectsServiceSetup", @@ -4112,7 +4120,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setClientFactoryProvider", + "id": "def-common.SavedObjectsServiceSetup.setClientFactoryProvider", "type": "Function", "tags": [], "label": "setClientFactoryProvider", @@ -4123,9 +4131,9 @@ "(clientFactoryProvider: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactoryProvider", + "section": "def-common.SavedObjectsClientFactoryProvider", "text": "SavedObjectsClientFactoryProvider" }, ") => void" @@ -4136,7 +4144,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setClientFactoryProvider.$1", + "id": "def-common.SavedObjectsServiceSetup.setClientFactoryProvider.$1", "type": "Function", "tags": [], "label": "clientFactoryProvider", @@ -4144,9 +4152,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactoryProvider", + "section": "def-common.SavedObjectsClientFactoryProvider", "text": "SavedObjectsClientFactoryProvider" } ], @@ -4160,7 +4168,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setEncryptionExtension", + "id": "def-common.SavedObjectsServiceSetup.setEncryptionExtension", "type": "Function", "tags": [], "label": "setEncryptionExtension", @@ -4171,9 +4179,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsEncryptionExtensionFactory", + "section": "def-common.SavedObjectsEncryptionExtensionFactory", "text": "SavedObjectsEncryptionExtensionFactory" }, ") => void" @@ -4184,7 +4192,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setEncryptionExtension.$1", + "id": "def-common.SavedObjectsServiceSetup.setEncryptionExtension.$1", "type": "Function", "tags": [], "label": "factory", @@ -4192,9 +4200,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsEncryptionExtensionFactory", + "section": "def-common.SavedObjectsEncryptionExtensionFactory", "text": "SavedObjectsEncryptionExtensionFactory" } ], @@ -4208,7 +4216,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setSecurityExtension", + "id": "def-common.SavedObjectsServiceSetup.setSecurityExtension", "type": "Function", "tags": [], "label": "setSecurityExtension", @@ -4219,9 +4227,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSecurityExtensionFactory", + "section": "def-common.SavedObjectsSecurityExtensionFactory", "text": "SavedObjectsSecurityExtensionFactory" }, ") => void" @@ -4232,7 +4240,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setSecurityExtension.$1", + "id": "def-common.SavedObjectsServiceSetup.setSecurityExtension.$1", "type": "Function", "tags": [], "label": "factory", @@ -4240,9 +4248,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSecurityExtensionFactory", + "section": "def-common.SavedObjectsSecurityExtensionFactory", "text": "SavedObjectsSecurityExtensionFactory" } ], @@ -4256,7 +4264,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setSpacesExtension", + "id": "def-common.SavedObjectsServiceSetup.setSpacesExtension", "type": "Function", "tags": [], "label": "setSpacesExtension", @@ -4267,9 +4275,9 @@ "(factory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSpacesExtensionFactory", + "section": "def-common.SavedObjectsSpacesExtensionFactory", "text": "SavedObjectsSpacesExtensionFactory" }, ") => void" @@ -4280,7 +4288,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.setSpacesExtension.$1", + "id": "def-common.SavedObjectsServiceSetup.setSpacesExtension.$1", "type": "Function", "tags": [], "label": "factory", @@ -4288,9 +4296,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsSpacesExtensionFactory", + "section": "def-common.SavedObjectsSpacesExtensionFactory", "text": "SavedObjectsSpacesExtensionFactory" } ], @@ -4304,7 +4312,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.registerType", + "id": "def-common.SavedObjectsServiceSetup.registerType", "type": "Function", "tags": [], "label": "registerType", @@ -4315,9 +4323,9 @@ "(type: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, ") => void" @@ -4328,7 +4336,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.registerType.$1", + "id": "def-common.SavedObjectsServiceSetup.registerType.$1", "type": "Object", "tags": [], "label": "type", @@ -4336,9 +4344,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -4353,7 +4361,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceSetup.getKibanaIndex", + "id": "def-common.SavedObjectsServiceSetup.getKibanaIndex", "type": "Function", "tags": [], "label": "getKibanaIndex", @@ -4374,7 +4382,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart", + "id": "def-common.SavedObjectsServiceStart", "type": "Interface", "tags": [], "label": "SavedObjectsServiceStart", @@ -4387,7 +4395,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.getScopedClient", + "id": "def-common.SavedObjectsServiceStart.getScopedClient", "type": "Function", "tags": [], "label": "getScopedClient", @@ -4398,25 +4406,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", options?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4426,7 +4434,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.getScopedClient.$1", + "id": "def-common.SavedObjectsServiceStart.getScopedClient.$1", "type": "Object", "tags": [], "label": "req", @@ -4434,9 +4442,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4448,7 +4456,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.getScopedClient.$2", + "id": "def-common.SavedObjectsServiceStart.getScopedClient.$2", "type": "Object", "tags": [], "label": "options", @@ -4456,9 +4464,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientProviderOptions", + "section": "def-common.SavedObjectsClientProviderOptions", "text": "SavedObjectsClientProviderOptions" }, " | undefined" @@ -4473,7 +4481,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createScopedRepository", + "id": "def-common.SavedObjectsServiceStart.createScopedRepository", "type": "Function", "tags": [], "label": "createScopedRepository", @@ -4484,25 +4492,25 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -4512,7 +4520,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createScopedRepository.$1", + "id": "def-common.SavedObjectsServiceStart.createScopedRepository.$1", "type": "Object", "tags": [], "label": "req", @@ -4522,9 +4530,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4536,7 +4544,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createScopedRepository.$2", + "id": "def-common.SavedObjectsServiceStart.createScopedRepository.$2", "type": "Array", "tags": [], "label": "includedHiddenTypes", @@ -4553,7 +4561,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createScopedRepository.$3", + "id": "def-common.SavedObjectsServiceStart.createScopedRepository.$3", "type": "Object", "tags": [], "label": "extensions", @@ -4563,9 +4571,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -4580,7 +4588,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createInternalRepository", + "id": "def-common.SavedObjectsServiceStart.createInternalRepository", "type": "Function", "tags": [], "label": "createInternalRepository", @@ -4591,17 +4599,17 @@ "(includedHiddenTypes?: string[] | undefined, extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -4611,7 +4619,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createInternalRepository.$1", + "id": "def-common.SavedObjectsServiceStart.createInternalRepository.$1", "type": "Array", "tags": [], "label": "includedHiddenTypes", @@ -4628,7 +4636,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createInternalRepository.$2", + "id": "def-common.SavedObjectsServiceStart.createInternalRepository.$2", "type": "Object", "tags": [], "label": "extensions", @@ -4638,9 +4646,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined" @@ -4655,7 +4663,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createSerializer", + "id": "def-common.SavedObjectsServiceStart.createSerializer", "type": "Function", "tags": [], "label": "createSerializer", @@ -4666,9 +4674,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSerializer", + "section": "def-common.ISavedObjectsSerializer", "text": "ISavedObjectsSerializer" } ], @@ -4680,7 +4688,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createExporter", + "id": "def-common.SavedObjectsServiceStart.createExporter", "type": "Function", "tags": [], "label": "createExporter", @@ -4691,17 +4699,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" } ], @@ -4711,7 +4719,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createExporter.$1", + "id": "def-common.SavedObjectsServiceStart.createExporter.$1", "type": "Object", "tags": [], "label": "client", @@ -4719,9 +4727,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4735,7 +4743,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createImporter", + "id": "def-common.SavedObjectsServiceStart.createImporter", "type": "Function", "tags": [], "label": "createImporter", @@ -4746,17 +4754,17 @@ "(client: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" } ], @@ -4766,7 +4774,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.createImporter.$1", + "id": "def-common.SavedObjectsServiceStart.createImporter.$1", "type": "Object", "tags": [], "label": "client", @@ -4774,9 +4782,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -4790,7 +4798,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsServiceStart.getTypeRegistry", + "id": "def-common.SavedObjectsServiceStart.getTypeRegistry", "type": "Function", "tags": [], "label": "getTypeRegistry", @@ -4801,9 +4809,9 @@ "() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" } ], @@ -4818,7 +4826,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectStatusMeta", + "id": "def-common.SavedObjectStatusMeta", "type": "Interface", "tags": [], "label": "SavedObjectStatusMeta", @@ -4831,7 +4839,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectStatusMeta.migratedIndices", + "id": "def-common.SavedObjectStatusMeta.migratedIndices", "type": "Object", "tags": [], "label": "migratedIndices", @@ -4848,7 +4856,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType", + "id": "def-common.SavedObjectsType", "type": "Interface", "tags": [], "label": "SavedObjectsType", @@ -4856,9 +4864,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -4869,7 +4877,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.name", + "id": "def-common.SavedObjectsType.name", "type": "string", "tags": [], "label": "name", @@ -4882,7 +4890,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.hidden", + "id": "def-common.SavedObjectsType.hidden", "type": "boolean", "tags": [], "label": "hidden", @@ -4895,7 +4903,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.namespaceType", + "id": "def-common.SavedObjectsType.namespaceType", "type": "CompoundType", "tags": [], "label": "namespaceType", @@ -4911,7 +4919,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.indexPattern", + "id": "def-common.SavedObjectsType.indexPattern", "type": "string", "tags": [], "label": "indexPattern", @@ -4927,7 +4935,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.convertToAliasScript", + "id": "def-common.SavedObjectsType.convertToAliasScript", "type": "string", "tags": [], "label": "convertToAliasScript", @@ -4943,7 +4951,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.excludeOnUpgrade", + "id": "def-common.SavedObjectsType.excludeOnUpgrade", "type": "Function", "tags": [], "label": "excludeOnUpgrade", @@ -4953,9 +4961,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectTypeExcludeFromUpgradeFilterHook", + "section": "def-common.SavedObjectTypeExcludeFromUpgradeFilterHook", "text": "SavedObjectTypeExcludeFromUpgradeFilterHook" }, " | undefined" @@ -4966,7 +4974,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.mappings", + "id": "def-common.SavedObjectsType.mappings", "type": "Object", "tags": [], "label": "mappings", @@ -4976,9 +4984,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeMappingDefinition", + "section": "def-common.SavedObjectsTypeMappingDefinition", "text": "SavedObjectsTypeMappingDefinition" } ], @@ -4988,7 +4996,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.migrations", + "id": "def-common.SavedObjectsType.migrations", "type": "CompoundType", "tags": [], "label": "migrations", @@ -4998,17 +5006,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, " | (() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ") | undefined" @@ -5019,7 +5027,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.schemas", + "id": "def-common.SavedObjectsType.schemas", "type": "CompoundType", "tags": [], "label": "schemas", @@ -5029,17 +5037,17 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationMap", + "section": "def-common.SavedObjectsValidationMap", "text": "SavedObjectsValidationMap" }, " | (() => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationMap", + "section": "def-common.SavedObjectsValidationMap", "text": "SavedObjectsValidationMap" }, ") | undefined" @@ -5050,7 +5058,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.convertToMultiNamespaceTypeVersion", + "id": "def-common.SavedObjectsType.convertToMultiNamespaceTypeVersion", "type": "string", "tags": [ "deprecated" @@ -5274,7 +5282,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsType.management", + "id": "def-common.SavedObjectsType.management", "type": "Object", "tags": [], "label": "management", @@ -5284,9 +5292,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeManagementDefinition", + "section": "def-common.SavedObjectsTypeManagementDefinition", "text": "SavedObjectsTypeManagementDefinition" }, " | undefined" @@ -5300,7 +5308,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition", + "id": "def-common.SavedObjectsTypeManagementDefinition", "type": "Interface", "tags": [], "label": "SavedObjectsTypeManagementDefinition", @@ -5310,9 +5318,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsTypeManagementDefinition", + "section": "def-common.SavedObjectsTypeManagementDefinition", "text": "SavedObjectsTypeManagementDefinition" }, "" @@ -5323,7 +5331,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.importableAndExportable", + "id": "def-common.SavedObjectsTypeManagementDefinition.importableAndExportable", "type": "CompoundType", "tags": [], "label": "importableAndExportable", @@ -5339,7 +5347,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.displayName", + "id": "def-common.SavedObjectsTypeManagementDefinition.displayName", "type": "string", "tags": [], "label": "displayName", @@ -5355,7 +5363,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.visibleInManagement", + "id": "def-common.SavedObjectsTypeManagementDefinition.visibleInManagement", "type": "CompoundType", "tags": [], "label": "visibleInManagement", @@ -5371,7 +5379,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.defaultSearchField", + "id": "def-common.SavedObjectsTypeManagementDefinition.defaultSearchField", "type": "string", "tags": [], "label": "defaultSearchField", @@ -5387,7 +5395,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.icon", + "id": "def-common.SavedObjectsTypeManagementDefinition.icon", "type": "string", "tags": [], "label": "icon", @@ -5403,7 +5411,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getTitle", + "id": "def-common.SavedObjectsTypeManagementDefinition.getTitle", "type": "Function", "tags": [], "label": "getTitle", @@ -5427,7 +5435,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getTitle.$1", + "id": "def-common.SavedObjectsTypeManagementDefinition.getTitle.$1", "type": "Object", "tags": [], "label": "savedObject", @@ -5452,7 +5460,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getEditUrl", + "id": "def-common.SavedObjectsTypeManagementDefinition.getEditUrl", "type": "Function", "tags": [], "label": "getEditUrl", @@ -5476,7 +5484,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getEditUrl.$1", + "id": "def-common.SavedObjectsTypeManagementDefinition.getEditUrl.$1", "type": "Object", "tags": [], "label": "savedObject", @@ -5501,7 +5509,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getInAppUrl", + "id": "def-common.SavedObjectsTypeManagementDefinition.getInAppUrl", "type": "Function", "tags": [], "label": "getInAppUrl", @@ -5525,7 +5533,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.getInAppUrl.$1", + "id": "def-common.SavedObjectsTypeManagementDefinition.getInAppUrl.$1", "type": "Object", "tags": [], "label": "savedObject", @@ -5552,7 +5560,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.onExport", + "id": "def-common.SavedObjectsTypeManagementDefinition.onExport", "type": "Function", "tags": [], "label": "onExport", @@ -5562,9 +5570,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransform", + "section": "def-common.SavedObjectsExportTransform", "text": "SavedObjectsExportTransform" }, " | undefined" @@ -5575,7 +5583,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.onImport", + "id": "def-common.SavedObjectsTypeManagementDefinition.onImport", "type": "Function", "tags": [], "label": "onImport", @@ -5585,9 +5593,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHook", + "section": "def-common.SavedObjectsImportHook", "text": "SavedObjectsImportHook" }, " | undefined" @@ -5598,7 +5606,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeManagementDefinition.isExportable", + "id": "def-common.SavedObjectsTypeManagementDefinition.isExportable", "type": "Function", "tags": [], "label": "isExportable", @@ -5608,9 +5616,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportablePredicate", + "section": "def-common.SavedObjectsExportablePredicate", "text": "SavedObjectsExportablePredicate" }, " | undefined" @@ -5624,7 +5632,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeMappingDefinition", + "id": "def-common.SavedObjectsTypeMappingDefinition", "type": "Interface", "tags": [], "label": "SavedObjectsTypeMappingDefinition", @@ -5637,7 +5645,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeMappingDefinition.dynamic", + "id": "def-common.SavedObjectsTypeMappingDefinition.dynamic", "type": "CompoundType", "tags": [], "label": "dynamic", @@ -5653,7 +5661,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsTypeMappingDefinition.properties", + "id": "def-common.SavedObjectsTypeMappingDefinition.properties", "type": "Object", "tags": [], "label": "properties", @@ -5663,9 +5671,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsMappingProperties", + "section": "def-common.SavedObjectsMappingProperties", "text": "SavedObjectsMappingProperties" } ], @@ -5678,7 +5686,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsValidationMap", + "id": "def-common.SavedObjectsValidationMap", "type": "Interface", "tags": [], "label": "SavedObjectsValidationMap", @@ -5691,7 +5699,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsValidationMap.Unnamed", + "id": "def-common.SavedObjectsValidationMap.Unnamed", "type": "IndexSignature", "tags": [], "label": "[version: string]: SavedObjectsValidationSpec", @@ -5700,9 +5708,9 @@ "[version: string]: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsValidationSpec", + "section": "def-common.SavedObjectsValidationSpec", "text": "SavedObjectsValidationSpec" } ], @@ -5717,7 +5725,7 @@ "enums": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AuditAction", + "id": "def-common.AuditAction", "type": "Enum", "tags": [], "label": "AuditAction", @@ -5733,7 +5741,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.AuthorizationTypeMap", + "id": "def-common.AuthorizationTypeMap", "type": "Type", "tags": [], "label": "AuthorizationTypeMap", @@ -5744,9 +5752,9 @@ "Map>" @@ -5758,7 +5766,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.CreatedObject", + "id": "def-common.CreatedObject", "type": "Type", "tags": [], "label": "CreatedObject", @@ -5780,7 +5788,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.ENCRYPTION_EXTENSION_ID", + "id": "def-common.ENCRYPTION_EXTENSION_ID", "type": "string", "tags": [], "label": "ENCRYPTION_EXTENSION_ID", @@ -5795,7 +5803,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationFn", + "id": "def-common.SavedObjectMigrationFn", "type": "Type", "tags": [], "label": "SavedObjectMigrationFn", @@ -5806,25 +5814,25 @@ "(doc: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, ", context: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectUnsanitizedDoc", + "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, "" @@ -5836,7 +5844,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationFn.$1", + "id": "def-common.SavedObjectMigrationFn.$1", "type": "CompoundType", "tags": [], "label": "doc", @@ -5858,7 +5866,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectMigrationFn.$2", + "id": "def-common.SavedObjectMigrationFn.$2", "type": "Object", "tags": [], "label": "context", @@ -5866,9 +5874,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" } ], @@ -5881,7 +5889,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectSanitizedDoc", + "id": "def-common.SavedObjectSanitizedDoc", "type": "Type", "tags": [], "label": "SavedObjectSanitizedDoc", @@ -5906,7 +5914,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientFactory", + "id": "def-common.SavedObjectsClientFactory", "type": "Type", "tags": [], "label": "SavedObjectsClientFactory", @@ -5917,25 +5925,25 @@ "({ request, includedHiddenTypes, extensions, }: { request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; includedHiddenTypes?: string[] | undefined; extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined; }) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -5946,7 +5954,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientFactory.$1", + "id": "def-common.SavedObjectsClientFactory.$1", "type": "Object", "tags": [], "label": "__0", @@ -5955,17 +5963,17 @@ "{ request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; includedHiddenTypes?: string[] | undefined; extensions?: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExtensions", + "section": "def-common.SavedObjectsExtensions", "text": "SavedObjectsExtensions" }, " | undefined; }" @@ -5979,7 +5987,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientFactoryProvider", + "id": "def-common.SavedObjectsClientFactoryProvider", "type": "Type", "tags": [], "label": "SavedObjectsClientFactoryProvider", @@ -5990,17 +5998,17 @@ "(repositoryFactory: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRepositoryFactory", + "section": "def-common.SavedObjectsRepositoryFactory", "text": "SavedObjectsRepositoryFactory" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsClientFactory", + "section": "def-common.SavedObjectsClientFactory", "text": "SavedObjectsClientFactory" } ], @@ -6011,7 +6019,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsClientFactoryProvider.$1", + "id": "def-common.SavedObjectsClientFactoryProvider.$1", "type": "Object", "tags": [], "label": "repositoryFactory", @@ -6019,9 +6027,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsRepositoryFactory", + "section": "def-common.SavedObjectsRepositoryFactory", "text": "SavedObjectsRepositoryFactory" } ], @@ -6034,7 +6042,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsEncryptionExtensionFactory", + "id": "def-common.SavedObjectsEncryptionExtensionFactory", "type": "Type", "tags": [], "label": "SavedObjectsEncryptionExtensionFactory", @@ -6045,25 +6053,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsEncryptionExtension", + "section": "def-common.ISavedObjectsEncryptionExtension", "text": "ISavedObjectsEncryptionExtension" }, " | undefined" @@ -6075,7 +6083,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsEncryptionExtensionFactory.$1", + "id": "def-common.SavedObjectsEncryptionExtensionFactory.$1", "type": "Object", "tags": [], "label": "params", @@ -6084,17 +6092,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -6108,7 +6116,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportablePredicate", + "id": "def-common.SavedObjectsExportablePredicate", "type": "Type", "tags": [], "label": "SavedObjectsExportablePredicate", @@ -6131,7 +6139,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportablePredicate.$1", + "id": "def-common.SavedObjectsExportablePredicate.$1", "type": "Object", "tags": [], "label": "obj", @@ -6155,7 +6163,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportTransform", + "id": "def-common.SavedObjectsExportTransform", "type": "Type", "tags": [], "label": "SavedObjectsExportTransform", @@ -6166,9 +6174,9 @@ "(context: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransformContext", + "section": "def-common.SavedObjectsExportTransformContext", "text": "SavedObjectsExportTransformContext" }, ", objects: ", @@ -6204,7 +6212,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportTransform.$1", + "id": "def-common.SavedObjectsExportTransform.$1", "type": "Object", "tags": [], "label": "context", @@ -6212,9 +6220,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsExportTransformContext", + "section": "def-common.SavedObjectsExportTransformContext", "text": "SavedObjectsExportTransformContext" } ], @@ -6224,7 +6232,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExportTransform.$2", + "id": "def-common.SavedObjectsExportTransform.$2", "type": "Array", "tags": [], "label": "objects", @@ -6248,7 +6256,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensionFactory", + "id": "def-common.SavedObjectsExtensionFactory", "type": "Type", "tags": [], "label": "SavedObjectsExtensionFactory", @@ -6259,17 +6267,17 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => T" @@ -6281,7 +6289,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsExtensionFactory.$1", + "id": "def-common.SavedObjectsExtensionFactory.$1", "type": "Object", "tags": [], "label": "params", @@ -6290,17 +6298,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -6314,7 +6322,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsFieldMapping", + "id": "def-common.SavedObjectsFieldMapping", "type": "Type", "tags": [], "label": "SavedObjectsFieldMapping", @@ -6334,7 +6342,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportHook", + "id": "def-common.SavedObjectsImportHook", "type": "Type", "tags": [], "label": "SavedObjectsImportHook", @@ -6353,17 +6361,17 @@ "[]) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHookResult", + "section": "def-common.SavedObjectsImportHookResult", "text": "SavedObjectsImportHookResult" }, " | Promise<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsImportHookResult", + "section": "def-common.SavedObjectsImportHookResult", "text": "SavedObjectsImportHookResult" }, ">" @@ -6375,7 +6383,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsImportHook.$1", + "id": "def-common.SavedObjectsImportHook.$1", "type": "Array", "tags": [], "label": "objects", @@ -6399,7 +6407,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsSecurityExtensionFactory", + "id": "def-common.SavedObjectsSecurityExtensionFactory", "type": "Type", "tags": [], "label": "SavedObjectsSecurityExtensionFactory", @@ -6410,25 +6418,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSecurityExtension", + "section": "def-common.ISavedObjectsSecurityExtension", "text": "ISavedObjectsSecurityExtension" }, " | undefined" @@ -6440,7 +6448,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsSecurityExtensionFactory.$1", + "id": "def-common.SavedObjectsSecurityExtensionFactory.$1", "type": "Object", "tags": [], "label": "params", @@ -6449,17 +6457,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -6473,7 +6481,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsSpacesExtensionFactory", + "id": "def-common.SavedObjectsSpacesExtensionFactory", "type": "Type", "tags": [], "label": "SavedObjectsSpacesExtensionFactory", @@ -6484,25 +6492,25 @@ "(params: { typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSpacesExtension", + "section": "def-common.ISavedObjectsSpacesExtension", "text": "ISavedObjectsSpacesExtension" }, " | undefined" @@ -6514,7 +6522,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsSpacesExtensionFactory.$1", + "id": "def-common.SavedObjectsSpacesExtensionFactory.$1", "type": "Object", "tags": [], "label": "params", @@ -6523,17 +6531,17 @@ "{ typeRegistry: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "; request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; }" @@ -6547,7 +6555,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectsValidationSpec", + "id": "def-common.SavedObjectsValidationSpec", "type": "Type", "tags": [], "label": "SavedObjectsValidationSpec", @@ -6557,9 +6565,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "" @@ -6571,7 +6579,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectTypeExcludeFromUpgradeFilterHook", + "id": "def-common.SavedObjectTypeExcludeFromUpgradeFilterHook", "type": "Type", "tags": [ "alpha" @@ -6584,17 +6592,17 @@ "(toolkit: { readonlyEsClient: Pick<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", \"search\">; }) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MaybePromise", + "section": "def-common.MaybePromise", "text": "MaybePromise" }, "<", @@ -6608,7 +6616,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectTypeExcludeFromUpgradeFilterHook.$1", + "id": "def-common.SavedObjectTypeExcludeFromUpgradeFilterHook.$1", "type": "Object", "tags": [], "label": "toolkit", @@ -6617,9 +6625,9 @@ "{ readonlyEsClient: Pick<", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", \"search\">; }" @@ -6633,7 +6641,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SavedObjectUnsanitizedDoc", + "id": "def-common.SavedObjectUnsanitizedDoc", "type": "Type", "tags": [], "label": "SavedObjectUnsanitizedDoc", @@ -6658,7 +6666,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SECURITY_EXTENSION_ID", + "id": "def-common.SECURITY_EXTENSION_ID", "type": "string", "tags": [], "label": "SECURITY_EXTENSION_ID", @@ -6673,7 +6681,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-server.SPACES_EXTENSION_ID", + "id": "def-common.SPACES_EXTENSION_ID", "type": "string", "tags": [], "label": "SPACES_EXTENSION_ID", @@ -6688,13 +6696,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index ee4c686db0de8..0777dd9ce30b2 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 305 | 0 | 91 | 0 | -## Server +## Common ### Interfaces - + ### Enums - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_saved_objects_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_server_internal.devdocs.json index 7449f9750e918..7be7397a6d77f 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService", + "id": "def-common.SavedObjectsService", "type": "Class", "tags": [], "label": "SavedObjectsService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerInternalPluginApi", - "section": "def-server.SavedObjectsService", + "section": "def-common.SavedObjectsService", "text": "SavedObjectsService" }, " implements ", @@ -32,9 +40,9 @@ ", ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ">" @@ -45,7 +53,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.Unnamed", + "id": "def-common.SavedObjectsService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -59,7 +67,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.Unnamed.$1", + "id": "def-common.SavedObjectsService.Unnamed.$1", "type": "Object", "tags": [], "label": "coreContext", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.setup", + "id": "def-common.SavedObjectsService.setup", "type": "Function", "tags": [], "label": "setup", @@ -95,7 +103,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.setup.$1", + "id": "def-common.SavedObjectsService.setup.$1", "type": "Object", "tags": [], "label": "setupDeps", @@ -113,7 +121,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.start", + "id": "def-common.SavedObjectsService.start", "type": "Function", "tags": [], "label": "start", @@ -124,9 +132,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ">" @@ -137,7 +145,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.start.$1", + "id": "def-common.SavedObjectsService.start.$1", "type": "Object", "tags": [], "label": "{\n elasticsearch,\n pluginsInitialized = true,\n docLinks,\n node,\n }", @@ -155,7 +163,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.SavedObjectsService.stop", + "id": "def-common.SavedObjectsService.stop", "type": "Function", "tags": [], "label": "stop", @@ -176,7 +184,7 @@ "functions": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkCreateRoute", + "id": "def-common.registerBulkCreateRoute", "type": "Function", "tags": [], "label": "registerBulkCreateRoute", @@ -192,7 +200,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkCreateRoute.$1", + "id": "def-common.registerBulkCreateRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -207,7 +215,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkCreateRoute.$2", + "id": "def-common.registerBulkCreateRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -226,7 +234,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkDeleteRoute", + "id": "def-common.registerBulkDeleteRoute", "type": "Function", "tags": [], "label": "registerBulkDeleteRoute", @@ -242,7 +250,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkDeleteRoute.$1", + "id": "def-common.registerBulkDeleteRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -257,7 +265,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkDeleteRoute.$2", + "id": "def-common.registerBulkDeleteRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -276,7 +284,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkGetRoute", + "id": "def-common.registerBulkGetRoute", "type": "Function", "tags": [], "label": "registerBulkGetRoute", @@ -292,7 +300,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkGetRoute.$1", + "id": "def-common.registerBulkGetRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -307,7 +315,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkGetRoute.$2", + "id": "def-common.registerBulkGetRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -326,7 +334,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkResolveRoute", + "id": "def-common.registerBulkResolveRoute", "type": "Function", "tags": [], "label": "registerBulkResolveRoute", @@ -342,7 +350,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkResolveRoute.$1", + "id": "def-common.registerBulkResolveRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -357,7 +365,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkResolveRoute.$2", + "id": "def-common.registerBulkResolveRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -376,7 +384,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkUpdateRoute", + "id": "def-common.registerBulkUpdateRoute", "type": "Function", "tags": [], "label": "registerBulkUpdateRoute", @@ -392,7 +400,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkUpdateRoute.$1", + "id": "def-common.registerBulkUpdateRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -407,7 +415,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerBulkUpdateRoute.$2", + "id": "def-common.registerBulkUpdateRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -426,7 +434,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerCreateRoute", + "id": "def-common.registerCreateRoute", "type": "Function", "tags": [], "label": "registerCreateRoute", @@ -442,7 +450,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerCreateRoute.$1", + "id": "def-common.registerCreateRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -457,7 +465,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerCreateRoute.$2", + "id": "def-common.registerCreateRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -476,7 +484,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteRoute", + "id": "def-common.registerDeleteRoute", "type": "Function", "tags": [], "label": "registerDeleteRoute", @@ -492,7 +500,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteRoute.$1", + "id": "def-common.registerDeleteRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -507,7 +515,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteRoute.$2", + "id": "def-common.registerDeleteRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -526,7 +534,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteUnknownTypesRoute", + "id": "def-common.registerDeleteUnknownTypesRoute", "type": "Function", "tags": [], "label": "registerDeleteUnknownTypesRoute", @@ -542,7 +550,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteUnknownTypesRoute.$1", + "id": "def-common.registerDeleteUnknownTypesRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -557,7 +565,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerDeleteUnknownTypesRoute.$2", + "id": "def-common.registerDeleteUnknownTypesRoute.$2", "type": "Object", "tags": [], "label": "{ kibanaIndex, kibanaVersion }", @@ -576,7 +584,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerExportRoute", + "id": "def-common.registerExportRoute", "type": "Function", "tags": [], "label": "registerExportRoute", @@ -592,7 +600,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerExportRoute.$1", + "id": "def-common.registerExportRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -607,7 +615,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerExportRoute.$2", + "id": "def-common.registerExportRoute.$2", "type": "Object", "tags": [], "label": "{ config, coreUsageData }", @@ -626,7 +634,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerFindRoute", + "id": "def-common.registerFindRoute", "type": "Function", "tags": [], "label": "registerFindRoute", @@ -642,7 +650,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerFindRoute.$1", + "id": "def-common.registerFindRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -657,7 +665,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerFindRoute.$2", + "id": "def-common.registerFindRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -676,7 +684,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerGetRoute", + "id": "def-common.registerGetRoute", "type": "Function", "tags": [], "label": "registerGetRoute", @@ -692,7 +700,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerGetRoute.$1", + "id": "def-common.registerGetRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -707,7 +715,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerGetRoute.$2", + "id": "def-common.registerGetRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -726,7 +734,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerImportRoute", + "id": "def-common.registerImportRoute", "type": "Function", "tags": [], "label": "registerImportRoute", @@ -742,7 +750,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerImportRoute.$1", + "id": "def-common.registerImportRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -757,7 +765,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerImportRoute.$2", + "id": "def-common.registerImportRoute.$2", "type": "Object", "tags": [], "label": "{ config, coreUsageData }", @@ -776,7 +784,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute", + "id": "def-common.registerLegacyExportRoute", "type": "Function", "tags": [], "label": "registerLegacyExportRoute", @@ -789,9 +797,9 @@ "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => void" @@ -802,7 +810,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute.$1", + "id": "def-common.registerLegacyExportRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -817,7 +825,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute.$2", + "id": "def-common.registerLegacyExportRoute.$2", "type": "Object", "tags": [], "label": "{\n kibanaVersion,\n coreUsageData,\n logger,\n }", @@ -828,7 +836,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute.$2.kibanaVersion", + "id": "def-common.registerLegacyExportRoute.$2.kibanaVersion", "type": "string", "tags": [], "label": "kibanaVersion", @@ -839,7 +847,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute.$2.coreUsageData", + "id": "def-common.registerLegacyExportRoute.$2.coreUsageData", "type": "Object", "tags": [], "label": "coreUsageData", @@ -853,7 +861,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyExportRoute.$2.logger", + "id": "def-common.registerLegacyExportRoute.$2.logger", "type": "Object", "tags": [], "label": "logger", @@ -861,9 +869,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -879,7 +887,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute", + "id": "def-common.registerLegacyImportRoute", "type": "Function", "tags": [], "label": "registerLegacyImportRoute", @@ -892,9 +900,9 @@ "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => void" @@ -905,7 +913,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute.$1", + "id": "def-common.registerLegacyImportRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -920,7 +928,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute.$2", + "id": "def-common.registerLegacyImportRoute.$2", "type": "Object", "tags": [], "label": "{\n maxImportPayloadBytes,\n coreUsageData,\n logger,\n }", @@ -931,7 +939,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute.$2.maxImportPayloadBytes", + "id": "def-common.registerLegacyImportRoute.$2.maxImportPayloadBytes", "type": "number", "tags": [], "label": "maxImportPayloadBytes", @@ -942,7 +950,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute.$2.coreUsageData", + "id": "def-common.registerLegacyImportRoute.$2.coreUsageData", "type": "Object", "tags": [], "label": "coreUsageData", @@ -956,7 +964,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerLegacyImportRoute.$2.logger", + "id": "def-common.registerLegacyImportRoute.$2.logger", "type": "Object", "tags": [], "label": "logger", @@ -964,9 +972,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -982,7 +990,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerMigrateRoute", + "id": "def-common.registerMigrateRoute", "type": "Function", "tags": [], "label": "registerMigrateRoute", @@ -1000,7 +1008,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerMigrateRoute.$1", + "id": "def-common.registerMigrateRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -1015,7 +1023,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerMigrateRoute.$2", + "id": "def-common.registerMigrateRoute.$2", "type": "Object", "tags": [], "label": "migratorPromise", @@ -1036,7 +1044,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveImportErrorsRoute", + "id": "def-common.registerResolveImportErrorsRoute", "type": "Function", "tags": [], "label": "registerResolveImportErrorsRoute", @@ -1052,7 +1060,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveImportErrorsRoute.$1", + "id": "def-common.registerResolveImportErrorsRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -1067,7 +1075,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveImportErrorsRoute.$2", + "id": "def-common.registerResolveImportErrorsRoute.$2", "type": "Object", "tags": [], "label": "{ config, coreUsageData }", @@ -1086,7 +1094,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveRoute", + "id": "def-common.registerResolveRoute", "type": "Function", "tags": [], "label": "registerResolveRoute", @@ -1102,7 +1110,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveRoute.$1", + "id": "def-common.registerResolveRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -1117,7 +1125,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerResolveRoute.$2", + "id": "def-common.registerResolveRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -1136,7 +1144,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerUpdateRoute", + "id": "def-common.registerUpdateRoute", "type": "Function", "tags": [], "label": "registerUpdateRoute", @@ -1152,7 +1160,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerUpdateRoute.$1", + "id": "def-common.registerUpdateRoute.$1", "type": "Object", "tags": [], "label": "router", @@ -1167,7 +1175,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.registerUpdateRoute.$2", + "id": "def-common.registerUpdateRoute.$2", "type": "Object", "tags": [], "label": "{ coreUsageData }", @@ -1190,7 +1198,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-server-internal", - "id": "def-server.InternalSavedObjectsServiceStart", + "id": "def-common.InternalSavedObjectsServiceStart", "type": "Type", "tags": [], "label": "InternalSavedObjectsServiceStart", @@ -1198,9 +1206,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" } ], @@ -1211,13 +1219,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 2e27c459a75af..75bc036df15e5 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 69 | 0 | 69 | 4 | -## Server +## Common ### Functions - + ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_saved_objects_server_mocks.devdocs.json b/api_docs/kbn_core_saved_objects_server_mocks.devdocs.json index 31a6f16b36edd..5921b0ffc7da9 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock", + "id": "def-common.savedObjectsServiceMock", "type": "Object", "tags": [], "label": "savedObjectsServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.create", + "id": "def-common.savedObjectsServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createInternalSetupContract", + "id": "def-common.savedObjectsServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createSetupContract", + "id": "def-common.savedObjectsServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -71,9 +79,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceSetup", + "section": "def-common.SavedObjectsServiceSetup", "text": "SavedObjectsServiceSetup" }, ">" @@ -86,7 +94,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createInternalStartContract", + "id": "def-common.savedObjectsServiceMock.createInternalStartContract", "type": "Function", "tags": [], "label": "createInternalStartContract", @@ -95,17 +103,17 @@ "(typeRegistry?: jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "> | undefined) => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ">" @@ -117,7 +125,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createInternalStartContract.$1", + "id": "def-common.savedObjectsServiceMock.createInternalStartContract.$1", "type": "CompoundType", "tags": [], "label": "typeRegistry", @@ -126,9 +134,9 @@ "jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "> | undefined" @@ -141,7 +149,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createStartContract", + "id": "def-common.savedObjectsServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -150,17 +158,17 @@ "(typeRegistry?: jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "> | undefined) => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ">" @@ -172,7 +180,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createStartContract.$1", + "id": "def-common.savedObjectsServiceMock.createStartContract.$1", "type": "CompoundType", "tags": [], "label": "typeRegistry", @@ -181,9 +189,9 @@ "jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, "> | undefined" @@ -196,7 +204,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createMigrationContext", + "id": "def-common.savedObjectsServiceMock.createMigrationContext", "type": "Function", "tags": [], "label": "createMigrationContext", @@ -205,9 +213,9 @@ "({ migrationVersion, convertToMultiNamespaceTypeVersion, isSingleNamespaceType, }?: { migrationVersion?: string | undefined; convertToMultiNamespaceTypeVersion?: string | undefined; isSingleNamespaceType?: boolean | undefined; }) => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationContext", + "section": "def-common.SavedObjectMigrationContext", "text": "SavedObjectMigrationContext" }, ">" @@ -219,7 +227,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createMigrationContext.$1", + "id": "def-common.savedObjectsServiceMock.createMigrationContext.$1", "type": "Object", "tags": [], "label": "__0", @@ -235,7 +243,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createTypeRegistryMock", + "id": "def-common.savedObjectsServiceMock.createTypeRegistryMock", "type": "Function", "tags": [], "label": "createTypeRegistryMock", @@ -244,9 +252,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, " & Pick<", @@ -261,7 +269,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createExporter", + "id": "def-common.savedObjectsServiceMock.createExporter", "type": "Function", "tags": [], "label": "createExporter", @@ -270,9 +278,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" }, ">" @@ -285,7 +293,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createImporter", + "id": "def-common.savedObjectsServiceMock.createImporter", "type": "Function", "tags": [], "label": "createImporter", @@ -294,9 +302,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" }, ">" @@ -309,7 +317,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server-mocks", - "id": "def-server.savedObjectsServiceMock.createSerializer", + "id": "def-common.savedObjectsServiceMock.createSerializer", "type": "Function", "tags": [], "label": "createSerializer", @@ -318,9 +326,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsSerializer", + "section": "def-common.ISavedObjectsSerializer", "text": "ISavedObjectsSerializer" }, ">" @@ -335,13 +343,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 0189d3b57a303..b5cb2371044ca 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 14 | 0 | 14 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_saved_objects_utils_server.devdocs.json b/api_docs/kbn_core_saved_objects_utils_server.devdocs.json index b0d192a1217ce..a3e686f6bdabc 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_utils_server.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers", + "id": "def-common.SavedObjectsErrorHelpers", "type": "Class", "tags": [], "label": "SavedObjectsErrorHelpers", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isSavedObjectsClientError", + "id": "def-common.SavedObjectsErrorHelpers.isSavedObjectsClientError", "type": "Function", "tags": [], "label": "isSavedObjectsClientError", @@ -32,9 +40,9 @@ "(error: any) => error is ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -44,7 +52,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isSavedObjectsClientError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isSavedObjectsClientError.$1", "type": "Any", "tags": [], "label": "error", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateBadRequestError", + "id": "def-common.SavedObjectsErrorHelpers.decorateBadRequestError", "type": "Function", "tags": [], "label": "decorateBadRequestError", @@ -71,9 +79,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -83,7 +91,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateBadRequestError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateBadRequestError.$1", "type": "Object", "tags": [], "label": "error", @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateBadRequestError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateBadRequestError.$2", "type": "string", "tags": [], "label": "reason", @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createBadRequestError", + "id": "def-common.SavedObjectsErrorHelpers.createBadRequestError", "type": "Function", "tags": [], "label": "createBadRequestError", @@ -125,9 +133,9 @@ "(reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -137,7 +145,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createBadRequestError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createBadRequestError.$1", "type": "string", "tags": [], "label": "reason", @@ -155,7 +163,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createUnsupportedTypeError", + "id": "def-common.SavedObjectsErrorHelpers.createUnsupportedTypeError", "type": "Function", "tags": [], "label": "createUnsupportedTypeError", @@ -164,9 +172,9 @@ "(type: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -176,7 +184,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createUnsupportedTypeError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createUnsupportedTypeError.$1", "type": "string", "tags": [], "label": "type", @@ -194,7 +202,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isBadRequestError", + "id": "def-common.SavedObjectsErrorHelpers.isBadRequestError", "type": "Function", "tags": [], "label": "isBadRequestError", @@ -203,9 +211,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -216,7 +224,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isBadRequestError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isBadRequestError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -225,9 +233,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -241,7 +249,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createInvalidVersionError", + "id": "def-common.SavedObjectsErrorHelpers.createInvalidVersionError", "type": "Function", "tags": [], "label": "createInvalidVersionError", @@ -250,9 +258,9 @@ "(versionInput?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -262,7 +270,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createInvalidVersionError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createInvalidVersionError.$1", "type": "string", "tags": [], "label": "versionInput", @@ -280,7 +288,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isInvalidVersionError", + "id": "def-common.SavedObjectsErrorHelpers.isInvalidVersionError", "type": "Function", "tags": [], "label": "isInvalidVersionError", @@ -289,9 +297,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -302,7 +310,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isInvalidVersionError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isInvalidVersionError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -311,9 +319,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -327,7 +335,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateNotAuthorizedError", + "id": "def-common.SavedObjectsErrorHelpers.decorateNotAuthorizedError", "type": "Function", "tags": [], "label": "decorateNotAuthorizedError", @@ -336,9 +344,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -348,7 +356,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateNotAuthorizedError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateNotAuthorizedError.$1", "type": "Object", "tags": [], "label": "error", @@ -363,7 +371,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateNotAuthorizedError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateNotAuthorizedError.$2", "type": "string", "tags": [], "label": "reason", @@ -381,7 +389,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isNotAuthorizedError", + "id": "def-common.SavedObjectsErrorHelpers.isNotAuthorizedError", "type": "Function", "tags": [], "label": "isNotAuthorizedError", @@ -390,9 +398,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -403,7 +411,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isNotAuthorizedError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isNotAuthorizedError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -412,9 +420,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -428,7 +436,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateForbiddenError", + "id": "def-common.SavedObjectsErrorHelpers.decorateForbiddenError", "type": "Function", "tags": [], "label": "decorateForbiddenError", @@ -437,9 +445,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -449,7 +457,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateForbiddenError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateForbiddenError.$1", "type": "Object", "tags": [], "label": "error", @@ -464,7 +472,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateForbiddenError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateForbiddenError.$2", "type": "string", "tags": [], "label": "reason", @@ -482,7 +490,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isForbiddenError", + "id": "def-common.SavedObjectsErrorHelpers.isForbiddenError", "type": "Function", "tags": [], "label": "isForbiddenError", @@ -491,9 +499,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -504,7 +512,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isForbiddenError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isForbiddenError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -513,9 +521,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -529,7 +537,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError", + "id": "def-common.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError", "type": "Function", "tags": [], "label": "decorateRequestEntityTooLargeError", @@ -538,9 +546,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -550,7 +558,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError.$1", "type": "Object", "tags": [], "label": "error", @@ -565,7 +573,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateRequestEntityTooLargeError.$2", "type": "string", "tags": [], "label": "reason", @@ -583,7 +591,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isRequestEntityTooLargeError", + "id": "def-common.SavedObjectsErrorHelpers.isRequestEntityTooLargeError", "type": "Function", "tags": [], "label": "isRequestEntityTooLargeError", @@ -592,9 +600,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -605,7 +613,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isRequestEntityTooLargeError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isRequestEntityTooLargeError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -614,9 +622,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -630,7 +638,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundError", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundError", "type": "Function", "tags": [], "label": "createGenericNotFoundError", @@ -639,9 +647,9 @@ "(type?: string | null, id?: string | null) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -651,7 +659,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundError.$1", "type": "CompoundType", "tags": [], "label": "type", @@ -666,7 +674,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundError.$2", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundError.$2", "type": "CompoundType", "tags": [], "label": "id", @@ -684,7 +692,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createIndexAliasNotFoundError", + "id": "def-common.SavedObjectsErrorHelpers.createIndexAliasNotFoundError", "type": "Function", "tags": [], "label": "createIndexAliasNotFoundError", @@ -693,9 +701,9 @@ "(alias: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -705,7 +713,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createIndexAliasNotFoundError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createIndexAliasNotFoundError.$1", "type": "string", "tags": [], "label": "alias", @@ -723,7 +731,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError", + "id": "def-common.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError", "type": "Function", "tags": [], "label": "decorateIndexAliasNotFoundError", @@ -732,9 +740,9 @@ "(error: Error, alias: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -744,7 +752,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError.$1", "type": "Object", "tags": [], "label": "error", @@ -759,7 +767,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError.$2", "type": "string", "tags": [], "label": "alias", @@ -777,7 +785,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isNotFoundError", + "id": "def-common.SavedObjectsErrorHelpers.isNotFoundError", "type": "Function", "tags": [], "label": "isNotFoundError", @@ -786,9 +794,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -799,7 +807,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isNotFoundError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isNotFoundError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -808,9 +816,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -824,7 +832,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateConflictError", + "id": "def-common.SavedObjectsErrorHelpers.decorateConflictError", "type": "Function", "tags": [], "label": "decorateConflictError", @@ -833,9 +841,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -845,7 +853,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateConflictError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateConflictError.$1", "type": "Object", "tags": [], "label": "error", @@ -860,7 +868,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateConflictError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateConflictError.$2", "type": "string", "tags": [], "label": "reason", @@ -878,7 +886,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createConflictError", + "id": "def-common.SavedObjectsErrorHelpers.createConflictError", "type": "Function", "tags": [], "label": "createConflictError", @@ -887,9 +895,9 @@ "(type: string, id: string, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -899,7 +907,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createConflictError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createConflictError.$1", "type": "string", "tags": [], "label": "type", @@ -914,7 +922,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createConflictError.$2", + "id": "def-common.SavedObjectsErrorHelpers.createConflictError.$2", "type": "string", "tags": [], "label": "id", @@ -929,7 +937,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createConflictError.$3", + "id": "def-common.SavedObjectsErrorHelpers.createConflictError.$3", "type": "string", "tags": [], "label": "reason", @@ -947,7 +955,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isConflictError", + "id": "def-common.SavedObjectsErrorHelpers.isConflictError", "type": "Function", "tags": [], "label": "isConflictError", @@ -956,9 +964,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -969,7 +977,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isConflictError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isConflictError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -978,9 +986,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -994,7 +1002,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateTooManyRequestsError", + "id": "def-common.SavedObjectsErrorHelpers.decorateTooManyRequestsError", "type": "Function", "tags": [], "label": "decorateTooManyRequestsError", @@ -1003,9 +1011,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1015,7 +1023,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateTooManyRequestsError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateTooManyRequestsError.$1", "type": "Object", "tags": [], "label": "error", @@ -1030,7 +1038,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateTooManyRequestsError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateTooManyRequestsError.$2", "type": "string", "tags": [], "label": "reason", @@ -1048,7 +1056,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createTooManyRequestsError", + "id": "def-common.SavedObjectsErrorHelpers.createTooManyRequestsError", "type": "Function", "tags": [], "label": "createTooManyRequestsError", @@ -1057,9 +1065,9 @@ "(type: string, id: string) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1069,7 +1077,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createTooManyRequestsError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createTooManyRequestsError.$1", "type": "string", "tags": [], "label": "type", @@ -1084,7 +1092,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createTooManyRequestsError.$2", + "id": "def-common.SavedObjectsErrorHelpers.createTooManyRequestsError.$2", "type": "string", "tags": [], "label": "id", @@ -1102,7 +1110,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isTooManyRequestsError", + "id": "def-common.SavedObjectsErrorHelpers.isTooManyRequestsError", "type": "Function", "tags": [], "label": "isTooManyRequestsError", @@ -1111,9 +1119,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -1124,7 +1132,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isTooManyRequestsError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isTooManyRequestsError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -1133,9 +1141,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1149,7 +1157,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError", "type": "Function", "tags": [], "label": "decorateEsCannotExecuteScriptError", @@ -1158,9 +1166,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1170,7 +1178,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError.$1", "type": "Object", "tags": [], "label": "error", @@ -1185,7 +1193,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsCannotExecuteScriptError.$2", "type": "string", "tags": [], "label": "reason", @@ -1203,7 +1211,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isEsCannotExecuteScriptError", + "id": "def-common.SavedObjectsErrorHelpers.isEsCannotExecuteScriptError", "type": "Function", "tags": [], "label": "isEsCannotExecuteScriptError", @@ -1212,9 +1220,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -1225,7 +1233,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isEsCannotExecuteScriptError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isEsCannotExecuteScriptError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -1234,9 +1242,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1250,7 +1258,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsUnavailableError", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsUnavailableError", "type": "Function", "tags": [], "label": "decorateEsUnavailableError", @@ -1259,9 +1267,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1271,7 +1279,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsUnavailableError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsUnavailableError.$1", "type": "Object", "tags": [], "label": "error", @@ -1286,7 +1294,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateEsUnavailableError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateEsUnavailableError.$2", "type": "string", "tags": [], "label": "reason", @@ -1304,7 +1312,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isEsUnavailableError", + "id": "def-common.SavedObjectsErrorHelpers.isEsUnavailableError", "type": "Function", "tags": [], "label": "isEsUnavailableError", @@ -1313,9 +1321,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -1326,7 +1334,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isEsUnavailableError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isEsUnavailableError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -1335,9 +1343,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1351,7 +1359,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateGeneralError", + "id": "def-common.SavedObjectsErrorHelpers.decorateGeneralError", "type": "Function", "tags": [], "label": "decorateGeneralError", @@ -1360,9 +1368,9 @@ "(error: Error, reason?: string | undefined) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1372,7 +1380,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateGeneralError.$1", + "id": "def-common.SavedObjectsErrorHelpers.decorateGeneralError.$1", "type": "Object", "tags": [], "label": "error", @@ -1387,7 +1395,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.decorateGeneralError.$2", + "id": "def-common.SavedObjectsErrorHelpers.decorateGeneralError.$2", "type": "string", "tags": [], "label": "reason", @@ -1405,7 +1413,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isGeneralError", + "id": "def-common.SavedObjectsErrorHelpers.isGeneralError", "type": "Function", "tags": [], "label": "isGeneralError", @@ -1414,9 +1422,9 @@ "(error: Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, ") => boolean" @@ -1427,7 +1435,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.isGeneralError.$1", + "id": "def-common.SavedObjectsErrorHelpers.isGeneralError.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -1436,9 +1444,9 @@ "Error | ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1452,7 +1460,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError", "type": "Function", "tags": [], "label": "createGenericNotFoundEsUnavailableError", @@ -1461,9 +1469,9 @@ "(type?: string | null, id?: string | null) => ", { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" } ], @@ -1473,7 +1481,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$1", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$1", "type": "CompoundType", "tags": [], "label": "type", @@ -1488,7 +1496,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$2", + "id": "def-common.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$2", "type": "CompoundType", "tags": [], "label": "id", @@ -1509,7 +1517,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils", + "id": "def-common.SavedObjectsUtils", "type": "Class", "tags": [], "label": "SavedObjectsUtils", @@ -1520,7 +1528,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.namespaceIdToString", + "id": "def-common.SavedObjectsUtils.namespaceIdToString", "type": "Function", "tags": [], "label": "namespaceIdToString", @@ -1536,7 +1544,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.namespaceIdToString.$1", + "id": "def-common.SavedObjectsUtils.namespaceIdToString.$1", "type": "string", "tags": [], "label": "namespace", @@ -1556,7 +1564,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.namespaceStringToId", + "id": "def-common.SavedObjectsUtils.namespaceStringToId", "type": "Function", "tags": [], "label": "namespaceStringToId", @@ -1572,7 +1580,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.namespaceStringToId.$1", + "id": "def-common.SavedObjectsUtils.namespaceStringToId.$1", "type": "string", "tags": [], "label": "namespace", @@ -1592,7 +1600,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.createEmptyFindResponse", + "id": "def-common.SavedObjectsUtils.createEmptyFindResponse", "type": "Function", "tags": [], "label": "createEmptyFindResponse", @@ -1603,17 +1611,17 @@ "({ page, perPage, }: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" }, ") => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindResponse", + "section": "def-common.SavedObjectsFindResponse", "text": "SavedObjectsFindResponse" }, "" @@ -1624,7 +1632,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.createEmptyFindResponse.$1", + "id": "def-common.SavedObjectsUtils.createEmptyFindResponse.$1", "type": "Object", "tags": [], "label": "{\n page = FIND_DEFAULT_PAGE,\n perPage = FIND_DEFAULT_PER_PAGE,\n }", @@ -1632,9 +1640,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptions", + "section": "def-common.SavedObjectsFindOptions", "text": "SavedObjectsFindOptions" } ], @@ -1648,7 +1656,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.generateId", + "id": "def-common.SavedObjectsUtils.generateId", "type": "Function", "tags": [], "label": "generateId", @@ -1666,7 +1674,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.isRandomId", + "id": "def-common.SavedObjectsUtils.isRandomId", "type": "Function", "tags": [ "todo" @@ -1684,7 +1692,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.isRandomId.$1", + "id": "def-common.SavedObjectsUtils.isRandomId.$1", "type": "string", "tags": [], "label": "id", @@ -1704,7 +1712,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.getConvertedObjectId", + "id": "def-common.SavedObjectsUtils.getConvertedObjectId", "type": "Function", "tags": [], "label": "getConvertedObjectId", @@ -1720,7 +1728,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.getConvertedObjectId.$1", + "id": "def-common.SavedObjectsUtils.getConvertedObjectId.$1", "type": "string", "tags": [], "label": "namespace", @@ -1737,7 +1745,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.getConvertedObjectId.$2", + "id": "def-common.SavedObjectsUtils.getConvertedObjectId.$2", "type": "string", "tags": [], "label": "type", @@ -1754,7 +1762,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.SavedObjectsUtils.getConvertedObjectId.$3", + "id": "def-common.SavedObjectsUtils.getConvertedObjectId.$3", "type": "string", "tags": [], "label": "id", @@ -1781,7 +1789,7 @@ "functions": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.arrayMapsAreEqual", + "id": "def-common.arrayMapsAreEqual", "type": "Function", "tags": [], "label": "arrayMapsAreEqual", @@ -1797,7 +1805,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.arrayMapsAreEqual.$1", + "id": "def-common.arrayMapsAreEqual.$1", "type": "Object", "tags": [], "label": "mapA", @@ -1814,7 +1822,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.arrayMapsAreEqual.$2", + "id": "def-common.arrayMapsAreEqual.$2", "type": "Object", "tags": [], "label": "mapB", @@ -1837,7 +1845,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.mergeSavedObjectMigrationMaps", + "id": "def-common.mergeSavedObjectMigrationMaps", "type": "Function", "tags": [], "label": "mergeSavedObjectMigrationMaps", @@ -1848,25 +1856,25 @@ "(map1: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ", map2: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" }, ") => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -1876,7 +1884,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.mergeSavedObjectMigrationMaps.$1", + "id": "def-common.mergeSavedObjectMigrationMaps.$1", "type": "Object", "tags": [], "label": "map1", @@ -1886,9 +1894,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -1899,7 +1907,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.mergeSavedObjectMigrationMaps.$2", + "id": "def-common.mergeSavedObjectMigrationMaps.$2", "type": "Object", "tags": [], "label": "map2", @@ -1909,9 +1917,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectMigrationMap", + "section": "def-common.SavedObjectMigrationMap", "text": "SavedObjectMigrationMap" } ], @@ -1928,7 +1936,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setMapsAreEqual", + "id": "def-common.setMapsAreEqual", "type": "Function", "tags": [], "label": "setMapsAreEqual", @@ -1944,7 +1952,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setMapsAreEqual.$1", + "id": "def-common.setMapsAreEqual.$1", "type": "Object", "tags": [], "label": "mapA", @@ -1961,7 +1969,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setMapsAreEqual.$2", + "id": "def-common.setMapsAreEqual.$2", "type": "Object", "tags": [], "label": "mapB", @@ -1984,7 +1992,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setsAreEqual", + "id": "def-common.setsAreEqual", "type": "Function", "tags": [], "label": "setsAreEqual", @@ -2000,7 +2008,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setsAreEqual.$1", + "id": "def-common.setsAreEqual.$1", "type": "Object", "tags": [], "label": "setA", @@ -2017,7 +2025,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.setsAreEqual.$2", + "id": "def-common.setsAreEqual.$2", "type": "Object", "tags": [], "label": "setB", @@ -2042,7 +2050,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.DecoratedError", + "id": "def-common.DecoratedError", "type": "Interface", "tags": [], "label": "DecoratedError", @@ -2050,9 +2058,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-utils-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsUtilsServerPluginApi", - "section": "def-server.DecoratedError", + "section": "def-common.DecoratedError", "text": "DecoratedError" }, " extends ", @@ -2065,7 +2073,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.DecoratedError.code", + "id": "def-common.DecoratedError.code", "type": "string", "tags": [], "label": "[code]", @@ -2085,7 +2093,7 @@ "misc": [ { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.ALL_NAMESPACES_STRING", + "id": "def-common.ALL_NAMESPACES_STRING", "type": "string", "tags": [], "label": "ALL_NAMESPACES_STRING", @@ -2100,7 +2108,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.DEFAULT_NAMESPACE_STRING", + "id": "def-common.DEFAULT_NAMESPACE_STRING", "type": "string", "tags": [], "label": "DEFAULT_NAMESPACE_STRING", @@ -2115,7 +2123,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.FIND_DEFAULT_PAGE", + "id": "def-common.FIND_DEFAULT_PAGE", "type": "number", "tags": [], "label": "FIND_DEFAULT_PAGE", @@ -2130,7 +2138,7 @@ }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", - "id": "def-server.FIND_DEFAULT_PER_PAGE", + "id": "def-common.FIND_DEFAULT_PER_PAGE", "type": "number", "tags": [], "label": "FIND_DEFAULT_PER_PAGE", @@ -2145,13 +2153,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 7ec35322d6d6a..91c13ff169ffb 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 108 | 1 | 84 | 0 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 6eeb15201f7f1..2b614fff924fa 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.devdocs.json b/api_docs/kbn_core_status_common_internal.devdocs.json index f321466729eaa..7f1ad0a639fb5 100644 --- a/api_docs/kbn_core_status_common_internal.devdocs.json +++ b/api_docs/kbn_core_status_common_internal.devdocs.json @@ -294,9 +294,9 @@ "Omit<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsMetrics", + "section": "def-common.OpsMetrics", "text": "OpsMetrics" }, ", \"collected_at\"> & { last_updated: string; collection_interval_in_millis: number; requests: { status_codes: Record; }; }" @@ -322,9 +322,9 @@ "Omit<", { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.OpsMetrics", + "section": "def-common.OpsMetrics", "text": "OpsMetrics" }, ", \"collected_at\"> & { last_updated: string; collection_interval_in_millis: number; requests: { status_codes: Record; }; }" diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 4d4ce59f1a212..160917fc887f9 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.devdocs.json b/api_docs/kbn_core_status_server.devdocs.json index 5e5049083b67d..b345658f08790 100644 --- a/api_docs/kbn_core_status_server.devdocs.json +++ b/api_docs/kbn_core_status_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.CoreStatus", + "id": "def-common.CoreStatus", "type": "Interface", "tags": [], "label": "CoreStatus", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.CoreStatus.elasticsearch", + "id": "def-common.CoreStatus.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -48,7 +56,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.CoreStatus.savedObjects", + "id": "def-common.CoreStatus.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -72,7 +80,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus", + "id": "def-common.ServiceStatus", "type": "Interface", "tags": [], "label": "ServiceStatus", @@ -95,7 +103,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus.level", + "id": "def-common.ServiceStatus.level", "type": "CompoundType", "tags": [], "label": "level", @@ -111,7 +119,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus.summary", + "id": "def-common.ServiceStatus.summary", "type": "string", "tags": [], "label": "summary", @@ -124,7 +132,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus.detail", + "id": "def-common.ServiceStatus.detail", "type": "string", "tags": [], "label": "detail", @@ -140,7 +148,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus.documentationUrl", + "id": "def-common.ServiceStatus.documentationUrl", "type": "string", "tags": [], "label": "documentationUrl", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatus.meta", + "id": "def-common.ServiceStatus.meta", "type": "Uncategorized", "tags": [], "label": "meta", @@ -175,7 +183,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup", + "id": "def-common.StatusServiceSetup", "type": "Interface", "tags": [], "label": "StatusServiceSetup", @@ -188,7 +196,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.core$", + "id": "def-common.StatusServiceSetup.core$", "type": "Object", "tags": [], "label": "core$", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.overall$", + "id": "def-common.StatusServiceSetup.overall$", "type": "Object", "tags": [], "label": "overall$", @@ -238,7 +246,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.set", + "id": "def-common.StatusServiceSetup.set", "type": "Function", "tags": [], "label": "set", @@ -264,7 +272,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.set.$1", + "id": "def-common.StatusServiceSetup.set.$1", "type": "Object", "tags": [], "label": "status$", @@ -291,7 +299,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.dependencies$", + "id": "def-common.StatusServiceSetup.dependencies$", "type": "Object", "tags": [], "label": "dependencies$", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.derivedStatus$", + "id": "def-common.StatusServiceSetup.derivedStatus$", "type": "Object", "tags": [], "label": "derivedStatus$", @@ -341,7 +349,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.StatusServiceSetup.isStatusPageAnonymous", + "id": "def-common.StatusServiceSetup.isStatusPageAnonymous", "type": "Function", "tags": [], "label": "isStatusPageAnonymous", @@ -365,7 +373,7 @@ "misc": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatusLevel", + "id": "def-common.ServiceStatusLevel", "type": "Type", "tags": [], "label": "ServiceStatusLevel", @@ -382,7 +390,7 @@ }, { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatusLevelId", + "id": "def-common.ServiceStatusLevelId", "type": "Type", "tags": [], "label": "ServiceStatusLevelId", @@ -401,7 +409,7 @@ "objects": [ { "parentPluginId": "@kbn/core-status-server", - "id": "def-server.ServiceStatusLevels", + "id": "def-common.ServiceStatusLevels", "type": "Object", "tags": [], "label": "ServiceStatusLevels", @@ -417,13 +425,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 1b81981fda57a..66cba917f22f7 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 20 | 0 | 3 | 0 | -## Server +## Common ### Objects - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_status_server_internal.devdocs.json b/api_docs/kbn_core_status_server_internal.devdocs.json index 7d2d74b08ced9..4515efbc17211 100644 --- a/api_docs/kbn_core_status_server_internal.devdocs.json +++ b/api_docs/kbn_core_status_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService", + "id": "def-common.StatusService", "type": "Class", "tags": [], "label": "StatusService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-status-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerInternalPluginApi", - "section": "def-server.StatusService", + "section": "def-common.StatusService", "text": "StatusService" }, " implements ", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.Unnamed", + "id": "def-common.StatusService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -51,7 +59,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.Unnamed.$1", + "id": "def-common.StatusService.Unnamed.$1", "type": "Object", "tags": [], "label": "coreContext", @@ -69,7 +77,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.setup", + "id": "def-common.StatusService.setup", "type": "Function", "tags": [], "label": "setup", @@ -78,9 +86,9 @@ "({ analytics, elasticsearch, pluginDependencies, http, metrics, savedObjects, environment, coreUsageData, }: ", { "pluginId": "@kbn/core-status-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerInternalPluginApi", - "section": "def-server.StatusServiceSetupDeps", + "section": "def-common.StatusServiceSetupDeps", "text": "StatusServiceSetupDeps" }, ") => Promise<{ core$: ", @@ -151,7 +159,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.setup.$1", + "id": "def-common.StatusService.setup.$1", "type": "Object", "tags": [], "label": "{\n analytics,\n elasticsearch,\n pluginDependencies,\n http,\n metrics,\n savedObjects,\n environment,\n coreUsageData,\n }", @@ -159,9 +167,9 @@ "signature": [ { "pluginId": "@kbn/core-status-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerInternalPluginApi", - "section": "def-server.StatusServiceSetupDeps", + "section": "def-common.StatusServiceSetupDeps", "text": "StatusServiceSetupDeps" } ], @@ -175,7 +183,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.start", + "id": "def-common.StatusService.start", "type": "Function", "tags": [], "label": "start", @@ -191,7 +199,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusService.stop", + "id": "def-common.StatusService.stop", "type": "Function", "tags": [], "label": "stop", @@ -212,7 +220,7 @@ "functions": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.registerStatusRoute", + "id": "def-common.registerStatusRoute", "type": "Function", "tags": [], "label": "registerStatusRoute", @@ -226,7 +234,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.registerStatusRoute.$1", + "id": "def-common.registerStatusRoute.$1", "type": "Object", "tags": [], "label": "{\n router,\n config,\n metrics,\n status,\n incrementUsageCounter,\n}", @@ -247,7 +255,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps", + "id": "def-common.StatusServiceSetupDeps", "type": "Interface", "tags": [], "label": "StatusServiceSetupDeps", @@ -258,7 +266,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.analytics", + "id": "def-common.StatusServiceSetupDeps.analytics", "type": "Object", "tags": [], "label": "analytics", @@ -330,7 +338,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.elasticsearch", + "id": "def-common.StatusServiceSetupDeps.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -356,7 +364,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.environment", + "id": "def-common.StatusServiceSetupDeps.environment", "type": "Object", "tags": [], "label": "environment", @@ -370,7 +378,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.pluginDependencies", + "id": "def-common.StatusServiceSetupDeps.pluginDependencies", "type": "Object", "tags": [], "label": "pluginDependencies", @@ -384,7 +392,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.http", + "id": "def-common.StatusServiceSetupDeps.http", "type": "Object", "tags": [], "label": "http", @@ -398,7 +406,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.metrics", + "id": "def-common.StatusServiceSetupDeps.metrics", "type": "Object", "tags": [], "label": "metrics", @@ -406,9 +414,9 @@ "signature": [ { "pluginId": "@kbn/core-metrics-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreMetricsServerPluginApi", - "section": "def-server.MetricsServiceSetup", + "section": "def-common.MetricsServiceSetup", "text": "MetricsServiceSetup" } ], @@ -418,7 +426,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.savedObjects", + "id": "def-common.StatusServiceSetupDeps.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -437,9 +445,9 @@ "<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectStatusMeta", + "section": "def-common.SavedObjectStatusMeta", "text": "SavedObjectStatusMeta" }, ">>; }" @@ -450,7 +458,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusServiceSetupDeps.coreUsageData", + "id": "def-common.StatusServiceSetupDeps.coreUsageData", "type": "Object", "tags": [], "label": "coreUsageData", @@ -459,9 +467,9 @@ "{ incrementUsageCounter: ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreIncrementUsageCounter", + "section": "def-common.CoreIncrementUsageCounter", "text": "CoreIncrementUsageCounter" }, "; }" @@ -478,7 +486,7 @@ "misc": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.StatusConfigType", + "id": "def-common.StatusConfigType", "type": "Type", "tags": [], "label": "StatusConfigType", @@ -495,7 +503,7 @@ "objects": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.statusConfig", + "id": "def-common.statusConfig", "type": "Object", "tags": [], "label": "statusConfig", @@ -506,7 +514,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.statusConfig.path", + "id": "def-common.statusConfig.path", "type": "string", "tags": [], "label": "path", @@ -517,7 +525,7 @@ }, { "parentPluginId": "@kbn/core-status-server-internal", - "id": "def-server.statusConfig.schema", + "id": "def-common.statusConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -525,17 +533,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ allowAnonymous: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -548,13 +556,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 34fcb867d4a95..14374dcee2f37 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; @@ -23,20 +23,20 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 22 | 0 | 22 | 1 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_status_server_mocks.devdocs.json b/api_docs/kbn_core_status_server_mocks.devdocs.json index 707d54a031b14..86961e13d4c8f 100644 --- a/api_docs/kbn_core_status_server_mocks.devdocs.json +++ b/api_docs/kbn_core_status_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-status-server-mocks", - "id": "def-server.statusServiceMock", + "id": "def-common.statusServiceMock", "type": "Object", "tags": [], "label": "statusServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-status-server-mocks", - "id": "def-server.statusServiceMock.create", + "id": "def-common.statusServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/core-status-server-mocks", - "id": "def-server.statusServiceMock.createSetupContract", + "id": "def-common.statusServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -53,9 +61,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-status-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreStatusServerPluginApi", - "section": "def-server.StatusServiceSetup", + "section": "def-common.StatusServiceSetup", "text": "StatusServiceSetup" }, ">" @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/core-status-server-mocks", - "id": "def-server.statusServiceMock.createInternalSetupContract", + "id": "def-common.statusServiceMock.createInternalSetupContract", "type": "Function", "tags": [], "label": "createInternalSetupContract", @@ -88,13 +96,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 3dd16895ad0f1..fac3db91bb75c 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.devdocs.json b/api_docs/kbn_core_test_helpers_deprecations_getters.devdocs.json index c3a8a7ab202c1..0ef892f765ed5 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.devdocs.json +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor", + "id": "def-common.getDeprecationsFor", "type": "Function", "tags": [], "label": "getDeprecationsFor", @@ -22,9 +30,9 @@ "({ provider, settings, path, }: { provider: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationProvider", + "section": "def-common.ConfigDeprecationProvider", "text": "ConfigDeprecationProvider" }, "; settings?: Record | undefined; path: string; }) => { messages: string[]; levels: string[]; migrated: Record; }" @@ -35,7 +43,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor.$1", + "id": "def-common.getDeprecationsFor.$1", "type": "Object", "tags": [], "label": "{\n provider,\n settings = {},\n path,\n}", @@ -46,7 +54,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor.$1.provider", + "id": "def-common.getDeprecationsFor.$1.provider", "type": "Function", "tags": [], "label": "provider", @@ -55,17 +63,17 @@ "(factory: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" }, ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -77,7 +85,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor.$1.provider.$1", + "id": "def-common.getDeprecationsFor.$1.provider.$1", "type": "Object", "tags": [], "label": "factory", @@ -85,9 +93,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" } ], @@ -99,7 +107,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor.$1.settings", + "id": "def-common.getDeprecationsFor.$1.settings", "type": "Object", "tags": [], "label": "settings", @@ -113,7 +121,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsFor.$1.path", + "id": "def-common.getDeprecationsFor.$1.path", "type": "string", "tags": [], "label": "path", @@ -130,7 +138,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsForGlobalSettings", + "id": "def-common.getDeprecationsForGlobalSettings", "type": "Function", "tags": [], "label": "getDeprecationsForGlobalSettings", @@ -139,9 +147,9 @@ "({ provider, settings, }: { provider: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationProvider", + "section": "def-common.ConfigDeprecationProvider", "text": "ConfigDeprecationProvider" }, "; settings?: Record | undefined; }) => { messages: string[]; levels: string[]; migrated: Record; }" @@ -152,7 +160,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsForGlobalSettings.$1", + "id": "def-common.getDeprecationsForGlobalSettings.$1", "type": "Object", "tags": [], "label": "{\n provider,\n settings = {},\n}", @@ -163,7 +171,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsForGlobalSettings.$1.provider", + "id": "def-common.getDeprecationsForGlobalSettings.$1.provider", "type": "Function", "tags": [], "label": "provider", @@ -172,17 +180,17 @@ "(factory: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" }, ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -194,7 +202,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsForGlobalSettings.$1.provider.$1", + "id": "def-common.getDeprecationsForGlobalSettings.$1.provider.$1", "type": "Object", "tags": [], "label": "factory", @@ -202,9 +210,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" } ], @@ -216,7 +224,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-deprecations-getters", - "id": "def-server.getDeprecationsForGlobalSettings.$1.settings", + "id": "def-common.getDeprecationsForGlobalSettings.$1.settings", "type": "Object", "tags": [], "label": "settings", @@ -239,13 +247,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 2d241abd4cecf..89ae7491137f1 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 11 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 5a8b54b59d320..c0888a66f91e7 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.devdocs.json b/api_docs/kbn_core_test_helpers_kbn_server.devdocs.json index 776ff1e31ea9f..13f39f2016fb4 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.devdocs.json +++ b/api_docs/kbn_core_test_helpers_kbn_server.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRoot", + "id": "def-common.createRoot", "type": "Function", "tags": [], "label": "createRoot", @@ -26,9 +34,9 @@ ">) => ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -38,7 +46,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRoot.$1", + "id": "def-common.createRoot.$1", "type": "Object", "tags": [], "label": "settings", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRoot.$2", + "id": "def-common.createRoot.$2", "type": "Object", "tags": [], "label": "cliArgs", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithCorePlugins", + "id": "def-common.createRootWithCorePlugins", "type": "Function", "tags": [], "label": "createRootWithCorePlugins", @@ -89,9 +97,9 @@ ">, customKibanaVersion: string | undefined) => ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -101,7 +109,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithCorePlugins.$1", + "id": "def-common.createRootWithCorePlugins.$1", "type": "Object", "tags": [], "label": "settings", @@ -118,7 +126,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithCorePlugins.$2", + "id": "def-common.createRootWithCorePlugins.$2", "type": "Object", "tags": [], "label": "cliArgs", @@ -135,7 +143,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithCorePlugins.$3", + "id": "def-common.createRootWithCorePlugins.$3", "type": "string", "tags": [], "label": "customKibanaVersion", @@ -154,7 +162,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithSettings", + "id": "def-common.createRootWithSettings", "type": "Function", "tags": [], "label": "createRootWithSettings", @@ -165,9 +173,9 @@ ">, customKibanaVersion: string | undefined) => ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -177,7 +185,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithSettings.$1", + "id": "def-common.createRootWithSettings.$1", "type": "Object", "tags": [], "label": "settings", @@ -192,7 +200,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithSettings.$2", + "id": "def-common.createRootWithSettings.$2", "type": "Object", "tags": [], "label": "cliArgs", @@ -209,7 +217,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createRootWithSettings.$3", + "id": "def-common.createRootWithSettings.$3", "type": "string", "tags": [], "label": "customKibanaVersion", @@ -228,7 +236,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createTestServers", + "id": "def-common.createTestServers", "type": "Function", "tags": [ "prop", @@ -242,17 +250,17 @@ "({\n adjustTimeout,\n settings = {},\n}: { adjustTimeout: (timeout: number) => void; settings?: { es?: Partial<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.CreateTestEsClusterOptions", + "section": "def-common.CreateTestEsClusterOptions", "text": "CreateTestEsClusterOptions" }, "> | undefined; kbn?: { [key: string]: any; plugins?: { [key: string]: any; paths: string[]; } | undefined; } | undefined; users?: { username: string; password: string; roles: string[]; }[] | undefined; } | undefined; }) => ", { "pluginId": "@kbn/core-test-helpers-kbn-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersKbnServerPluginApi", - "section": "def-server.TestUtils", + "section": "def-common.TestUtils", "text": "TestUtils" } ], @@ -262,7 +270,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createTestServers.$1", + "id": "def-common.createTestServers.$1", "type": "Object", "tags": [], "label": "{\n adjustTimeout,\n settings = {},\n}", @@ -273,7 +281,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createTestServers.$1.adjustTimeout", + "id": "def-common.createTestServers.$1.adjustTimeout", "type": "Function", "tags": [], "label": "adjustTimeout", @@ -287,7 +295,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createTestServers.$1.adjustTimeout.$1", + "id": "def-common.createTestServers.$1.adjustTimeout.$1", "type": "number", "tags": [], "label": "timeout", @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.createTestServers.$1.settings", + "id": "def-common.createTestServers.$1.settings", "type": "Object", "tags": [], "label": "settings", @@ -314,9 +322,9 @@ "{ es?: Partial<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.CreateTestEsClusterOptions", + "section": "def-common.CreateTestEsClusterOptions", "text": "CreateTestEsClusterOptions" }, "> | undefined; kbn?: { [key: string]: any; plugins?: { [key: string]: any; paths: string[]; } | undefined; } | undefined; users?: { username: string; password: string; roles: string[]; }[] | undefined; } | undefined" @@ -333,7 +341,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.getSupertest", + "id": "def-common.getSupertest", "type": "Function", "tags": [], "label": "getSupertest", @@ -344,17 +352,17 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", method: ", { "pluginId": "@kbn/core-test-helpers-kbn-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersKbnServerPluginApi", - "section": "def-server.HttpMethod", + "section": "def-common.HttpMethod", "text": "HttpMethod" }, ", path: string) => ", @@ -366,7 +374,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.getSupertest.$1", + "id": "def-common.getSupertest.$1", "type": "Object", "tags": [], "label": "root", @@ -374,9 +382,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -387,7 +395,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.getSupertest.$2", + "id": "def-common.getSupertest.$2", "type": "CompoundType", "tags": [], "label": "method", @@ -395,9 +403,9 @@ "signature": [ { "pluginId": "@kbn/core-test-helpers-kbn-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersKbnServerPluginApi", - "section": "def-server.HttpMethod", + "section": "def-common.HttpMethod", "text": "HttpMethod" } ], @@ -408,7 +416,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.getSupertest.$3", + "id": "def-common.getSupertest.$3", "type": "string", "tags": [], "label": "path", @@ -429,7 +437,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils", + "id": "def-common.TestElasticsearchUtils", "type": "Interface", "tags": [], "label": "TestElasticsearchUtils", @@ -440,7 +448,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils.stop", + "id": "def-common.TestElasticsearchUtils.stop", "type": "Function", "tags": [], "label": "stop", @@ -456,7 +464,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils.es", + "id": "def-common.TestElasticsearchUtils.es", "type": "Any", "tags": [], "label": "es", @@ -470,7 +478,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils.hosts", + "id": "def-common.TestElasticsearchUtils.hosts", "type": "Array", "tags": [], "label": "hosts", @@ -484,7 +492,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils.username", + "id": "def-common.TestElasticsearchUtils.username", "type": "string", "tags": [], "label": "username", @@ -495,7 +503,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestElasticsearchUtils.password", + "id": "def-common.TestElasticsearchUtils.password", "type": "string", "tags": [], "label": "password", @@ -509,7 +517,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestKibanaUtils", + "id": "def-common.TestKibanaUtils", "type": "Interface", "tags": [], "label": "TestKibanaUtils", @@ -520,7 +528,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestKibanaUtils.root", + "id": "def-common.TestKibanaUtils.root", "type": "Object", "tags": [], "label": "root", @@ -528,9 +536,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -540,7 +548,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestKibanaUtils.coreSetup", + "id": "def-common.TestKibanaUtils.coreSetup", "type": "Object", "tags": [], "label": "coreSetup", @@ -554,7 +562,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestKibanaUtils.coreStart", + "id": "def-common.TestKibanaUtils.coreStart", "type": "Object", "tags": [], "label": "coreStart", @@ -568,7 +576,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestKibanaUtils.stop", + "id": "def-common.TestKibanaUtils.stop", "type": "Function", "tags": [], "label": "stop", @@ -587,7 +595,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestUtils", + "id": "def-common.TestUtils", "type": "Interface", "tags": [], "label": "TestUtils", @@ -598,7 +606,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestUtils.startES", + "id": "def-common.TestUtils.startES", "type": "Function", "tags": [], "label": "startES", @@ -607,9 +615,9 @@ "() => Promise<", { "pluginId": "@kbn/core-test-helpers-kbn-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersKbnServerPluginApi", - "section": "def-server.TestElasticsearchUtils", + "section": "def-common.TestElasticsearchUtils", "text": "TestElasticsearchUtils" }, ">" @@ -622,7 +630,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.TestUtils.startKibana", + "id": "def-common.TestUtils.startKibana", "type": "Function", "tags": [], "label": "startKibana", @@ -631,9 +639,9 @@ "() => Promise<", { "pluginId": "@kbn/core-test-helpers-kbn-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersKbnServerPluginApi", - "section": "def-server.TestKibanaUtils", + "section": "def-common.TestKibanaUtils", "text": "TestKibanaUtils" }, ">" @@ -652,7 +660,7 @@ "misc": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.HttpMethod", + "id": "def-common.HttpMethod", "type": "Type", "tags": [], "label": "HttpMethod", @@ -669,7 +677,7 @@ "objects": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request", + "id": "def-common.request", "type": "Object", "tags": [], "label": "request", @@ -680,7 +688,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.delete", + "id": "def-common.request.delete", "type": "Function", "tags": [], "label": "delete", @@ -689,9 +697,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -703,7 +711,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.delete.$1", + "id": "def-common.request.delete.$1", "type": "Object", "tags": [], "label": "root", @@ -711,9 +719,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -724,7 +732,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.delete.$2", + "id": "def-common.request.delete.$2", "type": "string", "tags": [], "label": "path", @@ -742,7 +750,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.get", + "id": "def-common.request.get", "type": "Function", "tags": [], "label": "get", @@ -751,9 +759,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -765,7 +773,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.get.$1", + "id": "def-common.request.get.$1", "type": "Object", "tags": [], "label": "root", @@ -773,9 +781,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -786,7 +794,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.get.$2", + "id": "def-common.request.get.$2", "type": "string", "tags": [], "label": "path", @@ -804,7 +812,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.head", + "id": "def-common.request.head", "type": "Function", "tags": [], "label": "head", @@ -813,9 +821,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -827,7 +835,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.head.$1", + "id": "def-common.request.head.$1", "type": "Object", "tags": [], "label": "root", @@ -835,9 +843,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -848,7 +856,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.head.$2", + "id": "def-common.request.head.$2", "type": "string", "tags": [], "label": "path", @@ -866,7 +874,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.post", + "id": "def-common.request.post", "type": "Function", "tags": [], "label": "post", @@ -875,9 +883,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -889,7 +897,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.post.$1", + "id": "def-common.request.post.$1", "type": "Object", "tags": [], "label": "root", @@ -897,9 +905,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -910,7 +918,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.post.$2", + "id": "def-common.request.post.$2", "type": "string", "tags": [], "label": "path", @@ -928,7 +936,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.put", + "id": "def-common.request.put", "type": "Function", "tags": [], "label": "put", @@ -937,9 +945,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -951,7 +959,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.put.$1", + "id": "def-common.request.put.$1", "type": "Object", "tags": [], "label": "root", @@ -959,9 +967,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -972,7 +980,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.put.$2", + "id": "def-common.request.put.$2", "type": "string", "tags": [], "label": "path", @@ -990,7 +998,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.patch", + "id": "def-common.request.patch", "type": "Function", "tags": [], "label": "patch", @@ -999,9 +1007,9 @@ "(root: ", { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" }, ", path: string) => ", @@ -1013,7 +1021,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.patch.$1", + "id": "def-common.request.patch.$1", "type": "Object", "tags": [], "label": "root", @@ -1021,9 +1029,9 @@ "signature": [ { "pluginId": "@kbn/core-root-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreRootServerInternalPluginApi", - "section": "def-server.Root", + "section": "def-common.Root", "text": "Root" } ], @@ -1034,7 +1042,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-kbn-server", - "id": "def-server.request.patch.$2", + "id": "def-common.request.patch.$2", "type": "string", "tags": [], "label": "path", @@ -1054,13 +1062,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 4dc24ca601071..6e22adab5c50d 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 54 | 1 | 48 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.devdocs.json b/api_docs/kbn_core_test_helpers_so_type_serializer.devdocs.json index 642eda6c66314..82290b2116ef2 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.devdocs.json +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.extractMigrationInfo", + "id": "def-common.extractMigrationInfo", "type": "Function", "tags": [], "label": "extractMigrationInfo", @@ -24,17 +32,17 @@ "(soType: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, ") => ", { "pluginId": "@kbn/core-test-helpers-so-type-serializer", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreTestHelpersSoTypeSerializerPluginApi", - "section": "def-server.SavedObjectTypeMigrationInfo", + "section": "def-common.SavedObjectTypeMigrationInfo", "text": "SavedObjectTypeMigrationInfo" } ], @@ -44,7 +52,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.extractMigrationInfo.$1", + "id": "def-common.extractMigrationInfo.$1", "type": "Object", "tags": [], "label": "soType", @@ -52,9 +60,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -70,7 +78,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.getMigrationHash", + "id": "def-common.getMigrationHash", "type": "Function", "tags": [], "label": "getMigrationHash", @@ -79,9 +87,9 @@ "(soType: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, ") => string" @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.getMigrationHash.$1", + "id": "def-common.getMigrationHash.$1", "type": "Object", "tags": [], "label": "soType", @@ -100,9 +108,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -120,7 +128,7 @@ "interfaces": [ { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo", + "id": "def-common.SavedObjectTypeMigrationInfo", "type": "Interface", "tags": [], "label": "SavedObjectTypeMigrationInfo", @@ -131,7 +139,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.name", + "id": "def-common.SavedObjectTypeMigrationInfo.name", "type": "string", "tags": [], "label": "name", @@ -142,7 +150,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.namespaceType", + "id": "def-common.SavedObjectTypeMigrationInfo.namespaceType", "type": "CompoundType", "tags": [], "label": "namespaceType", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.convertToAliasScript", + "id": "def-common.SavedObjectTypeMigrationInfo.convertToAliasScript", "type": "string", "tags": [], "label": "convertToAliasScript", @@ -170,7 +178,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.convertToMultiNamespaceTypeVersion", + "id": "def-common.SavedObjectTypeMigrationInfo.convertToMultiNamespaceTypeVersion", "type": "string", "tags": [], "label": "convertToMultiNamespaceTypeVersion", @@ -184,7 +192,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.migrationVersions", + "id": "def-common.SavedObjectTypeMigrationInfo.migrationVersions", "type": "Array", "tags": [], "label": "migrationVersions", @@ -198,7 +206,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.schemaVersions", + "id": "def-common.SavedObjectTypeMigrationInfo.schemaVersions", "type": "Array", "tags": [], "label": "schemaVersions", @@ -212,7 +220,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.mappings", + "id": "def-common.SavedObjectTypeMigrationInfo.mappings", "type": "Object", "tags": [], "label": "mappings", @@ -226,7 +234,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-so-type-serializer", - "id": "def-server.SavedObjectTypeMigrationInfo.hasExcludeOnUpgrade", + "id": "def-common.SavedObjectTypeMigrationInfo.hasExcludeOnUpgrade", "type": "boolean", "tags": [], "label": "hasExcludeOnUpgrade", @@ -242,13 +250,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index cd07f05b23fae..87b1c523e2847 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 13 | 0 | 12 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_core_test_helpers_test_utils.devdocs.json b/api_docs/kbn_core_test_helpers_test_utils.devdocs.json index a8444a39cb0f8..19a3e987a1c08 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.devdocs.json +++ b/api_docs/kbn_core_test_helpers_test_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/core-test-helpers-test-utils", - "id": "def-server.createExportableType", + "id": "def-common.createExportableType", "type": "Function", "tags": [], "label": "createExportableType", @@ -22,9 +30,9 @@ "(name: string) => ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsType", + "section": "def-common.SavedObjectsType", "text": "SavedObjectsType" }, "" @@ -35,7 +43,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-test-utils", - "id": "def-server.createExportableType.$1", + "id": "def-common.createExportableType.$1", "type": "string", "tags": [], "label": "name", @@ -54,7 +62,7 @@ }, { "parentPluginId": "@kbn/core-test-helpers-test-utils", - "id": "def-server.setupServer", + "id": "def-common.setupServer", "type": "Function", "tags": [], "label": "setupServer", @@ -67,17 +75,17 @@ "; handlerContext: { savedObjects: { client: jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ">; typeRegistry: jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectTypeRegistry", + "section": "def-common.ISavedObjectTypeRegistry", "text": "ISavedObjectTypeRegistry" }, " & Pick<", @@ -85,49 +93,49 @@ ", \"registerType\">>; getClient: () => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ">; getExporter: () => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsExporter", + "section": "def-common.ISavedObjectsExporter", "text": "ISavedObjectsExporter" }, ">; getImporter: () => jest.Mocked<", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.ISavedObjectsImporter", + "section": "def-common.ISavedObjectsImporter", "text": "ISavedObjectsImporter" }, ">; }; elasticsearch: { client: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", - "section": "def-server.ScopedClusterClientMock", + "section": "def-common.ScopedClusterClientMock", "text": "ScopedClusterClientMock" }, "; }; uiSettings: { client: jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" }, ">; }; deprecations: { client: jest.Mocked<", { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.DeprecationsClient", + "section": "def-common.DeprecationsClient", "text": "DeprecationsClient" }, ">; }; }; }>" @@ -138,7 +146,7 @@ "children": [ { "parentPluginId": "@kbn/core-test-helpers-test-utils", - "id": "def-server.setupServer.$1", + "id": "def-common.setupServer.$1", "type": "Uncategorized", "tags": [], "label": "coreId", @@ -160,13 +168,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 19e2a44f4a963..198a944b40e47 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 6680fc9292279..212c813bc6f37 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index ac550086bab53..55125394b9738 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 9c14d96676f81..de7aaf64b4a4f 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index 9e6597774d604..fcb053d746dd1 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index 0cd7124620e36..b56b9d84f1dde 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 88f2ad94f1acd..e311693b3b373 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.devdocs.json b/api_docs/kbn_core_ui_settings_common.devdocs.json index 603bbdb0bb853..6cb30b3db1d75 100644 --- a/api_docs/kbn_core_ui_settings_common.devdocs.json +++ b/api_docs/kbn_core_ui_settings_common.devdocs.json @@ -301,9 +301,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index a23e7b644123c..7cdbbe2dd48b9 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.devdocs.json b/api_docs/kbn_core_ui_settings_server.devdocs.json index 6541970dc8bdb..a143921a6e575 100644 --- a/api_docs/kbn_core_ui_settings_server.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient", + "id": "def-common.IUiSettingsClient", "type": "Interface", "tags": [], "label": "IUiSettingsClient", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.getRegistered", + "id": "def-common.IUiSettingsClient.getRegistered", "type": "Function", "tags": [], "label": "getRegistered", @@ -53,7 +61,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.get", + "id": "def-common.IUiSettingsClient.get", "type": "Function", "tags": [], "label": "get", @@ -69,7 +77,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.get.$1", + "id": "def-common.IUiSettingsClient.get.$1", "type": "string", "tags": [], "label": "key", @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.getAll", + "id": "def-common.IUiSettingsClient.getAll", "type": "Function", "tags": [], "label": "getAll", @@ -105,7 +113,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.getUserProvided", + "id": "def-common.IUiSettingsClient.getUserProvided", "type": "Function", "tags": [], "label": "getUserProvided", @@ -131,7 +139,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.setMany", + "id": "def-common.IUiSettingsClient.setMany", "type": "Function", "tags": [], "label": "setMany", @@ -147,7 +155,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.setMany.$1", + "id": "def-common.IUiSettingsClient.setMany.$1", "type": "Object", "tags": [], "label": "changes", @@ -165,7 +173,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.set", + "id": "def-common.IUiSettingsClient.set", "type": "Function", "tags": [], "label": "set", @@ -181,7 +189,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.set.$1", + "id": "def-common.IUiSettingsClient.set.$1", "type": "string", "tags": [], "label": "key", @@ -196,7 +204,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.set.$2", + "id": "def-common.IUiSettingsClient.set.$2", "type": "Any", "tags": [], "label": "value", @@ -214,7 +222,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.remove", + "id": "def-common.IUiSettingsClient.remove", "type": "Function", "tags": [], "label": "remove", @@ -230,7 +238,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.remove.$1", + "id": "def-common.IUiSettingsClient.remove.$1", "type": "string", "tags": [], "label": "key", @@ -248,7 +256,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.removeMany", + "id": "def-common.IUiSettingsClient.removeMany", "type": "Function", "tags": [], "label": "removeMany", @@ -264,7 +272,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.removeMany.$1", + "id": "def-common.IUiSettingsClient.removeMany.$1", "type": "Array", "tags": [], "label": "keys", @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.isOverridden", + "id": "def-common.IUiSettingsClient.isOverridden", "type": "Function", "tags": [], "label": "isOverridden", @@ -298,7 +306,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.isOverridden.$1", + "id": "def-common.IUiSettingsClient.isOverridden.$1", "type": "string", "tags": [], "label": "key", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.isSensitive", + "id": "def-common.IUiSettingsClient.isSensitive", "type": "Function", "tags": [], "label": "isSensitive", @@ -332,7 +340,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.IUiSettingsClient.isSensitive.$1", + "id": "def-common.IUiSettingsClient.isSensitive.$1", "type": "string", "tags": [], "label": "key", @@ -353,7 +361,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsRequestHandlerContext", + "id": "def-common.UiSettingsRequestHandlerContext", "type": "Interface", "tags": [], "label": "UiSettingsRequestHandlerContext", @@ -366,7 +374,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsRequestHandlerContext.client", + "id": "def-common.UiSettingsRequestHandlerContext.client", "type": "Object", "tags": [], "label": "client", @@ -374,9 +382,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -386,7 +394,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsRequestHandlerContext.globalClient", + "id": "def-common.UiSettingsRequestHandlerContext.globalClient", "type": "Object", "tags": [], "label": "globalClient", @@ -394,9 +402,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -409,7 +417,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceSetup", + "id": "def-common.UiSettingsServiceSetup", "type": "Interface", "tags": [], "label": "UiSettingsServiceSetup", @@ -420,7 +428,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceSetup.register", + "id": "def-common.UiSettingsServiceSetup.register", "type": "Function", "tags": [], "label": "register", @@ -444,7 +452,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceSetup.register.$1", + "id": "def-common.UiSettingsServiceSetup.register.$1", "type": "Object", "tags": [], "label": "settings", @@ -470,7 +478,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceSetup.registerGlobal", + "id": "def-common.UiSettingsServiceSetup.registerGlobal", "type": "Function", "tags": [], "label": "registerGlobal", @@ -494,7 +502,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceSetup.registerGlobal.$1", + "id": "def-common.UiSettingsServiceSetup.registerGlobal.$1", "type": "Object", "tags": [], "label": "settings", @@ -523,7 +531,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceStart", + "id": "def-common.UiSettingsServiceStart", "type": "Interface", "tags": [], "label": "UiSettingsServiceStart", @@ -534,7 +542,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceStart.asScopedToClient", + "id": "def-common.UiSettingsServiceStart.asScopedToClient", "type": "Function", "tags": [], "label": "asScopedToClient", @@ -545,17 +553,17 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -565,7 +573,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceStart.asScopedToClient.$1", + "id": "def-common.UiSettingsServiceStart.asScopedToClient.$1", "type": "Object", "tags": [], "label": "savedObjectsClient", @@ -573,9 +581,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -589,7 +597,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceStart.globalAsScopedToClient", + "id": "def-common.UiSettingsServiceStart.globalAsScopedToClient", "type": "Function", "tags": [], "label": "globalAsScopedToClient", @@ -600,17 +608,17 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ") => ", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" } ], @@ -620,7 +628,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server", - "id": "def-server.UiSettingsServiceStart.globalAsScopedToClient.$1", + "id": "def-common.UiSettingsServiceStart.globalAsScopedToClient.$1", "type": "Object", "tags": [], "label": "savedObjectsClient", @@ -628,9 +636,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -649,13 +657,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index cfa8430bf3f8b..4b23796518392 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 32 | 1 | 16 | 0 | -## Server +## Common ### Interfaces - + diff --git a/api_docs/kbn_core_ui_settings_server_internal.devdocs.json b/api_docs/kbn_core_ui_settings_server_internal.devdocs.json index 001529fd6484e..51a298f3e4469 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsClient", + "id": "def-common.UiSettingsClient", "type": "Class", "tags": [], "label": "UiSettingsClient", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerInternalPluginApi", - "section": "def-server.UiSettingsClient", + "section": "def-common.UiSettingsClient", "text": "UiSettingsClient" }, " extends ", @@ -34,7 +42,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsClient.Unnamed", + "id": "def-common.UiSettingsClient.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -48,7 +56,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsClient.Unnamed.$1", + "id": "def-common.UiSettingsClient.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -69,7 +77,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient", + "id": "def-common.UiSettingsGlobalClient", "type": "Class", "tags": [], "label": "UiSettingsGlobalClient", @@ -79,9 +87,9 @@ "signature": [ { "pluginId": "@kbn/core-ui-settings-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerInternalPluginApi", - "section": "def-server.UiSettingsGlobalClient", + "section": "def-common.UiSettingsGlobalClient", "text": "UiSettingsGlobalClient" }, " extends ", @@ -93,7 +101,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.Unnamed", + "id": "def-common.UiSettingsGlobalClient.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -107,7 +115,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.Unnamed.$1", + "id": "def-common.UiSettingsGlobalClient.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.setMany", + "id": "def-common.UiSettingsGlobalClient.setMany", "type": "Function", "tags": [], "label": "setMany", @@ -139,7 +147,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.setMany.$1", + "id": "def-common.UiSettingsGlobalClient.setMany.$1", "type": "Object", "tags": [], "label": "changes", @@ -157,7 +165,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.set", + "id": "def-common.UiSettingsGlobalClient.set", "type": "Function", "tags": [], "label": "set", @@ -171,7 +179,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.set.$1", + "id": "def-common.UiSettingsGlobalClient.set.$1", "type": "string", "tags": [], "label": "key", @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.UiSettingsGlobalClient.set.$2", + "id": "def-common.UiSettingsGlobalClient.set.$2", "type": "Any", "tags": [], "label": "value", @@ -209,7 +217,7 @@ "functions": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.createOrUpgradeSavedConfig", + "id": "def-common.createOrUpgradeSavedConfig", "type": "Function", "tags": [], "label": "createOrUpgradeSavedConfig", @@ -223,7 +231,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.createOrUpgradeSavedConfig.$1", + "id": "def-common.createOrUpgradeSavedConfig.$1", "type": "Object", "tags": [], "label": "options", @@ -247,7 +255,7 @@ "objects": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.uiSettingsConfig", + "id": "def-common.uiSettingsConfig", "type": "Object", "tags": [], "label": "uiSettingsConfig", @@ -258,7 +266,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.uiSettingsConfig.path", + "id": "def-common.uiSettingsConfig.path", "type": "string", "tags": [], "label": "path", @@ -269,7 +277,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.uiSettingsConfig.schema", + "id": "def-common.uiSettingsConfig.schema", "type": "Object", "tags": [], "label": "schema", @@ -277,17 +285,17 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ overrides: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{}>; }>" @@ -298,7 +306,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.uiSettingsConfig.deprecations", + "id": "def-common.uiSettingsConfig.deprecations", "type": "Function", "tags": [], "label": "deprecations", @@ -307,17 +315,17 @@ "(factory: ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" }, ") => ", { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecation", + "section": "def-common.ConfigDeprecation", "text": "ConfigDeprecation" }, "[]" @@ -329,7 +337,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-internal", - "id": "def-server.uiSettingsConfig.deprecations.$1", + "id": "def-common.uiSettingsConfig.deprecations.$1", "type": "Object", "tags": [], "label": "factory", @@ -337,9 +345,9 @@ "signature": [ { "pluginId": "@kbn/config", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigPluginApi", - "section": "def-server.ConfigDeprecationFactory", + "section": "def-common.ConfigDeprecationFactory", "text": "ConfigDeprecationFactory" } ], @@ -353,13 +361,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 35c706d3f9035..bedbe16385dfa 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 18 | 1 | 17 | 3 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + diff --git a/api_docs/kbn_core_ui_settings_server_mocks.devdocs.json b/api_docs/kbn_core_ui_settings_server_mocks.devdocs.json index b16f1b9bd37e8..f8ab365595589 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock", + "id": "def-common.uiSettingsServiceMock", "type": "Object", "tags": [], "label": "uiSettingsServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock.createPrebootContract", + "id": "def-common.uiSettingsServiceMock.createPrebootContract", "type": "Function", "tags": [], "label": "createPrebootContract", @@ -46,7 +54,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock.createSetupContract", + "id": "def-common.uiSettingsServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -55,9 +63,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceSetup", + "section": "def-common.UiSettingsServiceSetup", "text": "UiSettingsServiceSetup" }, ">" @@ -70,7 +78,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock.createStartContract", + "id": "def-common.uiSettingsServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -79,9 +87,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.UiSettingsServiceStart", + "section": "def-common.UiSettingsServiceStart", "text": "UiSettingsServiceStart" }, ">" @@ -94,7 +102,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock.createClient", + "id": "def-common.uiSettingsServiceMock.createClient", "type": "Function", "tags": [], "label": "createClient", @@ -103,9 +111,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-ui-settings-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUiSettingsServerPluginApi", - "section": "def-server.IUiSettingsClient", + "section": "def-common.IUiSettingsClient", "text": "IUiSettingsClient" }, ">" @@ -118,7 +126,7 @@ }, { "parentPluginId": "@kbn/core-ui-settings-server-mocks", - "id": "def-server.uiSettingsServiceMock.create", + "id": "def-common.uiSettingsServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -136,13 +144,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index f266e7318cc7c..4a9638340ef11 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_core_usage_data_server.devdocs.json b/api_docs/kbn_core_usage_data_server.devdocs.json index b4b344cbeeab7..5ffe116334c38 100644 --- a/api_docs/kbn_core_usage_data_server.devdocs.json +++ b/api_docs/kbn_core_usage_data_server.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData", + "id": "def-common.CoreConfigUsageData", "type": "Interface", "tags": [], "label": "CoreConfigUsageData", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData.elasticsearch", + "id": "def-common.CoreConfigUsageData.elasticsearch", "type": "Object", "tags": [], "label": "elasticsearch", @@ -41,7 +49,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData.http", + "id": "def-common.CoreConfigUsageData.http", "type": "Object", "tags": [], "label": "http", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData.logging", + "id": "def-common.CoreConfigUsageData.logging", "type": "Object", "tags": [], "label": "logging", @@ -69,7 +77,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData.savedObjects", + "id": "def-common.CoreConfigUsageData.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -83,7 +91,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreConfigUsageData.deprecatedKeys", + "id": "def-common.CoreConfigUsageData.deprecatedKeys", "type": "Object", "tags": [], "label": "deprecatedKeys", @@ -100,7 +108,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreEnvironmentUsageData", + "id": "def-common.CoreEnvironmentUsageData", "type": "Interface", "tags": [], "label": "CoreEnvironmentUsageData", @@ -113,7 +121,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreEnvironmentUsageData.memory", + "id": "def-common.CoreEnvironmentUsageData.memory", "type": "Object", "tags": [], "label": "memory", @@ -130,7 +138,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementCounterParams", + "id": "def-common.CoreIncrementCounterParams", "type": "Interface", "tags": [], "label": "CoreIncrementCounterParams", @@ -141,7 +149,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementCounterParams.counterName", + "id": "def-common.CoreIncrementCounterParams.counterName", "type": "string", "tags": [], "label": "counterName", @@ -154,7 +162,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementCounterParams.counterType", + "id": "def-common.CoreIncrementCounterParams.counterType", "type": "string", "tags": [], "label": "counterType", @@ -170,7 +178,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementCounterParams.incrementBy", + "id": "def-common.CoreIncrementCounterParams.incrementBy", "type": "number", "tags": [], "label": "incrementBy", @@ -189,7 +197,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreServicesUsageData", + "id": "def-common.CoreServicesUsageData", "type": "Interface", "tags": [], "label": "CoreServicesUsageData", @@ -202,7 +210,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreServicesUsageData.savedObjects", + "id": "def-common.CoreServicesUsageData.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -219,7 +227,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageCounter", + "id": "def-common.CoreUsageCounter", "type": "Interface", "tags": [], "label": "CoreUsageCounter", @@ -232,7 +240,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageData", + "id": "def-common.CoreUsageData", "type": "Interface", "tags": [], "label": "CoreUsageData", @@ -242,17 +250,17 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageData", + "section": "def-common.CoreUsageData", "text": "CoreUsageData" }, " extends ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageStats", + "section": "def-common.CoreUsageStats", "text": "CoreUsageStats" } ], @@ -262,7 +270,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageData.config", + "id": "def-common.CoreUsageData.config", "type": "Object", "tags": [], "label": "config", @@ -270,9 +278,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreConfigUsageData", + "section": "def-common.CoreConfigUsageData", "text": "CoreConfigUsageData" } ], @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageData.services", + "id": "def-common.CoreUsageData.services", "type": "Object", "tags": [], "label": "services", @@ -290,9 +298,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreServicesUsageData", + "section": "def-common.CoreServicesUsageData", "text": "CoreServicesUsageData" } ], @@ -302,7 +310,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageData.environment", + "id": "def-common.CoreUsageData.environment", "type": "Object", "tags": [], "label": "environment", @@ -310,9 +318,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreEnvironmentUsageData", + "section": "def-common.CoreEnvironmentUsageData", "text": "CoreEnvironmentUsageData" } ], @@ -325,7 +333,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageDataSetup", + "id": "def-common.CoreUsageDataSetup", "type": "Interface", "tags": [ "note" @@ -340,7 +348,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageDataSetup.registerUsageCounter", + "id": "def-common.CoreUsageDataSetup.registerUsageCounter", "type": "Function", "tags": [], "label": "registerUsageCounter", @@ -351,9 +359,9 @@ "(usageCounter: ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageCounter", + "section": "def-common.CoreUsageCounter", "text": "CoreUsageCounter" }, ") => void" @@ -364,7 +372,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageDataSetup.registerUsageCounter.$1", + "id": "def-common.CoreUsageDataSetup.registerUsageCounter.$1", "type": "Object", "tags": [], "label": "usageCounter", @@ -372,9 +380,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageCounter", + "section": "def-common.CoreUsageCounter", "text": "CoreUsageCounter" } ], @@ -391,7 +399,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageDataStart", + "id": "def-common.CoreUsageDataStart", "type": "Interface", "tags": [ "note" @@ -406,7 +414,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageDataStart.getConfigsUsageData", + "id": "def-common.CoreUsageDataStart.getConfigsUsageData", "type": "Function", "tags": [], "label": "getConfigsUsageData", @@ -415,9 +423,9 @@ "() => Promise<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.ConfigUsageData", + "section": "def-common.ConfigUsageData", "text": "ConfigUsageData" }, ">" @@ -433,7 +441,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats", + "id": "def-common.CoreUsageStats", "type": "Interface", "tags": [], "label": "CoreUsageStats", @@ -444,7 +452,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.total'", @@ -458,7 +466,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.default.total'", @@ -472,7 +480,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.yes'", @@ -486,7 +494,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.default.kibanaRequest.no'", @@ -500,7 +508,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.custom.total'", @@ -514,7 +522,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.yes'", @@ -528,7 +536,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkCreate.namespace.custom.kibanaRequest.no'", @@ -542,7 +550,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.total'", @@ -556,7 +564,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.default.total'", @@ -570,7 +578,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.yes'", @@ -584,7 +592,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.default.kibanaRequest.no'", @@ -598,7 +606,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.custom.total'", @@ -612,7 +620,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.yes'", @@ -626,7 +634,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkGet.namespace.custom.kibanaRequest.no'", @@ -640,7 +648,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.total'", @@ -654,7 +662,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.default.total'", @@ -668,7 +676,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.yes'", @@ -682,7 +690,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.default.kibanaRequest.no'", @@ -696,7 +704,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.custom.total'", @@ -710,7 +718,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.yes'", @@ -724,7 +732,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkResolve.namespace.custom.kibanaRequest.no'", @@ -738,7 +746,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.total'", @@ -752,7 +760,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.default.total'", @@ -766,7 +774,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.yes'", @@ -780,7 +788,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.default.kibanaRequest.no'", @@ -794,7 +802,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.custom.total'", @@ -808,7 +816,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.yes'", @@ -822,7 +830,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkUpdate.namespace.custom.kibanaRequest.no'", @@ -836,7 +844,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.total'", @@ -850,7 +858,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.default.total'", @@ -864,7 +872,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.yes'", @@ -878,7 +886,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.default.kibanaRequest.no'", @@ -892,7 +900,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.custom.total'", @@ -906,7 +914,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.yes'", @@ -920,7 +928,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsBulkDelete.namespace.custom.kibanaRequest.no'", @@ -934,7 +942,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.total'", @@ -948,7 +956,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.default.total'", @@ -962,7 +970,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.yes'", @@ -976,7 +984,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.default.kibanaRequest.no'", @@ -990,7 +998,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.custom.total'", @@ -1004,7 +1012,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.yes'", @@ -1018,7 +1026,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsCreate.namespace.custom.kibanaRequest.no'", @@ -1032,7 +1040,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.total'", @@ -1046,7 +1054,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.default.total'", @@ -1060,7 +1068,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.yes'", @@ -1074,7 +1082,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.default.kibanaRequest.no'", @@ -1088,7 +1096,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.custom.total'", @@ -1102,7 +1110,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.yes'", @@ -1116,7 +1124,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsDelete.namespace.custom.kibanaRequest.no'", @@ -1130,7 +1138,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.total'", @@ -1144,7 +1152,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.default.total'", @@ -1158,7 +1166,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.default.kibanaRequest.yes'", @@ -1172,7 +1180,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.default.kibanaRequest.no'", @@ -1186,7 +1194,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.custom.total'", @@ -1200,7 +1208,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.yes'", @@ -1214,7 +1222,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsFind.namespace.custom.kibanaRequest.no'", @@ -1228,7 +1236,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.total'", @@ -1242,7 +1250,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.default.total'", @@ -1256,7 +1264,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.default.kibanaRequest.yes'", @@ -1270,7 +1278,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.default.kibanaRequest.no'", @@ -1284,7 +1292,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.custom.total'", @@ -1298,7 +1306,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.yes'", @@ -1312,7 +1320,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsGet.namespace.custom.kibanaRequest.no'", @@ -1326,7 +1334,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.total'", @@ -1340,7 +1348,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.default.total'", @@ -1354,7 +1362,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.yes'", @@ -1368,7 +1376,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.default.kibanaRequest.no'", @@ -1382,7 +1390,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.custom.total'", @@ -1396,7 +1404,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.yes'", @@ -1410,7 +1418,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolve.namespace.custom.kibanaRequest.no'", @@ -1424,7 +1432,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.total'", @@ -1438,7 +1446,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.default.total'", @@ -1452,7 +1460,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.yes'", @@ -1466,7 +1474,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.default.kibanaRequest.no'", @@ -1480,7 +1488,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.custom.total'", @@ -1494,7 +1502,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.yes'", @@ -1508,7 +1516,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsUpdate.namespace.custom.kibanaRequest.no'", @@ -1522,7 +1530,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.total'", @@ -1536,7 +1544,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.default.total'", @@ -1550,7 +1558,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.default.kibanaRequest.yes'", @@ -1564,7 +1572,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.default.kibanaRequest.no'", @@ -1578,7 +1586,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.custom.total'", @@ -1592,7 +1600,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.yes'", @@ -1606,7 +1614,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.namespace.custom.kibanaRequest.no'", @@ -1620,7 +1628,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.createNewCopiesEnabled.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.createNewCopiesEnabled.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.createNewCopiesEnabled.yes'", @@ -1634,7 +1642,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.createNewCopiesEnabled.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.createNewCopiesEnabled.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.createNewCopiesEnabled.no'", @@ -1648,7 +1656,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.overwriteEnabled.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.overwriteEnabled.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.overwriteEnabled.yes'", @@ -1662,7 +1670,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsImport.overwriteEnabled.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.overwriteEnabled.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsImport.overwriteEnabled.no'", @@ -1676,7 +1684,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.total'", @@ -1690,7 +1698,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.default.total'", @@ -1704,7 +1712,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.yes'", @@ -1718,7 +1726,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.default.kibanaRequest.no'", @@ -1732,7 +1740,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.custom.total'", @@ -1746,7 +1754,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.yes'", @@ -1760,7 +1768,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.namespace.custom.kibanaRequest.no'", @@ -1774,7 +1782,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.yes'", @@ -1788,7 +1796,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsResolveImportErrors.createNewCopiesEnabled.no'", @@ -1802,7 +1810,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.total'", @@ -1816,7 +1824,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.default.total'", @@ -1830,7 +1838,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.default.kibanaRequest.yes'", @@ -1844,7 +1852,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.default.kibanaRequest.no'", @@ -1858,7 +1866,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.custom.total'", @@ -1872,7 +1880,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.yes'", @@ -1886,7 +1894,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.namespace.custom.kibanaRequest.no'", @@ -1900,7 +1908,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.allTypesSelected.yes", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.allTypesSelected.yes", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.allTypesSelected.yes'", @@ -1914,7 +1922,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.savedObjectsExport.allTypesSelected.no", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsExport.allTypesSelected.no", "type": "number", "tags": [], "label": "'apiCalls.savedObjectsExport.allTypesSelected.no'", @@ -1928,7 +1936,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.total'", @@ -1942,7 +1950,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.default.total'", @@ -1956,7 +1964,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.yes'", @@ -1970,7 +1978,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.default.kibanaRequest.no'", @@ -1984,7 +1992,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.custom.total'", @@ -1998,7 +2006,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.yes'", @@ -2012,7 +2020,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardExport.namespace.custom.kibanaRequest.no'", @@ -2026,7 +2034,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.total'", @@ -2040,7 +2048,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.default.total'", @@ -2054,7 +2062,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.yes'", @@ -2068,7 +2076,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.default.kibanaRequest.no'", @@ -2082,7 +2090,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.total", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.total", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.custom.total'", @@ -2096,7 +2104,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.yes", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.yes", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.yes'", @@ -2110,7 +2118,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.no", + "id": "def-common.CoreUsageStats.apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.no", "type": "number", "tags": [], "label": "'apiCalls.legacyDashboardImport.namespace.custom.kibanaRequest.no'", @@ -2124,7 +2132,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.savedObjectsRepository.resolvedOutcome.exactMatch", + "id": "def-common.CoreUsageStats.savedObjectsRepository.resolvedOutcome.exactMatch", "type": "number", "tags": [], "label": "'savedObjectsRepository.resolvedOutcome.exactMatch'", @@ -2138,7 +2146,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.savedObjectsRepository.resolvedOutcome.aliasMatch", + "id": "def-common.CoreUsageStats.savedObjectsRepository.resolvedOutcome.aliasMatch", "type": "number", "tags": [], "label": "'savedObjectsRepository.resolvedOutcome.aliasMatch'", @@ -2152,7 +2160,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.savedObjectsRepository.resolvedOutcome.conflict", + "id": "def-common.CoreUsageStats.savedObjectsRepository.resolvedOutcome.conflict", "type": "number", "tags": [], "label": "'savedObjectsRepository.resolvedOutcome.conflict'", @@ -2166,7 +2174,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.savedObjectsRepository.resolvedOutcome.notFound", + "id": "def-common.CoreUsageStats.savedObjectsRepository.resolvedOutcome.notFound", "type": "number", "tags": [], "label": "'savedObjectsRepository.resolvedOutcome.notFound'", @@ -2180,7 +2188,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreUsageStats.savedObjectsRepository.resolvedOutcome.total", + "id": "def-common.CoreUsageStats.savedObjectsRepository.resolvedOutcome.total", "type": "number", "tags": [], "label": "'savedObjectsRepository.resolvedOutcome.total'", @@ -2200,7 +2208,7 @@ "misc": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.ConfigUsageData", + "id": "def-common.ConfigUsageData", "type": "Type", "tags": [], "label": "ConfigUsageData", @@ -2217,7 +2225,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementUsageCounter", + "id": "def-common.CoreIncrementUsageCounter", "type": "Type", "tags": [], "label": "CoreIncrementUsageCounter", @@ -2226,9 +2234,9 @@ "(params: ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreIncrementCounterParams", + "section": "def-common.CoreIncrementCounterParams", "text": "CoreIncrementCounterParams" }, ") => void" @@ -2240,7 +2248,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server", - "id": "def-server.CoreIncrementUsageCounter.$1", + "id": "def-common.CoreIncrementUsageCounter.$1", "type": "Object", "tags": [], "label": "params", @@ -2248,9 +2256,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreIncrementCounterParams", + "section": "def-common.CoreIncrementCounterParams", "text": "CoreIncrementCounterParams" } ], @@ -2263,13 +2271,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 6ebe9af4e0c1e..88ede01554301 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 153 | 0 | 142 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_core_usage_data_server_internal.devdocs.json b/api_docs/kbn_core_usage_data_server_internal.devdocs.json index 793e3c65b04dc..7ac8b71516133 100644 --- a/api_docs/kbn_core_usage_data_server_internal.devdocs.json +++ b/api_docs/kbn_core_usage_data_server_internal.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService", + "id": "def-common.CoreUsageDataService", "type": "Class", "tags": [], "label": "CoreUsageDataService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/core-usage-data-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerInternalPluginApi", - "section": "def-server.CoreUsageDataService", + "section": "def-common.CoreUsageDataService", "text": "CoreUsageDataService" }, " implements ", @@ -32,9 +40,9 @@ ", ", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageDataStart", + "section": "def-common.CoreUsageDataStart", "text": "CoreUsageDataStart" }, ">" @@ -45,7 +53,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.Unnamed", + "id": "def-common.CoreUsageDataService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -59,7 +67,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.Unnamed.$1", + "id": "def-common.CoreUsageDataService.Unnamed.$1", "type": "Object", "tags": [], "label": "core", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.setup", + "id": "def-common.CoreUsageDataService.setup", "type": "Function", "tags": [], "label": "setup", @@ -94,7 +102,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.setup.$1", + "id": "def-common.CoreUsageDataService.setup.$1", "type": "Object", "tags": [], "label": "{ http, metrics, savedObjectsStartPromise, changedDeprecatedConfigPath$ }", @@ -112,7 +120,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.start", + "id": "def-common.CoreUsageDataService.start", "type": "Function", "tags": [], "label": "start", @@ -123,17 +131,17 @@ ") => { getCoreUsageData: () => Promise<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageData", + "section": "def-common.CoreUsageData", "text": "CoreUsageData" }, ">; getConfigsUsageData: () => Promise<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.ConfigUsageData", + "section": "def-common.ConfigUsageData", "text": "ConfigUsageData" }, ">; }" @@ -144,7 +152,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.start.$1", + "id": "def-common.CoreUsageDataService.start.$1", "type": "Object", "tags": [], "label": "{ savedObjects, elasticsearch, exposedConfigsToUsage }", @@ -162,7 +170,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-internal", - "id": "def-server.CoreUsageDataService.stop", + "id": "def-common.CoreUsageDataService.stop", "type": "Function", "tags": [], "label": "stop", @@ -185,13 +193,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index a30aee9f44f7a..a02883080ea07 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 8 | 0 | 8 | 2 | -## Server +## Common ### Classes - + diff --git a/api_docs/kbn_core_usage_data_server_mocks.devdocs.json b/api_docs/kbn_core_usage_data_server_mocks.devdocs.json index e134ee465bb94..161e578a32ed5 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.devdocs.json +++ b/api_docs/kbn_core_usage_data_server_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageDataServiceMock", + "id": "def-common.coreUsageDataServiceMock", "type": "Object", "tags": [], "label": "coreUsageDataServiceMock", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageDataServiceMock.create", + "id": "def-common.coreUsageDataServiceMock.create", "type": "Function", "tags": [], "label": "create", @@ -37,17 +45,17 @@ "() => jest.Mocked<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicMethodsOf", + "section": "def-common.PublicMethodsOf", "text": "PublicMethodsOf" }, "<", { "pluginId": "@kbn/core-usage-data-server-internal", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerInternalPluginApi", - "section": "def-server.CoreUsageDataService", + "section": "def-common.CoreUsageDataService", "text": "CoreUsageDataService" }, ">>" @@ -60,7 +68,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageDataServiceMock.createSetupContract", + "id": "def-common.coreUsageDataServiceMock.createSetupContract", "type": "Function", "tags": [], "label": "createSetupContract", @@ -79,7 +87,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageDataServiceMock.createSetupContract.$1", + "id": "def-common.coreUsageDataServiceMock.createSetupContract.$1", "type": "CompoundType", "tags": [], "label": "usageStatsClient", @@ -88,9 +96,9 @@ "{ getUsageStats: jest.MockInstance, []>; incrementSavedObjectsBulkCreate: jest.MockInstance, [options: ", @@ -136,7 +144,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageDataServiceMock.createStartContract", + "id": "def-common.coreUsageDataServiceMock.createStartContract", "type": "Function", "tags": [], "label": "createStartContract", @@ -145,9 +153,9 @@ "() => jest.Mocked<", { "pluginId": "@kbn/core-usage-data-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreUsageDataServerPluginApi", - "section": "def-server.CoreUsageDataStart", + "section": "def-common.CoreUsageDataStart", "text": "CoreUsageDataStart" }, ">" @@ -163,7 +171,7 @@ }, { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageStatsClientMock", + "id": "def-common.coreUsageStatsClientMock", "type": "Object", "tags": [], "label": "coreUsageStatsClientMock", @@ -174,7 +182,7 @@ "children": [ { "parentPluginId": "@kbn/core-usage-data-server-mocks", - "id": "def-server.coreUsageStatsClientMock.create", + "id": "def-common.coreUsageStatsClientMock.create", "type": "Function", "tags": [], "label": "create", @@ -194,13 +202,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 7657f1d2f02d6..de0435f938413 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 7 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_crypto.devdocs.json b/api_docs/kbn_crypto.devdocs.json index 7c7690ea36fbf..084341e767da1 100644 --- a/api_docs/kbn_crypto.devdocs.json +++ b/api_docs/kbn_crypto.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.createSHA256Hash", + "id": "def-common.createSHA256Hash", "type": "Function", "tags": [], "label": "createSHA256Hash", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.createSHA256Hash.$1", + "id": "def-common.createSHA256Hash.$1", "type": "CompoundType", "tags": [], "label": "input", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.createSHA256Hash.$2", + "id": "def-common.createSHA256Hash.$2", "type": "CompoundType", "tags": [], "label": "outputEncoding", @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Keystore", + "id": "def-common.readPkcs12Keystore", "type": "Function", "tags": [ "privateRemarks" @@ -76,9 +84,9 @@ "(path: string, password?: string | undefined) => ", { "pluginId": "@kbn/crypto", - "scope": "server", + "scope": "common", "docId": "kibKbnCryptoPluginApi", - "section": "def-server.Pkcs12ReadResult", + "section": "def-common.Pkcs12ReadResult", "text": "Pkcs12ReadResult" } ], @@ -88,7 +96,7 @@ "children": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Keystore.$1", + "id": "def-common.readPkcs12Keystore.$1", "type": "string", "tags": [], "label": "path", @@ -105,7 +113,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Keystore.$2", + "id": "def-common.readPkcs12Keystore.$2", "type": "string", "tags": [], "label": "password", @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Truststore", + "id": "def-common.readPkcs12Truststore", "type": "Function", "tags": [], "label": "readPkcs12Truststore", @@ -144,7 +152,7 @@ "children": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Truststore.$1", + "id": "def-common.readPkcs12Truststore.$1", "type": "string", "tags": [], "label": "path", @@ -161,7 +169,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.readPkcs12Truststore.$2", + "id": "def-common.readPkcs12Truststore.$2", "type": "string", "tags": [], "label": "password", @@ -186,7 +194,7 @@ "interfaces": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.Pkcs12ReadResult", + "id": "def-common.Pkcs12ReadResult", "type": "Interface", "tags": [], "label": "Pkcs12ReadResult", @@ -197,7 +205,7 @@ "children": [ { "parentPluginId": "@kbn/crypto", - "id": "def-server.Pkcs12ReadResult.ca", + "id": "def-common.Pkcs12ReadResult.ca", "type": "Array", "tags": [], "label": "ca", @@ -211,7 +219,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.Pkcs12ReadResult.cert", + "id": "def-common.Pkcs12ReadResult.cert", "type": "string", "tags": [], "label": "cert", @@ -225,7 +233,7 @@ }, { "parentPluginId": "@kbn/crypto", - "id": "def-server.Pkcs12ReadResult.key", + "id": "def-common.Pkcs12ReadResult.key", "type": "string", "tags": [], "label": "key", @@ -244,13 +252,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index e2586dd6a2bd7..8c572ac2421c6 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 13 | 0 | 7 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 863993de0bf69..c04a4ee9593b5 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.devdocs.json b/api_docs/kbn_cypress_config.devdocs.json new file mode 100644 index 0000000000000..982a05412bb57 --- /dev/null +++ b/api_docs/kbn_cypress_config.devdocs.json @@ -0,0 +1,61 @@ +{ + "id": "@kbn/cypress-config", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/cypress-config", + "id": "def-common.defineCypressConfig", + "type": "Function", + "tags": [], + "label": "defineCypressConfig", + "description": [], + "signature": [ + "(options: Cypress.ConfigOptions | undefined) => Cypress.ConfigOptions" + ], + "path": "packages/kbn-cypress-config/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/cypress-config", + "id": "def-common.defineCypressConfig.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "Cypress.ConfigOptions | undefined" + ], + "path": "packages/kbn-cypress-config/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx new file mode 100644 index 0000000000000..7fbe0a02078b9 --- /dev/null +++ b/api_docs/kbn_cypress_config.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnCypressConfigPluginApi +slug: /kibana-dev-docs/api/kbn-cypress-config +title: "@kbn/cypress-config" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/cypress-config plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] +--- +import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 2 | 0 | 2 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_datemath.devdocs.json b/api_docs/kbn_datemath.devdocs.json index bc344a7156a16..0b4de2e3a6390 100644 --- a/api_docs/kbn_datemath.devdocs.json +++ b/api_docs/kbn_datemath.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse", + "id": "def-common.parse", "type": "Function", "tags": [], "label": "parse", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse.$1", + "id": "def-common.parse.$1", "type": "string", "tags": [], "label": "input", @@ -42,7 +50,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse.$2", + "id": "def-common.parse.$2", "type": "Object", "tags": [], "label": "options", @@ -53,7 +61,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse.$2.roundUp", + "id": "def-common.parse.$2.roundUp", "type": "CompoundType", "tags": [], "label": "roundUp", @@ -67,7 +75,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse.$2.momentInstance", + "id": "def-common.parse.$2.momentInstance", "type": "Function", "tags": [], "label": "momentInstance", @@ -81,7 +89,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.parse.$2.forceNow", + "id": "def-common.parse.$2.forceNow", "type": "Object", "tags": [], "label": "forceNow", @@ -105,7 +113,7 @@ "misc": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.Unit", + "id": "def-common.Unit", "type": "Type", "tags": [], "label": "Unit", @@ -120,7 +128,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.units", + "id": "def-common.units", "type": "Array", "tags": [], "label": "units", @@ -128,9 +136,9 @@ "signature": [ { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "[]" @@ -142,7 +150,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsAsc", + "id": "def-common.unitsAsc", "type": "Array", "tags": [], "label": "unitsAsc", @@ -150,9 +158,9 @@ "signature": [ { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "[]" @@ -164,7 +172,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsDesc", + "id": "def-common.unitsDesc", "type": "Array", "tags": [], "label": "unitsDesc", @@ -172,9 +180,9 @@ "signature": [ { "pluginId": "@kbn/datemath", - "scope": "server", + "scope": "common", "docId": "kibKbnDatemathPluginApi", - "section": "def-server.Unit", + "section": "def-common.Unit", "text": "Unit" }, "[]" @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.UnitsMap", + "id": "def-common.UnitsMap", "type": "Type", "tags": [], "label": "UnitsMap", @@ -203,7 +211,7 @@ "objects": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap", + "id": "def-common.unitsMap", "type": "Object", "tags": [], "label": "unitsMap", @@ -214,7 +222,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.ms", + "id": "def-common.unitsMap.ms", "type": "Object", "tags": [], "label": "ms", @@ -225,7 +233,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.ms.weight", + "id": "def-common.unitsMap.ms.weight", "type": "number", "tags": [], "label": "weight", @@ -236,7 +244,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.ms.type", + "id": "def-common.unitsMap.ms.type", "type": "string", "tags": [], "label": "type", @@ -250,7 +258,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.ms.base", + "id": "def-common.unitsMap.ms.base", "type": "number", "tags": [], "label": "base", @@ -263,7 +271,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.s", + "id": "def-common.unitsMap.s", "type": "Object", "tags": [], "label": "s", @@ -274,7 +282,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.s.weight", + "id": "def-common.unitsMap.s.weight", "type": "number", "tags": [], "label": "weight", @@ -285,7 +293,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.s.type", + "id": "def-common.unitsMap.s.type", "type": "string", "tags": [], "label": "type", @@ -299,7 +307,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.s.base", + "id": "def-common.unitsMap.s.base", "type": "number", "tags": [], "label": "base", @@ -312,7 +320,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.m", + "id": "def-common.unitsMap.m", "type": "Object", "tags": [], "label": "m", @@ -323,7 +331,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.m.weight", + "id": "def-common.unitsMap.m.weight", "type": "number", "tags": [], "label": "weight", @@ -334,7 +342,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.m.type", + "id": "def-common.unitsMap.m.type", "type": "string", "tags": [], "label": "type", @@ -348,7 +356,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.m.base", + "id": "def-common.unitsMap.m.base", "type": "number", "tags": [], "label": "base", @@ -361,7 +369,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.h", + "id": "def-common.unitsMap.h", "type": "Object", "tags": [], "label": "h", @@ -372,7 +380,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.h.weight", + "id": "def-common.unitsMap.h.weight", "type": "number", "tags": [], "label": "weight", @@ -383,7 +391,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.h.type", + "id": "def-common.unitsMap.h.type", "type": "string", "tags": [], "label": "type", @@ -397,7 +405,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.h.base", + "id": "def-common.unitsMap.h.base", "type": "number", "tags": [], "label": "base", @@ -410,7 +418,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.d", + "id": "def-common.unitsMap.d", "type": "Object", "tags": [], "label": "d", @@ -421,7 +429,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.d.weight", + "id": "def-common.unitsMap.d.weight", "type": "number", "tags": [], "label": "weight", @@ -432,7 +440,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.d.type", + "id": "def-common.unitsMap.d.type", "type": "string", "tags": [], "label": "type", @@ -446,7 +454,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.d.base", + "id": "def-common.unitsMap.d.base", "type": "number", "tags": [], "label": "base", @@ -459,7 +467,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.w", + "id": "def-common.unitsMap.w", "type": "Object", "tags": [], "label": "w", @@ -470,7 +478,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.w.weight", + "id": "def-common.unitsMap.w.weight", "type": "number", "tags": [], "label": "weight", @@ -481,7 +489,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.w.type", + "id": "def-common.unitsMap.w.type", "type": "string", "tags": [], "label": "type", @@ -495,7 +503,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.w.base", + "id": "def-common.unitsMap.w.base", "type": "number", "tags": [], "label": "base", @@ -508,7 +516,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.M", + "id": "def-common.unitsMap.M", "type": "Object", "tags": [], "label": "M", @@ -519,7 +527,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.M.weight", + "id": "def-common.unitsMap.M.weight", "type": "number", "tags": [], "label": "weight", @@ -530,7 +538,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.M.type", + "id": "def-common.unitsMap.M.type", "type": "string", "tags": [], "label": "type", @@ -544,7 +552,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.M.base", + "id": "def-common.unitsMap.M.base", "type": "number", "tags": [], "label": "base", @@ -557,7 +565,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.y", + "id": "def-common.unitsMap.y", "type": "Object", "tags": [], "label": "y", @@ -570,7 +578,7 @@ "children": [ { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.y.weight", + "id": "def-common.unitsMap.y.weight", "type": "number", "tags": [], "label": "weight", @@ -581,7 +589,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.y.type", + "id": "def-common.unitsMap.y.type", "type": "string", "tags": [], "label": "type", @@ -595,7 +603,7 @@ }, { "parentPluginId": "@kbn/datemath", - "id": "def-server.unitsMap.y.base", + "id": "def-common.unitsMap.y.base", "type": "number", "tags": [], "label": "base", @@ -610,13 +618,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 6bb9c1a703679..9d5ee84b83b04 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 44 | 0 | 43 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_dev_cli_errors.devdocs.json b/api_docs/kbn_dev_cli_errors.devdocs.json index 62b97f47f703a..208b9450a9ca0 100644 --- a/api_docs/kbn_dev_cli_errors.devdocs.json +++ b/api_docs/kbn_dev_cli_errors.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.combineErrors", + "id": "def-common.combineErrors", "type": "Function", "tags": [], "label": "combineErrors", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.combineErrors.$1", + "id": "def-common.combineErrors.$1", "type": "Array", "tags": [], "label": "errors", @@ -46,7 +54,7 @@ }, { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.createFailError", + "id": "def-common.createFailError", "type": "Function", "tags": [], "label": "createFailError", @@ -60,7 +68,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.createFailError.$1", + "id": "def-common.createFailError.$1", "type": "string", "tags": [], "label": "reason", @@ -75,7 +83,7 @@ }, { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.createFailError.$2", + "id": "def-common.createFailError.$2", "type": "Object", "tags": [], "label": "options", @@ -94,7 +102,7 @@ }, { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.createFlagError", + "id": "def-common.createFlagError", "type": "Function", "tags": [], "label": "createFlagError", @@ -108,7 +116,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.createFlagError.$1", + "id": "def-common.createFlagError.$1", "type": "string", "tags": [], "label": "reason", @@ -127,7 +135,7 @@ }, { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.isFailError", + "id": "def-common.isFailError", "type": "Function", "tags": [], "label": "isFailError", @@ -141,7 +149,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-errors", - "id": "def-server.isFailError.$1", + "id": "def-common.isFailError.$1", "type": "Any", "tags": [], "label": "error", @@ -163,13 +171,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index b049cc816067a..118171f9247ea 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 9 | 1 | 9 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_dev_cli_runner.devdocs.json b/api_docs/kbn_dev_cli_runner.devdocs.json index f0831b9d0d9c3..06885fbd9480e 100644 --- a/api_docs/kbn_dev_cli_runner.devdocs.json +++ b/api_docs/kbn_dev_cli_runner.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader", + "id": "def-common.FlagsReader", "type": "Class", "tags": [], "label": "FlagsReader", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.Unnamed", + "id": "def-common.FlagsReader.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.Unnamed.$1", + "id": "def-common.FlagsReader.Unnamed.$1", "type": "Object", "tags": [], "label": "flags", @@ -52,7 +60,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.Unnamed.$2", + "id": "def-common.FlagsReader.Unnamed.$2", "type": "Object", "tags": [], "label": "opts", @@ -63,7 +71,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.Unnamed.$2.aliases", + "id": "def-common.FlagsReader.Unnamed.$2.aliases", "type": "Object", "tags": [], "label": "aliases", @@ -82,7 +90,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.arrayOfStrings", + "id": "def-common.FlagsReader.arrayOfStrings", "type": "Function", "tags": [], "label": "arrayOfStrings", @@ -98,7 +106,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.arrayOfStrings.$1", + "id": "def-common.FlagsReader.arrayOfStrings.$1", "type": "string", "tags": [], "label": "key", @@ -116,7 +124,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredArrayOfStrings", + "id": "def-common.FlagsReader.requiredArrayOfStrings", "type": "Function", "tags": [], "label": "requiredArrayOfStrings", @@ -132,7 +140,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredArrayOfStrings.$1", + "id": "def-common.FlagsReader.requiredArrayOfStrings.$1", "type": "string", "tags": [], "label": "key", @@ -150,7 +158,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.string", + "id": "def-common.FlagsReader.string", "type": "Function", "tags": [], "label": "string", @@ -166,7 +174,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.string.$1", + "id": "def-common.FlagsReader.string.$1", "type": "string", "tags": [], "label": "key", @@ -184,7 +192,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.enum", + "id": "def-common.FlagsReader.enum", "type": "Function", "tags": [], "label": "enum", @@ -200,7 +208,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.enum.$1", + "id": "def-common.FlagsReader.enum.$1", "type": "string", "tags": [], "label": "key", @@ -215,7 +223,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.enum.$2", + "id": "def-common.FlagsReader.enum.$2", "type": "Object", "tags": [], "label": "values", @@ -233,7 +241,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredString", + "id": "def-common.FlagsReader.requiredString", "type": "Function", "tags": [], "label": "requiredString", @@ -249,7 +257,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredString.$1", + "id": "def-common.FlagsReader.requiredString.$1", "type": "string", "tags": [], "label": "key", @@ -267,7 +275,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.path", + "id": "def-common.FlagsReader.path", "type": "Function", "tags": [], "label": "path", @@ -283,7 +291,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.path.$1", + "id": "def-common.FlagsReader.path.$1", "type": "string", "tags": [], "label": "key", @@ -301,7 +309,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredPath", + "id": "def-common.FlagsReader.requiredPath", "type": "Function", "tags": [], "label": "requiredPath", @@ -317,7 +325,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredPath.$1", + "id": "def-common.FlagsReader.requiredPath.$1", "type": "string", "tags": [], "label": "key", @@ -335,7 +343,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.arrayOfPaths", + "id": "def-common.FlagsReader.arrayOfPaths", "type": "Function", "tags": [], "label": "arrayOfPaths", @@ -351,7 +359,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.arrayOfPaths.$1", + "id": "def-common.FlagsReader.arrayOfPaths.$1", "type": "string", "tags": [], "label": "key", @@ -369,7 +377,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredArrayOfPaths", + "id": "def-common.FlagsReader.requiredArrayOfPaths", "type": "Function", "tags": [], "label": "requiredArrayOfPaths", @@ -385,7 +393,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredArrayOfPaths.$1", + "id": "def-common.FlagsReader.requiredArrayOfPaths.$1", "type": "string", "tags": [], "label": "key", @@ -403,7 +411,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.number", + "id": "def-common.FlagsReader.number", "type": "Function", "tags": [], "label": "number", @@ -419,7 +427,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.number.$1", + "id": "def-common.FlagsReader.number.$1", "type": "string", "tags": [], "label": "key", @@ -437,7 +445,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredNumber", + "id": "def-common.FlagsReader.requiredNumber", "type": "Function", "tags": [], "label": "requiredNumber", @@ -453,7 +461,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.requiredNumber.$1", + "id": "def-common.FlagsReader.requiredNumber.$1", "type": "string", "tags": [], "label": "key", @@ -471,7 +479,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.boolean", + "id": "def-common.FlagsReader.boolean", "type": "Function", "tags": [], "label": "boolean", @@ -487,7 +495,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.boolean.$1", + "id": "def-common.FlagsReader.boolean.$1", "type": "string", "tags": [], "label": "key", @@ -505,7 +513,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.getPositionals", + "id": "def-common.FlagsReader.getPositionals", "type": "Function", "tags": [], "label": "getPositionals", @@ -523,7 +531,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.getUnused", + "id": "def-common.FlagsReader.getUnused", "type": "Function", "tags": [], "label": "getUnused", @@ -541,7 +549,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagsReader.getUsed", + "id": "def-common.FlagsReader.getUsed", "type": "Function", "tags": [], "label": "getUsed", @@ -562,7 +570,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands", + "id": "def-common.RunWithCommands", "type": "Class", "tags": [], "label": "RunWithCommands", @@ -570,9 +578,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunWithCommands", + "section": "def-common.RunWithCommands", "text": "RunWithCommands" }, "" @@ -583,7 +591,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.Unnamed", + "id": "def-common.RunWithCommands.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -597,7 +605,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.Unnamed.$1", + "id": "def-common.RunWithCommands.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -605,9 +613,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunWithCommandsOptions", + "section": "def-common.RunWithCommandsOptions", "text": "RunWithCommandsOptions" }, "" @@ -619,7 +627,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.Unnamed.$2", + "id": "def-common.RunWithCommands.Unnamed.$2", "type": "Array", "tags": [], "label": "commands", @@ -627,9 +635,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Command", + "section": "def-common.Command", "text": "Command" }, "[]" @@ -644,7 +652,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.command", + "id": "def-common.RunWithCommands.command", "type": "Function", "tags": [], "label": "command", @@ -653,17 +661,17 @@ "(options: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Command", + "section": "def-common.Command", "text": "Command" }, ") => ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunWithCommands", + "section": "def-common.RunWithCommands", "text": "RunWithCommands" }, "" @@ -674,7 +682,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.command.$1", + "id": "def-common.RunWithCommands.command.$1", "type": "Object", "tags": [], "label": "options", @@ -682,9 +690,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Command", + "section": "def-common.Command", "text": "Command" }, "" @@ -699,7 +707,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommands.execute", + "id": "def-common.RunWithCommands.execute", "type": "Function", "tags": [], "label": "execute", @@ -720,7 +728,7 @@ "functions": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.getFlags", + "id": "def-common.getFlags", "type": "Function", "tags": [], "label": "getFlags", @@ -729,17 +737,17 @@ "(argv: string[], flagOptions: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, " | undefined, defaultLogLevel: string) => ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Flags", + "section": "def-common.Flags", "text": "Flags" } ], @@ -749,7 +757,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.getFlags.$1", + "id": "def-common.getFlags.$1", "type": "Array", "tags": [], "label": "argv", @@ -764,7 +772,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.getFlags.$2", + "id": "def-common.getFlags.$2", "type": "Object", "tags": [], "label": "flagOptions", @@ -772,9 +780,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, " | undefined" @@ -786,7 +794,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.getFlags.$3", + "id": "def-common.getFlags.$3", "type": "string", "tags": [], "label": "defaultLogLevel", @@ -805,7 +813,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.mergeFlagOptions", + "id": "def-common.mergeFlagOptions", "type": "Function", "tags": [], "label": "mergeFlagOptions", @@ -814,25 +822,25 @@ "(global: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, ", local: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, ") => ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" } ], @@ -842,7 +850,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.mergeFlagOptions.$1", + "id": "def-common.mergeFlagOptions.$1", "type": "Object", "tags": [], "label": "global", @@ -850,9 +858,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" } ], @@ -863,7 +871,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.mergeFlagOptions.$2", + "id": "def-common.mergeFlagOptions.$2", "type": "Object", "tags": [], "label": "local", @@ -871,9 +879,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" } ], @@ -888,7 +896,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.run", + "id": "def-common.run", "type": "Function", "tags": [], "label": "run", @@ -897,17 +905,17 @@ "(fn: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunFn", + "section": "def-common.RunFn", "text": "RunFn" }, ", options: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunOptions", + "section": "def-common.RunOptions", "text": "RunOptions" }, ") => Promise" @@ -918,7 +926,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.run.$1", + "id": "def-common.run.$1", "type": "Function", "tags": [], "label": "fn", @@ -926,9 +934,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunFn", + "section": "def-common.RunFn", "text": "RunFn" } ], @@ -939,7 +947,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.run.$2", + "id": "def-common.run.$2", "type": "Object", "tags": [], "label": "options", @@ -947,9 +955,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunOptions", + "section": "def-common.RunOptions", "text": "RunOptions" } ], @@ -966,7 +974,7 @@ "interfaces": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command", + "id": "def-common.Command", "type": "Interface", "tags": [], "label": "Command", @@ -974,9 +982,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Command", + "section": "def-common.Command", "text": "Command" }, "" @@ -987,7 +995,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.name", + "id": "def-common.Command.name", "type": "string", "tags": [], "label": "name", @@ -998,7 +1006,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.run", + "id": "def-common.Command.run", "type": "Function", "tags": [], "label": "run", @@ -1007,9 +1015,9 @@ "(context: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, " & T) => void | Promise" @@ -1021,7 +1029,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.run.$1", + "id": "def-common.Command.run.$1", "type": "CompoundType", "tags": [], "label": "context", @@ -1029,9 +1037,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, " & T" @@ -1044,7 +1052,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.description", + "id": "def-common.Command.description", "type": "string", "tags": [], "label": "description", @@ -1058,7 +1066,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.usage", + "id": "def-common.Command.usage", "type": "string", "tags": [], "label": "usage", @@ -1072,7 +1080,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Command.flags", + "id": "def-common.Command.flags", "type": "Object", "tags": [], "label": "flags", @@ -1080,9 +1088,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, " | undefined" @@ -1096,7 +1104,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions", + "id": "def-common.FlagOptions", "type": "Interface", "tags": [], "label": "FlagOptions", @@ -1107,7 +1115,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.allowUnexpected", + "id": "def-common.FlagOptions.allowUnexpected", "type": "CompoundType", "tags": [], "label": "allowUnexpected", @@ -1121,7 +1129,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.guessTypesForUnexpectedFlags", + "id": "def-common.FlagOptions.guessTypesForUnexpectedFlags", "type": "CompoundType", "tags": [], "label": "guessTypesForUnexpectedFlags", @@ -1135,7 +1143,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.help", + "id": "def-common.FlagOptions.help", "type": "string", "tags": [], "label": "help", @@ -1149,7 +1157,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.alias", + "id": "def-common.FlagOptions.alias", "type": "Object", "tags": [], "label": "alias", @@ -1163,7 +1171,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.boolean", + "id": "def-common.FlagOptions.boolean", "type": "Array", "tags": [], "label": "boolean", @@ -1177,7 +1185,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.string", + "id": "def-common.FlagOptions.string", "type": "Array", "tags": [], "label": "string", @@ -1191,7 +1199,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.FlagOptions.default", + "id": "def-common.FlagOptions.default", "type": "Object", "tags": [], "label": "default", @@ -1208,7 +1216,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags", + "id": "def-common.Flags", "type": "Interface", "tags": [], "label": "Flags", @@ -1219,7 +1227,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.verbose", + "id": "def-common.Flags.verbose", "type": "boolean", "tags": [], "label": "verbose", @@ -1230,7 +1238,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.quiet", + "id": "def-common.Flags.quiet", "type": "boolean", "tags": [], "label": "quiet", @@ -1241,7 +1249,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.silent", + "id": "def-common.Flags.silent", "type": "boolean", "tags": [], "label": "silent", @@ -1252,7 +1260,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.debug", + "id": "def-common.Flags.debug", "type": "boolean", "tags": [], "label": "debug", @@ -1263,7 +1271,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.help", + "id": "def-common.Flags.help", "type": "boolean", "tags": [], "label": "help", @@ -1274,7 +1282,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags._", + "id": "def-common.Flags._", "type": "Array", "tags": [], "label": "_", @@ -1288,7 +1296,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.unexpected", + "id": "def-common.Flags.unexpected", "type": "Array", "tags": [], "label": "unexpected", @@ -1302,7 +1310,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.Flags.Unnamed", + "id": "def-common.Flags.Unnamed", "type": "IndexSignature", "tags": [], "label": "[key: string]: string | boolean | string[] | undefined", @@ -1319,7 +1327,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext", + "id": "def-common.RunContext", "type": "Interface", "tags": [], "label": "RunContext", @@ -1330,7 +1338,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.log", + "id": "def-common.RunContext.log", "type": "Object", "tags": [], "label": "log", @@ -1338,9 +1346,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -1350,7 +1358,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.flags", + "id": "def-common.RunContext.flags", "type": "Object", "tags": [], "label": "flags", @@ -1358,9 +1366,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.Flags", + "section": "def-common.Flags", "text": "Flags" } ], @@ -1370,7 +1378,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.procRunner", + "id": "def-common.RunContext.procRunner", "type": "Object", "tags": [], "label": "procRunner", @@ -1378,9 +1386,9 @@ "signature": [ { "pluginId": "@kbn/dev-proc-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevProcRunnerPluginApi", - "section": "def-server.ProcRunner", + "section": "def-common.ProcRunner", "text": "ProcRunner" } ], @@ -1390,7 +1398,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.statsMeta", + "id": "def-common.RunContext.statsMeta", "type": "Object", "tags": [], "label": "statsMeta", @@ -1404,7 +1412,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.addCleanupTask", + "id": "def-common.RunContext.addCleanupTask", "type": "Function", "tags": [], "label": "addCleanupTask", @@ -1413,9 +1421,9 @@ "(task: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.CleanupTask", + "section": "def-common.CleanupTask", "text": "CleanupTask" }, ") => void" @@ -1426,7 +1434,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.addCleanupTask.$1", + "id": "def-common.RunContext.addCleanupTask.$1", "type": "Function", "tags": [], "label": "task", @@ -1434,9 +1442,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.CleanupTask", + "section": "def-common.CleanupTask", "text": "CleanupTask" } ], @@ -1450,7 +1458,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunContext.flagsReader", + "id": "def-common.RunContext.flagsReader", "type": "Object", "tags": [], "label": "flagsReader", @@ -1458,9 +1466,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagsReader", + "section": "def-common.FlagsReader", "text": "FlagsReader" } ], @@ -1473,7 +1481,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunOptions", + "id": "def-common.RunOptions", "type": "Interface", "tags": [], "label": "RunOptions", @@ -1484,7 +1492,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunOptions.usage", + "id": "def-common.RunOptions.usage", "type": "string", "tags": [], "label": "usage", @@ -1498,7 +1506,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunOptions.description", + "id": "def-common.RunOptions.description", "type": "string", "tags": [], "label": "description", @@ -1512,7 +1520,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunOptions.log", + "id": "def-common.RunOptions.log", "type": "Object", "tags": [], "label": "log", @@ -1526,7 +1534,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunOptions.flags", + "id": "def-common.RunOptions.flags", "type": "Object", "tags": [], "label": "flags", @@ -1534,9 +1542,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, " | undefined" @@ -1550,7 +1558,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions", + "id": "def-common.RunWithCommandsOptions", "type": "Interface", "tags": [], "label": "RunWithCommandsOptions", @@ -1558,9 +1566,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunWithCommandsOptions", + "section": "def-common.RunWithCommandsOptions", "text": "RunWithCommandsOptions" }, "" @@ -1571,7 +1579,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.log", + "id": "def-common.RunWithCommandsOptions.log", "type": "Object", "tags": [], "label": "log", @@ -1585,7 +1593,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.description", + "id": "def-common.RunWithCommandsOptions.description", "type": "string", "tags": [], "label": "description", @@ -1599,7 +1607,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.usage", + "id": "def-common.RunWithCommandsOptions.usage", "type": "string", "tags": [], "label": "usage", @@ -1613,7 +1621,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.globalFlags", + "id": "def-common.RunWithCommandsOptions.globalFlags", "type": "Object", "tags": [], "label": "globalFlags", @@ -1621,9 +1629,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.FlagOptions", + "section": "def-common.FlagOptions", "text": "FlagOptions" }, " | undefined" @@ -1634,7 +1642,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.extendContext", + "id": "def-common.RunWithCommandsOptions.extendContext", "type": "Function", "tags": [], "label": "extendContext", @@ -1643,9 +1651,9 @@ "((context: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, ") => T | Promise) | undefined" @@ -1656,7 +1664,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunWithCommandsOptions.extendContext.$1", + "id": "def-common.RunWithCommandsOptions.extendContext.$1", "type": "Object", "tags": [], "label": "context", @@ -1664,9 +1672,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" } ], @@ -1686,7 +1694,7 @@ "misc": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.CleanupTask", + "id": "def-common.CleanupTask", "type": "Type", "tags": [], "label": "CleanupTask", @@ -1705,7 +1713,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.CommandRunFn", + "id": "def-common.CommandRunFn", "type": "Type", "tags": [], "label": "CommandRunFn", @@ -1714,9 +1722,9 @@ "(context: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, " & T) => void | Promise" @@ -1728,7 +1736,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.CommandRunFn.$1", + "id": "def-common.CommandRunFn.$1", "type": "CompoundType", "tags": [], "label": "context", @@ -1736,9 +1744,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, " & T" @@ -1752,7 +1760,7 @@ }, { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunFn", + "id": "def-common.RunFn", "type": "Type", "tags": [], "label": "RunFn", @@ -1761,9 +1769,9 @@ "(context: ", { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" }, ") => void | Promise" @@ -1775,7 +1783,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.RunFn.$1", + "id": "def-common.RunFn.$1", "type": "Object", "tags": [], "label": "context", @@ -1783,9 +1791,9 @@ "signature": [ { "pluginId": "@kbn/dev-cli-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevCliRunnerPluginApi", - "section": "def-server.RunContext", + "section": "def-common.RunContext", "text": "RunContext" } ], @@ -1800,7 +1808,7 @@ "objects": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.DEFAULT_FLAG_ALIASES", + "id": "def-common.DEFAULT_FLAG_ALIASES", "type": "Object", "tags": [], "label": "DEFAULT_FLAG_ALIASES", @@ -1811,7 +1819,7 @@ "children": [ { "parentPluginId": "@kbn/dev-cli-runner", - "id": "def-server.DEFAULT_FLAG_ALIASES.v", + "id": "def-common.DEFAULT_FLAG_ALIASES.v", "type": "string", "tags": [], "label": "v", @@ -1824,13 +1832,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 00c7f8c203429..d993d360fe18d 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; @@ -23,20 +23,20 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 101 | 0 | 85 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_dev_proc_runner.devdocs.json b/api_docs/kbn_dev_proc_runner.devdocs.json index 61867527c7ab5..3d82e419b6421 100644 --- a/api_docs/kbn_dev_proc_runner.devdocs.json +++ b/api_docs/kbn_dev_proc_runner.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner", + "id": "def-common.ProcRunner", "type": "Class", "tags": [ "class" @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.Unnamed", + "id": "def-common.ProcRunner.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -41,7 +49,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.Unnamed.$1", + "id": "def-common.ProcRunner.Unnamed.$1", "type": "Object", "tags": [], "label": "log", @@ -49,9 +57,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -65,7 +73,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.run", + "id": "def-common.ProcRunner.run", "type": "Function", "tags": [], "label": "run", @@ -81,7 +89,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.run.$1", + "id": "def-common.ProcRunner.run.$1", "type": "string", "tags": [], "label": "name", @@ -96,7 +104,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.run.$2", + "id": "def-common.ProcRunner.run.$2", "type": "Object", "tags": [], "label": "options", @@ -114,7 +122,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.stop", + "id": "def-common.ProcRunner.stop", "type": "Function", "tags": [], "label": "stop", @@ -130,7 +138,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.stop.$1", + "id": "def-common.ProcRunner.stop.$1", "type": "string", "tags": [], "label": "name", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.stop.$2", + "id": "def-common.ProcRunner.stop.$2", "type": "CompoundType", "tags": [], "label": "signal", @@ -163,7 +171,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.waitForAllToStop", + "id": "def-common.ProcRunner.waitForAllToStop", "type": "Function", "tags": [ "return" @@ -183,7 +191,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.teardown", + "id": "def-common.ProcRunner.teardown", "type": "Function", "tags": [ "return" @@ -201,7 +209,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.ProcRunner.teardown.$1", + "id": "def-common.ProcRunner.teardown.$1", "type": "CompoundType", "tags": [], "label": "signal", @@ -224,7 +232,7 @@ "functions": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.withProcRunner", + "id": "def-common.withProcRunner", "type": "Function", "tags": [ "return" @@ -237,17 +245,17 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", fn: (procs: ", { "pluginId": "@kbn/dev-proc-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevProcRunnerPluginApi", - "section": "def-server.ProcRunner", + "section": "def-common.ProcRunner", "text": "ProcRunner" }, ") => Promise) => Promise" @@ -258,7 +266,7 @@ "children": [ { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.withProcRunner.$1", + "id": "def-common.withProcRunner.$1", "type": "Object", "tags": [], "label": "log", @@ -266,9 +274,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -279,7 +287,7 @@ }, { "parentPluginId": "@kbn/dev-proc-runner", - "id": "def-server.withProcRunner.$2", + "id": "def-common.withProcRunner.$2", "type": "Function", "tags": [], "label": "fn", @@ -288,9 +296,9 @@ "(procs: ", { "pluginId": "@kbn/dev-proc-runner", - "scope": "server", + "scope": "common", "docId": "kibKbnDevProcRunnerPluginApi", - "section": "def-server.ProcRunner", + "section": "def-common.ProcRunner", "text": "ProcRunner" }, ") => Promise" @@ -309,13 +317,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 2792c3c86a7d1..0822ef9fb732a 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 15 | 0 | 9 | 0 | -## Server +## Common ### Functions - + ### Classes - + diff --git a/api_docs/kbn_dev_utils.devdocs.json b/api_docs/kbn_dev_utils.devdocs.json index a9f3df27f065a..adb4510de09bb 100644 --- a/api_docs/kbn_dev_utils.devdocs.json +++ b/api_docs/kbn_dev_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.diffStrings", + "id": "def-common.diffStrings", "type": "Function", "tags": [], "label": "diffStrings", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.diffStrings.$1", + "id": "def-common.diffStrings.$1", "type": "string", "tags": [], "label": "expected", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.diffStrings.$2", + "id": "def-common.diffStrings.$2", "type": "string", "tags": [], "label": "received", @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.extract", + "id": "def-common.extract", "type": "Function", "tags": [], "label": "extract", @@ -79,7 +87,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.extract.$1", + "id": "def-common.extract.$1", "type": "Object", "tags": [], "label": "{\n archivePath,\n targetDir,\n stripComponents = 0,\n setModifiedTimes,\n}", @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.isAxiosRequestError", + "id": "def-common.isAxiosRequestError", "type": "Function", "tags": [], "label": "isAxiosRequestError", @@ -107,9 +115,9 @@ "(error: any) => error is ", { "pluginId": "@kbn/dev-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnDevUtilsPluginApi", - "section": "def-server.AxiosRequestError", + "section": "def-common.AxiosRequestError", "text": "AxiosRequestError" } ], @@ -119,7 +127,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.isAxiosRequestError.$1", + "id": "def-common.isAxiosRequestError.$1", "type": "Any", "tags": [], "label": "error", @@ -138,7 +146,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.isAxiosResponseError", + "id": "def-common.isAxiosResponseError", "type": "Function", "tags": [], "label": "isAxiosResponseError", @@ -147,9 +155,9 @@ "(error: any) => error is ", { "pluginId": "@kbn/dev-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnDevUtilsPluginApi", - "section": "def-server.AxiosResponseError", + "section": "def-common.AxiosResponseError", "text": "AxiosResponseError" }, "" @@ -160,7 +168,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.isAxiosResponseError.$1", + "id": "def-common.isAxiosResponseError.$1", "type": "Any", "tags": [], "label": "error", @@ -179,7 +187,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.runPluginListCli", + "id": "def-common.runPluginListCli", "type": "Function", "tags": [], "label": "runPluginListCli", @@ -196,7 +204,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.shipCiStatsCli", + "id": "def-common.shipCiStatsCli", "type": "Function", "tags": [], "label": "shipCiStatsCli", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.transformFileStream", + "id": "def-common.transformFileStream", "type": "Function", "tags": [], "label": "transformFileStream", @@ -234,7 +242,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.transformFileStream.$1", + "id": "def-common.transformFileStream.$1", "type": "Function", "tags": [], "label": "fn", @@ -254,49 +262,12 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/dev-utils", - "id": "def-server.transformFileWithBabel", - "type": "Function", - "tags": [], - "label": "transformFileWithBabel", - "description": [ - "\nReturns a promise that resolves when the file has been\nmutated so the contents of the file are tranformed with\nbabel, include inline sourcemaps, and the filename has\nbeen updated to use .js.\n\nIf the file was previously transformed with this function\nthe promise will just resolve immediately." - ], - "signature": [ - "(file: ", - "node_modules/@types/vinyl/index", - ") => Promise" - ], - "path": "packages/kbn-dev-utils/src/babel.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/dev-utils", - "id": "def-server.transformFileWithBabel.$1", - "type": "Object", - "tags": [], - "label": "file", - "description": [], - "signature": [ - "node_modules/@types/vinyl/index" - ], - "path": "packages/kbn-dev-utils/src/babel.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.AxiosRequestError", + "id": "def-common.AxiosRequestError", "type": "Interface", "tags": [], "label": "AxiosRequestError", @@ -304,9 +275,9 @@ "signature": [ { "pluginId": "@kbn/dev-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnDevUtilsPluginApi", - "section": "def-server.AxiosRequestError", + "section": "def-common.AxiosRequestError", "text": "AxiosRequestError" }, " extends ", @@ -319,7 +290,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.AxiosRequestError.response", + "id": "def-common.AxiosRequestError.response", "type": "Uncategorized", "tags": [], "label": "response", @@ -336,7 +307,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.AxiosResponseError", + "id": "def-common.AxiosResponseError", "type": "Interface", "tags": [], "label": "AxiosResponseError", @@ -344,9 +315,9 @@ "signature": [ { "pluginId": "@kbn/dev-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnDevUtilsPluginApi", - "section": "def-server.AxiosResponseError", + "section": "def-common.AxiosResponseError", "text": "AxiosResponseError" }, " extends ", @@ -359,7 +330,7 @@ "children": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.AxiosResponseError.response", + "id": "def-common.AxiosResponseError.response", "type": "Object", "tags": [], "label": "response", @@ -380,7 +351,7 @@ "misc": [ { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.CA_CERT_PATH", + "id": "def-common.CA_CERT_PATH", "type": "string", "tags": [], "label": "CA_CERT_PATH", @@ -392,7 +363,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_CERT_PATH", + "id": "def-common.ES_CERT_PATH", "type": "string", "tags": [], "label": "ES_CERT_PATH", @@ -404,7 +375,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_EMPTYPASSWORD_P12_PATH", + "id": "def-common.ES_EMPTYPASSWORD_P12_PATH", "type": "string", "tags": [], "label": "ES_EMPTYPASSWORD_P12_PATH", @@ -416,7 +387,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_KEY_PATH", + "id": "def-common.ES_KEY_PATH", "type": "string", "tags": [], "label": "ES_KEY_PATH", @@ -428,7 +399,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_NOPASSWORD_P12_PATH", + "id": "def-common.ES_NOPASSWORD_P12_PATH", "type": "string", "tags": [], "label": "ES_NOPASSWORD_P12_PATH", @@ -440,7 +411,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_P12_PASSWORD", + "id": "def-common.ES_P12_PASSWORD", "type": "string", "tags": [], "label": "ES_P12_PASSWORD", @@ -455,7 +426,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.ES_P12_PATH", + "id": "def-common.ES_P12_PATH", "type": "string", "tags": [], "label": "ES_P12_PATH", @@ -467,7 +438,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.KBN_CERT_PATH", + "id": "def-common.KBN_CERT_PATH", "type": "string", "tags": [], "label": "KBN_CERT_PATH", @@ -479,7 +450,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.KBN_KEY_PATH", + "id": "def-common.KBN_KEY_PATH", "type": "string", "tags": [], "label": "KBN_KEY_PATH", @@ -491,7 +462,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.KBN_P12_PASSWORD", + "id": "def-common.KBN_P12_PASSWORD", "type": "string", "tags": [], "label": "KBN_P12_PASSWORD", @@ -506,7 +477,7 @@ }, { "parentPluginId": "@kbn/dev-utils", - "id": "def-server.KBN_P12_PATH", + "id": "def-common.KBN_P12_PATH", "type": "string", "tags": [], "label": "KBN_P12_PATH", @@ -518,13 +489,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 80eb3f5a78619..76c826e4e8d36 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; @@ -21,16 +21,16 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 30 | 2 | 26 | 0 | +| 28 | 2 | 25 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_doc_links.devdocs.json b/api_docs/kbn_doc_links.devdocs.json index 1dd51047468a0..ea483fbf03401 100644 --- a/api_docs/kbn_doc_links.devdocs.json +++ b/api_docs/kbn_doc_links.devdocs.json @@ -672,7 +672,21 @@ "label": "alerting", "description": [], "signature": [ - "{ [x: string]: string; }" + "{ readonly guide: string; readonly actionTypes: string; readonly apmRules: string; readonly emailAction: string; readonly emailActionConfig: string; readonly emailExchangeClientSecretConfig: string; readonly emailExchangeClientIdConfig: string; readonly generalSettings: string; readonly indexAction: string; readonly esQuery: string; readonly indexThreshold: string; readonly pagerDutyAction: string; readonly preconfiguredConnectors: string; readonly preconfiguredAlertHistoryConnector: string; readonly serviceNowAction: string; readonly serviceNowSIRAction: string; readonly setupPrerequisites: string; readonly slackAction: string; readonly teamsAction: string; readonly connectors: string; }" + ], + "path": "packages/kbn-doc-links/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/doc-links", + "id": "def-common.DocLinks.taskManager", + "type": "Object", + "tags": [], + "label": "taskManager", + "description": [], + "signature": [ + "{ readonly healthMonitoring: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 8bf1aa12e642e..8197168c8d022 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 67 | 0 | 67 | 2 | +| 68 | 0 | 68 | 2 | ## Common diff --git a/api_docs/kbn_docs_utils.devdocs.json b/api_docs/kbn_docs_utils.devdocs.json index 567bb740cd93f..d3506573154d8 100644 --- a/api_docs/kbn_docs_utils.devdocs.json +++ b/api_docs/kbn_docs_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/docs-utils", - "id": "def-server.runBuildApiDocsCli", + "id": "def-common.runBuildApiDocsCli", "type": "Function", "tags": [], "label": "runBuildApiDocsCli", @@ -33,13 +41,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index c5712fed0fb76..152b75eb742a1 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 1 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index e1d14f01b0ee1..2bd4faff9ae79 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.devdocs.json b/api_docs/kbn_ecs.devdocs.json index 161ef1f269435..b5ca77e1a3dd3 100644 --- a/api_docs/kbn_ecs.devdocs.json +++ b/api_docs/kbn_ecs.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/ecs", - "id": "def-server.Ecs", + "id": "def-common.Ecs", "type": "Type", "tags": [], "label": "Ecs", @@ -106,7 +114,7 @@ }, { "parentPluginId": "@kbn/ecs", - "id": "def-server.EcsEventCategory", + "id": "def-common.EcsEventCategory", "type": "Type", "tags": [], "label": "EcsEventCategory", @@ -121,7 +129,7 @@ }, { "parentPluginId": "@kbn/ecs", - "id": "def-server.EcsEventKind", + "id": "def-common.EcsEventKind", "type": "Type", "tags": [], "label": "EcsEventKind", @@ -136,7 +144,7 @@ }, { "parentPluginId": "@kbn/ecs", - "id": "def-server.EcsEventOutcome", + "id": "def-common.EcsEventOutcome", "type": "Type", "tags": [], "label": "EcsEventOutcome", @@ -151,7 +159,7 @@ }, { "parentPluginId": "@kbn/ecs", - "id": "def-server.EcsEventType", + "id": "def-common.EcsEventType", "type": "Type", "tags": [], "label": "EcsEventType", @@ -166,13 +174,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index cff20831c5fcb..f00eb0250b117 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 5 | 0 | 4 | 37 | -## Server +## Common ### Consts, variables and types - + diff --git a/api_docs/kbn_es.devdocs.json b/api_docs/kbn_es.devdocs.json index 5ff9763c6c396..7ae7cfcd31d0e 100644 --- a/api_docs/kbn_es.devdocs.json +++ b/api_docs/kbn_es.devdocs.json @@ -9,26 +9,33 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/es", - "id": "def-server.run", + "id": "def-common.run", "type": "Function", "tags": [], "label": "run", "description": [], "signature": [ - "(defaults?: {}) => Promise" + "(defaults: {}) => Promise" ], - "path": "packages/kbn-es/src/cli.js", + "path": "packages/kbn-es/src/cli.ts", "deprecated": false, "trackAdoption": false, - "returnComment": [], "children": [ { "parentPluginId": "@kbn/es", - "id": "def-server.run.$1", + "id": "def-common.run.$1", "type": "Object", "tags": [], "label": "defaults", @@ -36,11 +43,13 @@ "signature": [ "{}" ], - "path": "packages/kbn-es/src/cli.js", + "path": "packages/kbn-es/src/cli.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "isRequired": true } ], + "returnComment": [], "initialIsOpen": false } ], @@ -49,7 +58,7 @@ "misc": [ { "parentPluginId": "@kbn/es", - "id": "def-server.SYSTEM_INDICES_SUPERUSER", + "id": "def-common.SYSTEM_INDICES_SUPERUSER", "type": "string", "tags": [], "label": "SYSTEM_INDICES_SUPERUSER", @@ -63,7 +72,7 @@ "objects": [ { "parentPluginId": "@kbn/es", - "id": "def-server.Cluster", + "id": "def-common.Cluster", "type": "Object", "tags": [], "label": "Cluster", @@ -72,9 +81,9 @@ "typeof ", { "pluginId": "@kbn/es", - "scope": "server", + "scope": "common", "docId": "kibKbnEsPluginApi", - "section": "def-server.Cluster", + "section": "def-common.Cluster", "text": "Cluster" } ], @@ -84,13 +93,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 37976cd78fc06..236a2e21121aa 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 4 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_es_archiver.devdocs.json b/api_docs/kbn_es_archiver.devdocs.json index e7b1d76988c49..65257a15f067a 100644 --- a/api_docs/kbn_es_archiver.devdocs.json +++ b/api_docs/kbn_es_archiver.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver", + "id": "def-common.EsArchiver", "type": "Class", "tags": [], "label": "EsArchiver", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.Unnamed", + "id": "def-common.EsArchiver.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.Unnamed.$1", + "id": "def-common.EsArchiver.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save", + "id": "def-common.EsArchiver.save", "type": "Function", "tags": [ "property", @@ -76,7 +84,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$1", + "id": "def-common.EsArchiver.save.$1", "type": "string", "tags": [], "label": "path", @@ -93,7 +101,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$2", + "id": "def-common.EsArchiver.save.$2", "type": "CompoundType", "tags": [], "label": "indices", @@ -110,7 +118,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$3", + "id": "def-common.EsArchiver.save.$3", "type": "Object", "tags": [], "label": "{\n raw = false,\n keepIndexNames = false,\n query,\n }", @@ -121,7 +129,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$3.raw", + "id": "def-common.EsArchiver.save.$3.raw", "type": "CompoundType", "tags": [], "label": "raw", @@ -135,7 +143,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$3.keepIndexNames", + "id": "def-common.EsArchiver.save.$3.keepIndexNames", "type": "CompoundType", "tags": [], "label": "keepIndexNames", @@ -149,7 +157,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.save.$3.query", + "id": "def-common.EsArchiver.save.$3.query", "type": "Object", "tags": [], "label": "query", @@ -168,7 +176,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load", + "id": "def-common.EsArchiver.load", "type": "Function", "tags": [ "property", @@ -190,7 +198,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load.$1", + "id": "def-common.EsArchiver.load.$1", "type": "string", "tags": [], "label": "path", @@ -207,7 +215,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load.$2", + "id": "def-common.EsArchiver.load.$2", "type": "Object", "tags": [], "label": "{\n skipExisting = false,\n useCreate = false,\n docsOnly = false,\n }", @@ -218,7 +226,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load.$2.skipExisting", + "id": "def-common.EsArchiver.load.$2.skipExisting", "type": "CompoundType", "tags": [], "label": "skipExisting", @@ -232,7 +240,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load.$2.useCreate", + "id": "def-common.EsArchiver.load.$2.useCreate", "type": "CompoundType", "tags": [], "label": "useCreate", @@ -246,7 +254,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.load.$2.docsOnly", + "id": "def-common.EsArchiver.load.$2.docsOnly", "type": "CompoundType", "tags": [], "label": "docsOnly", @@ -265,7 +273,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.unload", + "id": "def-common.EsArchiver.unload", "type": "Function", "tags": [], "label": "unload", @@ -283,7 +291,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.unload.$1", + "id": "def-common.EsArchiver.unload.$1", "type": "string", "tags": [], "label": "path", @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.rebuildAll", + "id": "def-common.EsArchiver.rebuildAll", "type": "Function", "tags": [], "label": "rebuildAll", @@ -319,7 +327,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.rebuildAll.$1", + "id": "def-common.EsArchiver.rebuildAll.$1", "type": "string", "tags": [], "label": "dir", @@ -339,7 +347,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.edit", + "id": "def-common.EsArchiver.edit", "type": "Function", "tags": [], "label": "edit", @@ -355,7 +363,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.edit.$1", + "id": "def-common.EsArchiver.edit.$1", "type": "string", "tags": [], "label": "path", @@ -372,7 +380,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.edit.$2", + "id": "def-common.EsArchiver.edit.$2", "type": "Function", "tags": [], "label": "handler", @@ -390,7 +398,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.loadIfNeeded", + "id": "def-common.EsArchiver.loadIfNeeded", "type": "Function", "tags": [], "label": "loadIfNeeded", @@ -408,7 +416,7 @@ "children": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.loadIfNeeded.$1", + "id": "def-common.EsArchiver.loadIfNeeded.$1", "type": "string", "tags": [], "label": "name", @@ -426,7 +434,7 @@ }, { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.EsArchiver.emptyKibanaIndex", + "id": "def-common.EsArchiver.emptyKibanaIndex", "type": "Function", "tags": [], "label": "emptyKibanaIndex", @@ -451,7 +459,7 @@ "functions": [ { "parentPluginId": "@kbn/es-archiver", - "id": "def-server.runCli", + "id": "def-common.runCli", "type": "Function", "tags": [], "label": "runCli", @@ -471,13 +479,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 3295149f8e32f..c93134b665869 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 27 | 0 | 14 | 1 | -## Server +## Common ### Functions - + ### Classes - + diff --git a/api_docs/kbn_es_errors.devdocs.json b/api_docs/kbn_es_errors.devdocs.json index 16963cc516901..bd462d4562282 100644 --- a/api_docs/kbn_es_errors.devdocs.json +++ b/api_docs/kbn_es_errors.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.isResponseError", + "id": "def-common.isResponseError", "type": "Function", "tags": [], "label": "isResponseError", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.isResponseError.$1", + "id": "def-common.isResponseError.$1", "type": "Unknown", "tags": [], "label": "error", @@ -48,7 +56,7 @@ }, { "parentPluginId": "@kbn/es-errors", - "id": "def-server.isUnauthorizedError", + "id": "def-common.isUnauthorizedError", "type": "Function", "tags": [], "label": "isUnauthorizedError", @@ -64,7 +72,7 @@ "children": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.isUnauthorizedError.$1", + "id": "def-common.isUnauthorizedError.$1", "type": "Unknown", "tags": [], "label": "error", @@ -85,7 +93,7 @@ "interfaces": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.ElasticsearchErrorDetails", + "id": "def-common.ElasticsearchErrorDetails", "type": "Interface", "tags": [], "label": "ElasticsearchErrorDetails", @@ -98,7 +106,7 @@ "children": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.ElasticsearchErrorDetails.error", + "id": "def-common.ElasticsearchErrorDetails.error", "type": "Object", "tags": [], "label": "error", @@ -118,7 +126,7 @@ "misc": [ { "parentPluginId": "@kbn/es-errors", - "id": "def-server.UnauthorizedError", + "id": "def-common.UnauthorizedError", "type": "Type", "tags": [], "label": "UnauthorizedError", @@ -136,13 +144,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index cee7ea30f57fb..8770929d71aab 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; @@ -23,14 +23,14 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 7 | 0 | 3 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_es_query.devdocs.json b/api_docs/kbn_es_query.devdocs.json index c29ba715ef6e7..775b0dc995f1a 100644 --- a/api_docs/kbn_es_query.devdocs.json +++ b/api_docs/kbn_es_query.devdocs.json @@ -781,9 +781,9 @@ ", negate: boolean, disabled: boolean, params: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ", alias: string | null, store: ", @@ -914,9 +914,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" } ], @@ -1823,9 +1823,9 @@ ", queryStringOptions: string | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ", dateFormatTZ: string | undefined) => ", @@ -1865,9 +1865,9 @@ "string | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -4963,9 +4963,9 @@ " & { allowLeadingWildcards?: boolean | undefined; queryStringOptions?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index ecb3d2e0ba1ae..671f9f4548bb5 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.devdocs.json b/api_docs/kbn_es_types.devdocs.json index 6a67b862ab922..ca374bcfff9c7 100644 --- a/api_docs/kbn_es_types.devdocs.json +++ b/api_docs/kbn_es_types.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESSearchOptions", + "id": "def-common.ESSearchOptions", "type": "Interface", "tags": [], "label": "ESSearchOptions", @@ -25,7 +33,7 @@ "children": [ { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESSearchOptions.restTotalHitsAsInt", + "id": "def-common.ESSearchOptions.restTotalHitsAsInt", "type": "boolean", "tags": [], "label": "restTotalHitsAsInt", @@ -42,7 +50,7 @@ "misc": [ { "parentPluginId": "@kbn/es-types", - "id": "def-server.AggregateOf", + "id": "def-common.AggregateOf", "type": "Type", "tags": [], "label": "AggregateOf", @@ -81,7 +89,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.AggregationOptionsByType", + "id": "def-common.AggregationOptionsByType", "type": "Type", "tags": [], "label": "AggregationOptionsByType", @@ -252,7 +260,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESFilter", + "id": "def-common.ESFilter", "type": "Type", "tags": [], "label": "ESFilter", @@ -267,7 +275,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESSearchRequest", + "id": "def-common.ESSearchRequest", "type": "Type", "tags": [], "label": "ESSearchRequest", @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESSearchResponse", + "id": "def-common.ESSearchResponse", "type": "Type", "tags": [], "label": "ESSearchResponse", @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.ESSourceOptions", + "id": "def-common.ESSourceOptions", "type": "Type", "tags": [], "label": "ESSourceOptions", @@ -320,7 +328,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.InferSearchResponseOf", + "id": "def-common.InferSearchResponseOf", "type": "Type", "tags": [], "label": "InferSearchResponseOf", @@ -343,7 +351,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.MaybeReadonlyArray", + "id": "def-common.MaybeReadonlyArray", "type": "Type", "tags": [], "label": "MaybeReadonlyArray", @@ -358,7 +366,7 @@ }, { "parentPluginId": "@kbn/es-types", - "id": "def-server.SearchHit", + "id": "def-common.SearchHit", "type": "Type", "tags": [], "label": "SearchHit", @@ -377,13 +385,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 3ee60a8a1bce9..8dfbefeaf61a5 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 11 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_eslint_plugin_imports.devdocs.json b/api_docs/kbn_eslint_plugin_imports.devdocs.json index f42861e188de4..ff32687aa32bf 100644 --- a/api_docs/kbn_eslint_plugin_imports.devdocs.json +++ b/api_docs/kbn_eslint_plugin_imports.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/eslint-plugin-imports", - "id": "def-server.getImportResolver", + "id": "def-common.getImportResolver", "type": "Function", "tags": [], "label": "getImportResolver", @@ -26,9 +34,9 @@ ".RuleContext) => ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ImportResolver", + "section": "def-common.ImportResolver", "text": "ImportResolver" } ], @@ -38,7 +46,7 @@ "children": [ { "parentPluginId": "@kbn/eslint-plugin-imports", - "id": "def-server.getImportResolver.$1", + "id": "def-common.getImportResolver.$1", "type": "Object", "tags": [], "label": "context", @@ -61,13 +69,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 825b8d3da292a..1c06fba39566f 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index f42f84269c5cc..cd0b2ab15b0ec 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.devdocs.json b/api_docs/kbn_find_used_node_modules.devdocs.json index a5e8158bc0e19..a2c7a9e010452 100644 --- a/api_docs/kbn_find_used_node_modules.devdocs.json +++ b/api_docs/kbn_find_used_node_modules.devdocs.json @@ -9,17 +9,23 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/find-used-node-modules", - "id": "def-server.findUsedNodeModules", + "id": "def-common.findUsedNodeModules", "type": "Function", "tags": [], "label": "findUsedNodeModules", - "description": [ - "\nParse a list of entry paths and find the node_modules which are required by them. If the\nentry path requires/imports a non-node_module then that file is scanned too, deeply, until\nall referenced files are scanned.\n\nOptionally, we can find the used peers of the used node_modules. This will keep track of all\nthe paths we use to enter a node_module and then traverse from those points, finding the\nused modules and comparing those to the `peerDependencies` listed in the node_module's package.json\nfile. If a used dependeny is in the `peerDependencies` and is used by the node_module it will\nbe included in the results.\n\nThis was implemented mostly for `@emotion/react` which is used by @elastic/eui but only listed\nas a peerDependency. If we didn't keep it in the Kibana package.json then the package would not\nbe installed and cause an error on startup because `@emotion/react` can't be found. We used to\nsolve this by scanning the node_modules directory for all the packages which are used but that\nwas much slower and lead to extra entries in package.json." - ], + "description": [], "signature": [ "(options: Options) => Promise" ], @@ -29,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/find-used-node-modules", - "id": "def-server.findUsedNodeModules.$1", + "id": "def-common.findUsedNodeModules.$1", "type": "Object", "tags": [], "label": "options", @@ -51,13 +57,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 4e544d75032d9..e64dfe676e9f7 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 0 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_ftr_common_functional_services.devdocs.json b/api_docs/kbn_ftr_common_functional_services.devdocs.json index 736101b2bc5f6..78af08e1b4246 100644 --- a/api_docs/kbn_ftr_common_functional_services.devdocs.json +++ b/api_docs/kbn_ftr_common_functional_services.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService", + "id": "def-common.RetryService", "type": "Class", "tags": [], "label": "RetryService", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, " extends ", @@ -34,7 +42,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.tryForTime", + "id": "def-common.RetryService.tryForTime", "type": "Function", "tags": [], "label": "tryForTime", @@ -48,7 +56,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.tryForTime.$1", + "id": "def-common.RetryService.tryForTime.$1", "type": "number", "tags": [], "label": "timeout", @@ -63,7 +71,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.tryForTime.$2", + "id": "def-common.RetryService.tryForTime.$2", "type": "Function", "tags": [], "label": "block", @@ -78,7 +86,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.tryForTime.$3", + "id": "def-common.RetryService.tryForTime.$3", "type": "Function", "tags": [], "label": "onFailureBlock", @@ -96,7 +104,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.try", + "id": "def-common.RetryService.try", "type": "Function", "tags": [], "label": "try", @@ -110,7 +118,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.try.$1", + "id": "def-common.RetryService.try.$1", "type": "Function", "tags": [], "label": "block", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.try.$2", + "id": "def-common.RetryService.try.$2", "type": "Function", "tags": [], "label": "onFailureBlock", @@ -143,7 +151,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitForWithTimeout", + "id": "def-common.RetryService.waitForWithTimeout", "type": "Function", "tags": [], "label": "waitForWithTimeout", @@ -157,7 +165,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitForWithTimeout.$1", + "id": "def-common.RetryService.waitForWithTimeout.$1", "type": "string", "tags": [], "label": "description", @@ -172,7 +180,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitForWithTimeout.$2", + "id": "def-common.RetryService.waitForWithTimeout.$2", "type": "number", "tags": [], "label": "timeout", @@ -187,7 +195,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitForWithTimeout.$3", + "id": "def-common.RetryService.waitForWithTimeout.$3", "type": "Function", "tags": [], "label": "block", @@ -202,7 +210,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitForWithTimeout.$4", + "id": "def-common.RetryService.waitForWithTimeout.$4", "type": "Function", "tags": [], "label": "onFailureBlock", @@ -220,7 +228,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitFor", + "id": "def-common.RetryService.waitFor", "type": "Function", "tags": [], "label": "waitFor", @@ -234,7 +242,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitFor.$1", + "id": "def-common.RetryService.waitFor.$1", "type": "string", "tags": [], "label": "description", @@ -249,7 +257,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitFor.$2", + "id": "def-common.RetryService.waitFor.$2", "type": "Function", "tags": [], "label": "block", @@ -264,7 +272,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.RetryService.waitFor.$3", + "id": "def-common.RetryService.waitFor.$3", "type": "Function", "tags": [], "label": "onFailureBlock", @@ -290,7 +298,7 @@ "misc": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.Es", + "id": "def-common.Es", "type": "Type", "tags": [], "label": "Es", @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.EsArchiver", + "id": "def-common.EsArchiver", "type": "Type", "tags": [], "label": "EsArchiver", @@ -317,7 +325,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.FtrProviderContext", + "id": "def-common.FtrProviderContext", "type": "Type", "tags": [], "label": "FtrProviderContext", @@ -325,17 +333,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrProviderContext", + "section": "def-common.GenericFtrProviderContext", "text": "GenericFtrProviderContext" }, "<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -343,49 +351,49 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }, {}, ProvidedTypeMap<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -393,41 +401,41 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }>, ProvidedTypeMap<{}>>" @@ -439,7 +447,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.KibanaServer", + "id": "def-common.KibanaServer", "type": "Type", "tags": [], "label": "KibanaServer", @@ -447,9 +455,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" } ], @@ -462,7 +470,7 @@ "objects": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services", + "id": "def-common.services", "type": "Object", "tags": [], "label": "services", @@ -473,7 +481,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.es", + "id": "def-common.services.es", "type": "Function", "tags": [], "label": "es", @@ -482,9 +490,9 @@ "({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -497,7 +505,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.es.$1", + "id": "def-common.services.es.$1", "type": "Object", "tags": [], "label": "__0", @@ -505,17 +513,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrProviderContext", + "section": "def-common.GenericFtrProviderContext", "text": "GenericFtrProviderContext" }, "<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -523,49 +531,49 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }, {}, ProvidedTypeMap<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -573,41 +581,41 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }>, ProvidedTypeMap<{}>>" @@ -620,7 +628,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.kibanaServer", + "id": "def-common.services.kibanaServer", "type": "Function", "tags": [], "label": "kibanaServer", @@ -629,17 +637,17 @@ "({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" } ], @@ -650,7 +658,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.kibanaServer.$1", + "id": "def-common.services.kibanaServer.$1", "type": "Object", "tags": [], "label": "__0", @@ -658,17 +666,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrProviderContext", + "section": "def-common.GenericFtrProviderContext", "text": "GenericFtrProviderContext" }, "<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -676,49 +684,49 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }, {}, ProvidedTypeMap<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -726,41 +734,41 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }>, ProvidedTypeMap<{}>>" @@ -773,7 +781,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.esArchiver", + "id": "def-common.services.esArchiver", "type": "Function", "tags": [], "label": "esArchiver", @@ -782,17 +790,17 @@ "({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" } ], @@ -803,7 +811,7 @@ "children": [ { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.esArchiver.$1", + "id": "def-common.services.esArchiver.$1", "type": "Object", "tags": [], "label": "__0", @@ -811,17 +819,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrProviderContext", + "section": "def-common.GenericFtrProviderContext", "text": "GenericFtrProviderContext" }, "<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -829,49 +837,49 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }, {}, ProvidedTypeMap<{ es: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", @@ -879,41 +887,41 @@ "; kibanaServer: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClient", + "section": "def-common.KbnClient", "text": "KbnClient" }, "; esArchiver: ({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => ", { "pluginId": "@kbn/es-archiver", - "scope": "server", + "scope": "common", "docId": "kibKbnEsArchiverPluginApi", - "section": "def-server.EsArchiver", + "section": "def-common.EsArchiver", "text": "EsArchiver" }, "; retry: typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" }, "; }>, ProvidedTypeMap<{}>>" @@ -926,7 +934,7 @@ }, { "parentPluginId": "@kbn/ftr-common-functional-services", - "id": "def-server.services.retry", + "id": "def-common.services.retry", "type": "Object", "tags": [], "label": "retry", @@ -935,9 +943,9 @@ "typeof ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.RetryService", + "section": "def-common.RetryService", "text": "RetryService" } ], @@ -949,13 +957,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index d74c611fa39db..0ce79145b484d 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 29 | 0 | 29 | 1 | -## Server +## Common ### Objects - + ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_generate.devdocs.json b/api_docs/kbn_generate.devdocs.json index 68b0ebb41e012..584eb90ad1d9b 100644 --- a/api_docs/kbn_generate.devdocs.json +++ b/api_docs/kbn_generate.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/generate", - "id": "def-server.runGenerateCli", + "id": "def-common.runGenerateCli", "type": "Function", "tags": [], "label": "runGenerateCli", @@ -35,13 +43,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index a07112e8ab07a..9e956b1e8c27f 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 1 | 0 | 0 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_get_repo_files.devdocs.json b/api_docs/kbn_get_repo_files.devdocs.json index 0386c3a04ea58..f246288cf40ce 100644 --- a/api_docs/kbn_get_repo_files.devdocs.json +++ b/api_docs/kbn_get_repo_files.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/get-repo-files", - "id": "def-server.getRepoFiles", + "id": "def-common.getRepoFiles", "type": "Function", "tags": [], "label": "getRepoFiles", @@ -21,7 +29,15 @@ "\nList the files in the repo, only including files which are manged by version\ncontrol or \"untracked\" (new, not committed, and not ignored)." ], "signature": [ - "(include: string[] | undefined, exclude: string[] | undefined) => Promise>" + "(include: string[] | undefined, exclude: string[] | undefined) => Promise>" ], "path": "packages/kbn-get-repo-files/src/get_repo_files.ts", "deprecated": false, @@ -29,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/get-repo-files", - "id": "def-server.getRepoFiles.$1", + "id": "def-common.getRepoFiles.$1", "type": "Array", "tags": [], "label": "include", @@ -46,7 +62,7 @@ }, { "parentPluginId": "@kbn/get-repo-files", - "id": "def-server.getRepoFiles.$2", + "id": "def-common.getRepoFiles.$2", "type": "Array", "tags": [], "label": "exclude", @@ -70,13 +86,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx index dd0d53582e493..f0a79ec00c6de 100644 --- a/api_docs/kbn_get_repo_files.mdx +++ b/api_docs/kbn_get_repo_files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-get-repo-files title: "@kbn/get-repo-files" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/get-repo-files plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files'] --- import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 0 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 0e92cf6fe6067..b766b20be67ef 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.devdocs.json b/api_docs/kbn_handlebars.devdocs.json index b312f840efad0..2a7eafa93f406 100644 --- a/api_docs/kbn_handlebars.devdocs.json +++ b/api_docs/kbn_handlebars.devdocs.json @@ -30,14 +30,7 @@ ], "signature": [ "() => typeof ", - { - "pluginId": "@kbn/handlebars", - "scope": "common", - "docId": "kibKbnHandlebarsPluginApi", - "section": "def-common.ExtendedHandlebars", - "text": "ExtendedHandlebars" - }, - " & typeof Handlebars" + "node_modules/handlebars/types/index.d.ts" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, @@ -50,6 +43,46 @@ } ], "interfaces": [ + { + "parentPluginId": "@kbn/handlebars", + "id": "def-common.DecoratorOptions", + "type": "Interface", + "tags": [], + "label": "DecoratorOptions", + "description": [], + "signature": [ + { + "pluginId": "@kbn/handlebars", + "scope": "common", + "docId": "kibKbnHandlebarsPluginApi", + "section": "def-common.DecoratorOptions", + "text": "DecoratorOptions" + }, + " extends Omit<", + "HelperOptions", + ", \"lookupProperties\">" + ], + "path": "packages/kbn-handlebars/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/handlebars", + "id": "def-common.DecoratorOptions.args", + "type": "Array", + "tags": [], + "label": "args", + "description": [], + "signature": [ + "any[] | undefined" + ], + "path": "packages/kbn-handlebars/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/handlebars", "id": "def-common.DecoratorsHash", @@ -104,7 +137,8 @@ "label": "[name: string]: HelperDelegate", "description": [], "signature": [ - "[name: string]: Handlebars.HelperDelegate" + "[name: string]: ", + "HelperDelegate" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, @@ -116,6 +150,29 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/handlebars", + "id": "def-common.AmbiguousHelperOptions", + "type": "Type", + "tags": [], + "label": "AmbiguousHelperOptions", + "description": [], + "signature": [ + "HelperOptions", + " | ", + { + "pluginId": "@kbn/handlebars", + "scope": "common", + "docId": "kibKbnHandlebarsPluginApi", + "section": "def-common.NonBlockHelperOptions", + "text": "NonBlockHelperOptions" + } + ], + "path": "packages/kbn-handlebars/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/handlebars", "id": "def-common.compileFnName", @@ -143,7 +200,9 @@ "\nAccording to the [decorator docs]{@link https://github.com/handlebars-lang/handlebars.js/blob/4.x/docs/decorators-api.md},\na decorator will be called with a different set of arugments than what's actually happening in the upstream code.\nSo here I assume that the docs are wrong and that the upstream code is correct. In reality, `context` is the last 4\ndocumented arguments rolled into one object." ], "signature": [ - "(prog: Handlebars.TemplateDelegate, props: Record, container: Container, options: any) => any" + "(prog: ", + "TemplateDelegate", + ", props: Record, container: Container, options: any) => any" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, @@ -158,42 +217,12 @@ "label": "prog", "description": [], "signature": [ - "Handlebars.TemplateDelegate" + "TemplateDelegate", + "" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/handlebars", - "id": "def-common.DecoratorFunction.$1.$1", - "type": "Uncategorized", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "T" - ], - "path": "node_modules/handlebars/types/index.d.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/handlebars", - "id": "def-common.DecoratorFunction.$1.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "Handlebars.RuntimeOptions | undefined" - ], - "path": "node_modules/handlebars/types/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false }, { "parentPluginId": "@kbn/handlebars", @@ -276,23 +305,13 @@ }, { "parentPluginId": "@kbn/handlebars", - "id": "def-common.Handlebars", - "type": "CompoundType", + "id": "def-common.NonBlockHelperOptions", + "type": "Type", "tags": [], - "label": "Handlebars", - "description": [ - "\nA custom version of the Handlesbars module with an extra `compileAST` function." - ], + "label": "NonBlockHelperOptions", + "description": [], "signature": [ - "typeof ", - { - "pluginId": "@kbn/handlebars", - "scope": "common", - "docId": "kibKbnHandlebarsPluginApi", - "section": "def-common.ExtendedHandlebars", - "text": "ExtendedHandlebars" - }, - " & typeof Handlebars" + "{ name: string; data?: any; hash: any; loc: { start: hbs.AST.Position; end: hbs.AST.Position; }; lookupProperty: LookupProperty; }" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, @@ -303,27 +322,37 @@ "objects": [ { "parentPluginId": "@kbn/handlebars", - "id": "def-common.ExtendedHandlebars", + "id": "def-common.handlebars", "type": "Object", "tags": [], - "label": "ExtendedHandlebars", + "label": "'handlebars'", "description": [ - "\nNormally this namespace isn't used directly. It's required to be present by\nTypeScript when calling the `Handlebars.create()` function." + "\nA custom version of the Handlesbars module with an extra `compileAST` function and fixed typings." ], "signature": [ "typeof ", - { - "pluginId": "@kbn/handlebars", - "scope": "common", - "docId": "kibKbnHandlebarsPluginApi", - "section": "def-common.ExtendedHandlebars", - "text": "ExtendedHandlebars" - } + "node_modules/handlebars/types/index.d.ts" ], "path": "packages/kbn-handlebars/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/handlebars", + "id": "def-common.Handlebars", + "type": "Object", + "tags": [], + "label": "Handlebars", + "description": [], + "signature": [ + "typeof ", + "node_modules/handlebars/types/index.d.ts" + ], + "path": "node_modules/handlebars/types/index.d.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ] } diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 8f30ad17ae33d..b48f074e30bf1 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 1 | 8 | 0 | +| 19 | 1 | 12 | 0 | ## Common diff --git a/api_docs/kbn_hapi_mocks.devdocs.json b/api_docs/kbn_hapi_mocks.devdocs.json index 6f8dc695e075a..b6bc88b0ceafc 100644 --- a/api_docs/kbn_hapi_mocks.devdocs.json +++ b/api_docs/kbn_hapi_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/hapi-mocks", - "id": "def-server.hapiMocks", + "id": "def-common.hapiMocks", "type": "Object", "tags": [], "label": "hapiMocks", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/hapi-mocks", - "id": "def-server.hapiMocks.createRequest", + "id": "def-common.hapiMocks.createRequest", "type": "Function", "tags": [], "label": "createRequest", @@ -37,9 +45,9 @@ "(customization?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -54,7 +62,7 @@ "children": [ { "parentPluginId": "@kbn/hapi-mocks", - "id": "def-server.hapiMocks.createRequest.$1", + "id": "def-common.hapiMocks.createRequest.$1", "type": "Object", "tags": [], "label": "customization", @@ -63,9 +71,9 @@ "{ app?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -73,9 +81,9 @@ "> | undefined; readonly auth?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -83,9 +91,9 @@ "> | undefined; events?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -93,9 +101,9 @@ "> | undefined; readonly headers?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -103,9 +111,9 @@ ".Dictionary> | undefined; readonly info?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -113,9 +121,9 @@ "> | undefined; readonly logs?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, "<", @@ -125,9 +133,9 @@ ".HTTP_METHODS_PARTIAL_LOWERCASE | undefined; readonly mime?: string | undefined; readonly orig?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -135,9 +143,9 @@ "> | undefined; readonly params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -145,17 +153,17 @@ ".Dictionary> | undefined; readonly paramsArray?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, " | undefined; readonly path?: string | undefined; readonly payload?: string | object | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -163,17 +171,17 @@ "> | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, " | undefined; plugins?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -181,9 +189,9 @@ "> | undefined; readonly pre?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -191,9 +199,9 @@ ".Dictionary> | undefined; response?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -201,9 +209,9 @@ "> | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -211,9 +219,9 @@ "> | undefined; readonly preResponses?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -221,9 +229,9 @@ ".Dictionary> | undefined; readonly query?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -231,9 +239,9 @@ "> | undefined; readonly raw?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ req: ", @@ -243,9 +251,9 @@ "; }> | undefined; readonly route?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -253,9 +261,9 @@ "> | undefined; server?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -263,9 +271,9 @@ "> | undefined; readonly state?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -273,9 +281,9 @@ ".Dictionary> | undefined; readonly url?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<", @@ -283,17 +291,17 @@ "> | undefined; active?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<() => boolean> | undefined; generateResponse?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(source: string | object | null, options?: { variety?: string | undefined; prepare?: ((response: ", @@ -311,17 +319,17 @@ "> | undefined; log?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(tags: string | string[], data?: string | object | (() => string | object) | undefined) => void> | undefined; setMethod?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(method: ", @@ -329,9 +337,9 @@ ".HTTP_METHODS_PARTIAL) => void> | undefined; setUrl?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(url: string | ", @@ -339,17 +347,17 @@ ", stripTrailingSlash?: boolean | undefined) => void> | undefined; cookieAuth?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ set(session: object): void; set(key: string, value: string | object): void; clear(key?: string | undefined): void; ttl(milliseconds: number): void; }> | undefined; registerEvent?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(events: ", @@ -359,9 +367,9 @@ "[]) => void> | undefined; registerPodium?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(podiums: ", @@ -371,9 +379,9 @@ "[]) => void> | undefined; emit?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(criteria: string | ", @@ -381,9 +389,9 @@ ", data?: any) => Promise> | undefined; on?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ | undefined; addListener?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ | undefined; once?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<{ ): Promise; }> | undefined; removeListener?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string, listener: ", @@ -469,9 +477,9 @@ "> | undefined; removeAllListeners?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string) => ", @@ -479,9 +487,9 @@ "> | undefined; hasListeners?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, "<(name: string) => boolean> | undefined; }" @@ -496,13 +504,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 2f4901ac9ea2b..9e4eebb3b3182 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 3 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_health_gateway_server.devdocs.json b/api_docs/kbn_health_gateway_server.devdocs.json index aaa224813e07e..9e18b21909451 100644 --- a/api_docs/kbn_health_gateway_server.devdocs.json +++ b/api_docs/kbn_health_gateway_server.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/health-gateway-server", - "id": "def-server.bootstrap", + "id": "def-common.bootstrap", "type": "Function", "tags": [], "label": "bootstrap", @@ -33,13 +41,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 3df31d75e97b3..bd81015febc97 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 1 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index ca5d003b8c2b5..63ef68aae2f4b 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 0b4e092768488..3b46befb6aeb4 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.devdocs.json b/api_docs/kbn_i18n.devdocs.json index 5cea6349dcdbc..db5383189aacf 100644 --- a/api_docs/kbn_i18n.devdocs.json +++ b/api_docs/kbn_i18n.devdocs.json @@ -1,28 +1,12 @@ { "id": "@kbn/i18n", "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.Formats", + "id": "def-public.Formats", "type": "Interface", "tags": [], "label": "Formats", @@ -33,7 +17,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.Formats.number", + "id": "def-public.Formats.number", "type": "Object", "tags": [], "label": "number", @@ -47,7 +31,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Formats.date", + "id": "def-public.Formats.date", "type": "Object", "tags": [], "label": "date", @@ -61,7 +45,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Formats.time", + "id": "def-public.Formats.time", "type": "Object", "tags": [], "label": "time", @@ -75,7 +59,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Formats.relative", + "id": "def-public.Formats.relative", "type": "Object", "tags": [], "label": "relative", @@ -92,7 +76,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.TranslateArguments", + "id": "def-public.TranslateArguments", "type": "Interface", "tags": [], "label": "TranslateArguments", @@ -103,7 +87,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.TranslateArguments.values", + "id": "def-public.TranslateArguments.values", "type": "Object", "tags": [], "label": "values", @@ -117,7 +101,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.TranslateArguments.defaultMessage", + "id": "def-public.TranslateArguments.defaultMessage", "type": "string", "tags": [], "label": "defaultMessage", @@ -128,7 +112,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.TranslateArguments.description", + "id": "def-public.TranslateArguments.description", "type": "string", "tags": [], "label": "description", @@ -145,7 +129,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Translation", + "id": "def-public.Translation", "type": "Interface", "tags": [], "label": "Translation", @@ -156,7 +140,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.Translation.messages", + "id": "def-public.Translation.messages", "type": "Object", "tags": [], "label": "messages", @@ -172,7 +156,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Translation.locale", + "id": "def-public.Translation.locale", "type": "string", "tags": [], "label": "locale", @@ -188,7 +172,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.Translation.formats", + "id": "def-public.Translation.formats", "type": "Object", "tags": [], "label": "formats", @@ -198,9 +182,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Formats", + "section": "def-public.Formats", "text": "Formats" }, " | undefined" @@ -218,7 +202,7 @@ "objects": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n", + "id": "def-public.i18n", "type": "Object", "tags": [], "label": "i18n", @@ -229,7 +213,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.formats", + "id": "def-public.i18n.formats", "type": "Object", "tags": [], "label": "formats", @@ -237,9 +221,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Formats", + "section": "def-public.Formats", "text": "Formats" } ], @@ -249,7 +233,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.addTranslation", + "id": "def-public.i18n.addTranslation", "type": "Function", "tags": [], "label": "addTranslation", @@ -258,9 +242,9 @@ "(newTranslation: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, ", locale?: string | undefined) => void" @@ -272,7 +256,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.addTranslation.$1", + "id": "def-public.i18n.addTranslation.$1", "type": "Object", "tags": [], "label": "newTranslation", @@ -280,9 +264,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" } ], @@ -292,7 +276,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.addTranslation.$2", + "id": "def-public.i18n.addTranslation.$2", "type": "string", "tags": [], "label": "locale", @@ -308,7 +292,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.getTranslation", + "id": "def-public.i18n.getTranslation", "type": "Function", "tags": [], "label": "getTranslation", @@ -317,9 +301,9 @@ "() => ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" } ], @@ -331,7 +315,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setLocale", + "id": "def-public.i18n.setLocale", "type": "Function", "tags": [], "label": "setLocale", @@ -346,7 +330,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setLocale.$1", + "id": "def-public.i18n.setLocale.$1", "type": "string", "tags": [], "label": "locale", @@ -359,7 +343,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.getLocale", + "id": "def-public.i18n.getLocale", "type": "Function", "tags": [], "label": "getLocale", @@ -375,7 +359,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setDefaultLocale", + "id": "def-public.i18n.setDefaultLocale", "type": "Function", "tags": [], "label": "setDefaultLocale", @@ -390,7 +374,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setDefaultLocale.$1", + "id": "def-public.i18n.setDefaultLocale.$1", "type": "string", "tags": [], "label": "locale", @@ -403,7 +387,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.getDefaultLocale", + "id": "def-public.i18n.getDefaultLocale", "type": "Function", "tags": [], "label": "getDefaultLocale", @@ -419,7 +403,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setFormats", + "id": "def-public.i18n.setFormats", "type": "Function", "tags": [], "label": "setFormats", @@ -428,9 +412,9 @@ "(newFormats: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Formats", + "section": "def-public.Formats", "text": "Formats" }, ") => void" @@ -442,7 +426,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.setFormats.$1", + "id": "def-public.i18n.setFormats.$1", "type": "Object", "tags": [], "label": "newFormats", @@ -450,9 +434,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Formats", + "section": "def-public.Formats", "text": "Formats" } ], @@ -464,7 +448,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.getFormats", + "id": "def-public.i18n.getFormats", "type": "Function", "tags": [], "label": "getFormats", @@ -473,9 +457,9 @@ "() => ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Formats", + "section": "def-public.Formats", "text": "Formats" } ], @@ -487,7 +471,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.getRegisteredLocales", + "id": "def-public.i18n.getRegisteredLocales", "type": "Function", "tags": [], "label": "getRegisteredLocales", @@ -503,7 +487,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.translate", + "id": "def-public.i18n.translate", "type": "Function", "tags": [], "label": "translate", @@ -512,9 +496,9 @@ "(id: string, { values, defaultMessage }: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.TranslateArguments", + "section": "def-public.TranslateArguments", "text": "TranslateArguments" }, ") => any" @@ -526,7 +510,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.translate.$1", + "id": "def-public.i18n.translate.$1", "type": "string", "tags": [], "label": "id", @@ -537,7 +521,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.translate.$2", + "id": "def-public.i18n.translate.$2", "type": "Object", "tags": [], "label": "__1", @@ -545,9 +529,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.TranslateArguments", + "section": "def-public.TranslateArguments", "text": "TranslateArguments" } ], @@ -559,7 +543,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.init", + "id": "def-public.i18n.init", "type": "Function", "tags": [], "label": "init", @@ -568,9 +552,9 @@ "(newTranslation?: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, " | undefined) => void" @@ -582,7 +566,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.init.$1", + "id": "def-public.i18n.init.$1", "type": "Object", "tags": [], "label": "newTranslation", @@ -590,9 +574,9 @@ "signature": [ { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, " | undefined" @@ -605,7 +589,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.load", + "id": "def-public.i18n.load", "type": "Function", "tags": [], "label": "load", @@ -620,7 +604,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.load.$1", + "id": "def-public.i18n.load.$1", "type": "string", "tags": [], "label": "translationsUrl", @@ -633,7 +617,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.isPseudoLocale", + "id": "def-public.i18n.isPseudoLocale", "type": "Function", "tags": [], "label": "isPseudoLocale", @@ -648,7 +632,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.isPseudoLocale.$1", + "id": "def-public.i18n.isPseudoLocale.$1", "type": "string", "tags": [], "label": "locale", @@ -661,7 +645,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.translateUsingPseudoLocale", + "id": "def-public.i18n.translateUsingPseudoLocale", "type": "Function", "tags": [], "label": "translateUsingPseudoLocale", @@ -676,7 +660,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18n.translateUsingPseudoLocale.$1", + "id": "def-public.i18n.translateUsingPseudoLocale.$1", "type": "string", "tags": [], "label": "message", @@ -692,7 +676,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader", + "id": "def-public.i18nLoader", "type": "Object", "tags": [], "label": "i18nLoader", @@ -703,7 +687,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.registerTranslationFile", + "id": "def-public.i18nLoader.registerTranslationFile", "type": "Function", "tags": [], "label": "registerTranslationFile", @@ -718,7 +702,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.registerTranslationFile.$1", + "id": "def-public.i18nLoader.registerTranslationFile.$1", "type": "string", "tags": [], "label": "translationFilePath", @@ -731,7 +715,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.registerTranslationFiles", + "id": "def-public.i18nLoader.registerTranslationFiles", "type": "Function", "tags": [], "label": "registerTranslationFiles", @@ -746,7 +730,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.registerTranslationFiles.$1", + "id": "def-public.i18nLoader.registerTranslationFiles.$1", "type": "Array", "tags": [], "label": "arrayOfPaths", @@ -762,7 +746,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getTranslationsByLocale", + "id": "def-public.i18nLoader.getTranslationsByLocale", "type": "Function", "tags": [], "label": "getTranslationsByLocale", @@ -771,9 +755,9 @@ "(locale: string) => Promise<", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, ">" @@ -785,7 +769,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getTranslationsByLocale.$1", + "id": "def-public.i18nLoader.getTranslationsByLocale.$1", "type": "string", "tags": [], "label": "locale", @@ -798,7 +782,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getAllTranslations", + "id": "def-public.i18nLoader.getAllTranslations", "type": "Function", "tags": [], "label": "getAllTranslations", @@ -807,9 +791,9 @@ "() => Promise<{ [key: string]: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, "; }>" @@ -822,7 +806,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getAllTranslationsFromPaths", + "id": "def-public.i18nLoader.getAllTranslationsFromPaths", "type": "Function", "tags": [], "label": "getAllTranslationsFromPaths", @@ -831,9 +815,9 @@ "(paths: string[]) => Promise<{ [key: string]: ", { "pluginId": "@kbn/i18n", - "scope": "common", + "scope": "public", "docId": "kibKbnI18nPluginApi", - "section": "def-common.Translation", + "section": "def-public.Translation", "text": "Translation" }, "; }>" @@ -845,7 +829,7 @@ "children": [ { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getAllTranslationsFromPaths.$1", + "id": "def-public.i18nLoader.getAllTranslationsFromPaths.$1", "type": "Array", "tags": [], "label": "paths", @@ -861,7 +845,7 @@ }, { "parentPluginId": "@kbn/i18n", - "id": "def-common.i18nLoader.getRegisteredLocales", + "id": "def-public.i18nLoader.getRegisteredLocales", "type": "Function", "tags": [], "label": "getRegisteredLocales", @@ -879,5 +863,21 @@ "initialIsOpen": false } ] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 93a773f0208a4..90934b8ccc0fc 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 51 | 0 | 48 | 0 | -## Common +## Client ### Objects - + ### Interfaces - + diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 3559c7be62de6..83284e1e5bf8c 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.devdocs.json b/api_docs/kbn_import_resolver.devdocs.json index d5e2e003efc91..b57d06956340a 100644 --- a/api_docs/kbn_import_resolver.devdocs.json +++ b/api_docs/kbn_import_resolver.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver", + "id": "def-common.ImportResolver", "type": "Class", "tags": [], "label": "ImportResolver", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.create", + "id": "def-common.ImportResolver.create", "type": "Function", "tags": [], "label": "create", @@ -32,9 +40,9 @@ "(repoRoot: string) => ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ImportResolver", + "section": "def-common.ImportResolver", "text": "ImportResolver" } ], @@ -44,7 +52,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.create.$1", + "id": "def-common.ImportResolver.create.$1", "type": "string", "tags": [], "label": "repoRoot", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.Unnamed", + "id": "def-common.ImportResolver.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -76,7 +84,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.Unnamed.$1", + "id": "def-common.ImportResolver.Unnamed.$1", "type": "string", "tags": [], "label": "cwd", @@ -91,7 +99,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.Unnamed.$2", + "id": "def-common.ImportResolver.Unnamed.$2", "type": "Object", "tags": [], "label": "pkgMap", @@ -106,13 +114,15 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.Unnamed.$3", + "id": "def-common.ImportResolver.Unnamed.$3", "type": "Object", "tags": [], - "label": "synthPkgMap", + "label": "pkgManifests", "description": [], "signature": [ - "PackageMap" + "Map" ], "path": "packages/kbn-import-resolver/src/import_resolver.ts", "deprecated": false, @@ -124,7 +134,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.getPackageIdForPath", + "id": "def-common.ImportResolver.getPackageIdForPath", "type": "Function", "tags": [], "label": "getPackageIdForPath", @@ -138,7 +148,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.getPackageIdForPath.$1", + "id": "def-common.ImportResolver.getPackageIdForPath.$1", "type": "string", "tags": [], "label": "path", @@ -156,7 +166,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.getAbsolutePackageDir", + "id": "def-common.ImportResolver.getAbsolutePackageDir", "type": "Function", "tags": [], "label": "getAbsolutePackageDir", @@ -170,7 +180,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.getAbsolutePackageDir.$1", + "id": "def-common.ImportResolver.getAbsolutePackageDir.$1", "type": "string", "tags": [], "label": "pkgId", @@ -188,21 +198,47 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.isBazelPackage", + "id": "def-common.ImportResolver.isBazelPackage", "type": "Function", - "tags": [], + "tags": [ + "deprecated" + ], "label": "isBazelPackage", - "description": [], + "description": [ + "\nIs the package a bazel package?" + ], "signature": [ "(pkgId: string) => boolean" ], "path": "packages/kbn-import-resolver/src/import_resolver.ts", - "deprecated": false, + "deprecated": true, "trackAdoption": false, + "references": [ + { + "plugin": "@kbn/eslint-plugin-imports", + "path": "packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts" + }, + { + "plugin": "@kbn/repo-source-classifier", + "path": "packages/kbn-repo-source-classifier/src/repo_path.ts" + }, + { + "plugin": "@kbn/find-used-node-modules", + "path": "packages/kbn-find-used-node-modules/src/find_used_node_modules.ts" + }, + { + "plugin": "@kbn/find-used-node-modules", + "path": "packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts" + }, + { + "plugin": "@kbn/find-used-node-modules", + "path": "packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts" + } + ], "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.isBazelPackage.$1", + "id": "def-common.ImportResolver.isBazelPackage.$1", "type": "string", "tags": [], "label": "pkgId", @@ -220,13 +256,15 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.isSyntheticPackage", + "id": "def-common.ImportResolver.getPkgManifest", "type": "Function", "tags": [], - "label": "isSyntheticPackage", + "label": "getPkgManifest", "description": [], "signature": [ - "(pkgId: string) => boolean" + "(pkgId: string) => ", + "KibanaPackageManifest", + " | undefined" ], "path": "packages/kbn-import-resolver/src/import_resolver.ts", "deprecated": false, @@ -234,7 +272,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.isSyntheticPackage.$1", + "id": "def-common.ImportResolver.getPkgManifest.$1", "type": "string", "tags": [], "label": "pkgId", @@ -252,7 +290,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.resolve", + "id": "def-common.ImportResolver.resolve", "type": "Function", "tags": [], "label": "resolve", @@ -263,9 +301,9 @@ "(req: string, dirname: string) => ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ResolveResult", + "section": "def-common.ResolveResult", "text": "ResolveResult" }, " | null" @@ -276,7 +314,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.resolve.$1", + "id": "def-common.ImportResolver.resolve.$1", "type": "string", "tags": [], "label": "req", @@ -291,7 +329,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportResolver.resolve.$2", + "id": "def-common.ImportResolver.resolve.$2", "type": "string", "tags": [], "label": "dirname", @@ -314,7 +352,7 @@ "functions": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.getPackageRelativeImportReq", + "id": "def-common.getPackageRelativeImportReq", "type": "Function", "tags": [], "label": "getPackageRelativeImportReq", @@ -328,7 +366,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.getPackageRelativeImportReq.$1", + "id": "def-common.getPackageRelativeImportReq.$1", "type": "Object", "tags": [], "label": "options", @@ -347,7 +385,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.getRelativeImportReq", + "id": "def-common.getRelativeImportReq", "type": "Function", "tags": [], "label": "getRelativeImportReq", @@ -361,7 +399,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.getRelativeImportReq.$1", + "id": "def-common.getRelativeImportReq.$1", "type": "Object", "tags": [], "label": "options", @@ -380,7 +418,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.reduceImportRequest", + "id": "def-common.reduceImportRequest", "type": "Function", "tags": [], "label": "reduceImportRequest", @@ -389,12 +427,12 @@ "(req: string, type: ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ImportType", + "section": "def-common.ImportType", "text": "ImportType" }, - ", original: string | undefined) => string" + ", original: string | undefined, sourceExt: string | undefined) => string" ], "path": "packages/kbn-import-resolver/src/helpers/import_req.ts", "deprecated": false, @@ -402,7 +440,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.reduceImportRequest.$1", + "id": "def-common.reduceImportRequest.$1", "type": "string", "tags": [], "label": "req", @@ -417,7 +455,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.reduceImportRequest.$2", + "id": "def-common.reduceImportRequest.$2", "type": "CompoundType", "tags": [], "label": "type", @@ -425,9 +463,9 @@ "signature": [ { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ImportType", + "section": "def-common.ImportType", "text": "ImportType" } ], @@ -438,7 +476,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.reduceImportRequest.$3", + "id": "def-common.reduceImportRequest.$3", "type": "string", "tags": [], "label": "original", @@ -450,6 +488,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "@kbn/import-resolver", + "id": "def-common.reduceImportRequest.$4", + "type": "string", + "tags": [], + "label": "sourceExt", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-import-resolver/src/helpers/import_req.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [], @@ -459,7 +512,7 @@ "interfaces": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.BuiltInResult", + "id": "def-common.BuiltInResult", "type": "Interface", "tags": [], "label": "BuiltInResult", @@ -472,7 +525,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.BuiltInResult.type", + "id": "def-common.BuiltInResult.type", "type": "string", "tags": [], "label": "type", @@ -489,7 +542,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult", + "id": "def-common.FileResult", "type": "Interface", "tags": [], "label": "FileResult", @@ -502,7 +555,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult.type", + "id": "def-common.FileResult.type", "type": "string", "tags": [], "label": "type", @@ -516,7 +569,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult.absolute", + "id": "def-common.FileResult.absolute", "type": "string", "tags": [], "label": "absolute", @@ -527,7 +580,21 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult.nodeModule", + "id": "def-common.FileResult.pkgId", + "type": "string", + "tags": [], + "label": "pkgId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-import-resolver/src/resolve_result.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/import-resolver", + "id": "def-common.FileResult.nodeModule", "type": "string", "tags": [], "label": "nodeModule", @@ -541,7 +608,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult.prefix", + "id": "def-common.FileResult.prefix", "type": "string", "tags": [], "label": "prefix", @@ -555,7 +622,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.FileResult.postfix", + "id": "def-common.FileResult.postfix", "type": "string", "tags": [], "label": "postfix", @@ -572,7 +639,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.IgnoreResult", + "id": "def-common.IgnoreResult", "type": "Interface", "tags": [], "label": "IgnoreResult", @@ -585,7 +652,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.IgnoreResult.type", + "id": "def-common.IgnoreResult.type", "type": "string", "tags": [], "label": "type", @@ -602,7 +669,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.OptionalDepResult", + "id": "def-common.OptionalDepResult", "type": "Interface", "tags": [], "label": "OptionalDepResult", @@ -615,7 +682,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.OptionalDepResult.type", + "id": "def-common.OptionalDepResult.type", "type": "string", "tags": [], "label": "type", @@ -632,7 +699,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.TypesResult", + "id": "def-common.TypesResult", "type": "Interface", "tags": [], "label": "TypesResult", @@ -645,7 +712,7 @@ "children": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.TypesResult.type", + "id": "def-common.TypesResult.type", "type": "string", "tags": [], "label": "type", @@ -659,7 +726,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.TypesResult.module", + "id": "def-common.TypesResult.module", "type": "string", "tags": [], "label": "module", @@ -676,7 +743,7 @@ "misc": [ { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ImportType", + "id": "def-common.ImportType", "type": "Type", "tags": [], "label": "ImportType", @@ -691,7 +758,7 @@ }, { "parentPluginId": "@kbn/import-resolver", - "id": "def-server.ResolveResult", + "id": "def-common.ResolveResult", "type": "Type", "tags": [], "label": "ResolveResult", @@ -701,41 +768,41 @@ "signature": [ { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.BuiltInResult", + "section": "def-common.BuiltInResult", "text": "BuiltInResult" }, " | ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.IgnoreResult", + "section": "def-common.IgnoreResult", "text": "IgnoreResult" }, " | ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.TypesResult", + "section": "def-common.TypesResult", "text": "TypesResult" }, " | ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.FileResult", + "section": "def-common.FileResult", "text": "FileResult" }, " | ", { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.OptionalDepResult", + "section": "def-common.OptionalDepResult", "text": "OptionalDepResult" } ], @@ -746,13 +813,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 1c5a2801776ad..299c15f5e0860 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; @@ -21,19 +21,19 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 43 | 0 | 36 | 0 | +| 45 | 0 | 37 | 0 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_interpreter.devdocs.json b/api_docs/kbn_interpreter.devdocs.json index 2247b5001b0fe..ff3c2af434403 100644 --- a/api_docs/kbn_interpreter.devdocs.json +++ b/api_docs/kbn_interpreter.devdocs.json @@ -777,7 +777,7 @@ "tags": [], "label": "input", "description": [], - "path": "node_modules/@kbn/ambient-common-types/index.d.ts", + "path": "packages/kbn-ambient-common-types/index.d.ts", "deprecated": false, "trackAdoption": false }, @@ -792,7 +792,7 @@ "ParserOptions", " | undefined" ], - "path": "node_modules/@kbn/ambient-common-types/index.d.ts", + "path": "packages/kbn-ambient-common-types/index.d.ts", "deprecated": false, "trackAdoption": false } diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 98dab8889770e..c427848c0d916 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; @@ -21,7 +21,7 @@ Contact Visualizations for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 52 | 12 | 41 | 0 | +| 52 | 12 | 43 | 0 | ## Common diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index c13f9d693efc0..93fc8e4dfde80 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.devdocs.json b/api_docs/kbn_jest_serializers.devdocs.json index c4b87cdea3261..aaedcb3a63cbc 100644 --- a/api_docs/kbn_jest_serializers.devdocs.json +++ b/api_docs/kbn_jest_serializers.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAbsolutePathSerializer", + "id": "def-common.createAbsolutePathSerializer", "type": "Function", "tags": [], "label": "createAbsolutePathSerializer", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAbsolutePathSerializer.$1", + "id": "def-common.createAbsolutePathSerializer.$1", "type": "string", "tags": [], "label": "rootPath", @@ -42,7 +50,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAbsolutePathSerializer.$2", + "id": "def-common.createAbsolutePathSerializer.$2", "type": "string", "tags": [], "label": "replacement", @@ -61,7 +69,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAnyInstanceSerializer", + "id": "def-common.createAnyInstanceSerializer", "type": "Function", "tags": [], "label": "createAnyInstanceSerializer", @@ -75,7 +83,7 @@ "children": [ { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAnyInstanceSerializer.$1", + "id": "def-common.createAnyInstanceSerializer.$1", "type": "Object", "tags": [], "label": "Class", @@ -90,7 +98,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createAnyInstanceSerializer.$2", + "id": "def-common.createAnyInstanceSerializer.$2", "type": "CompoundType", "tags": [], "label": "name", @@ -109,7 +117,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createRecursiveSerializer", + "id": "def-common.createRecursiveSerializer", "type": "Function", "tags": [], "label": "createRecursiveSerializer", @@ -123,7 +131,7 @@ "children": [ { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createRecursiveSerializer.$1", + "id": "def-common.createRecursiveSerializer.$1", "type": "Function", "tags": [], "label": "test", @@ -138,7 +146,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createRecursiveSerializer.$2", + "id": "def-common.createRecursiveSerializer.$2", "type": "Function", "tags": [], "label": "print", @@ -157,7 +165,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createReplaceSerializer", + "id": "def-common.createReplaceSerializer", "type": "Function", "tags": [], "label": "createReplaceSerializer", @@ -171,7 +179,7 @@ "children": [ { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createReplaceSerializer.$1", + "id": "def-common.createReplaceSerializer.$1", "type": "CompoundType", "tags": [], "label": "toReplace", @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createReplaceSerializer.$2", + "id": "def-common.createReplaceSerializer.$2", "type": "CompoundType", "tags": [], "label": "replaceWith", @@ -205,7 +213,7 @@ }, { "parentPluginId": "@kbn/jest-serializers", - "id": "def-server.createStripAnsiSerializer", + "id": "def-common.createStripAnsiSerializer", "type": "Function", "tags": [], "label": "createStripAnsiSerializer", @@ -225,13 +233,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 88cacab04dde3..e4486c2cd0d40 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 13 | 0 | 13 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_journeys.devdocs.json b/api_docs/kbn_journeys.devdocs.json index 42ac65b7eead4..4ce5b291bedaf 100644 --- a/api_docs/kbn_journeys.devdocs.json +++ b/api_docs/kbn_journeys.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey", + "id": "def-common.Journey", "type": "Class", "tags": [], "label": "Journey", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Journey", + "section": "def-common.Journey", "text": "Journey" }, "" @@ -33,7 +41,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.convertToFtrConfigProvider", + "id": "def-common.Journey.convertToFtrConfigProvider", "type": "Function", "tags": [], "label": "convertToFtrConfigProvider", @@ -42,17 +50,17 @@ "(journey: ", { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Journey", + "section": "def-common.Journey", "text": "Journey" }, ") => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.FtrConfigProvider", + "section": "def-common.FtrConfigProvider", "text": "FtrConfigProvider" } ], @@ -62,7 +70,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.convertToFtrConfigProvider.$1", + "id": "def-common.Journey.convertToFtrConfigProvider.$1", "type": "Object", "tags": [], "label": "journey", @@ -70,9 +78,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Journey", + "section": "def-common.Journey", "text": "Journey" }, "" @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.load", + "id": "def-common.Journey.load", "type": "Function", "tags": [], "label": "load", @@ -98,9 +106,9 @@ "(path: string) => Promise<", { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Journey", + "section": "def-common.Journey", "text": "Journey" }, ">" @@ -111,7 +119,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.load.$1", + "id": "def-common.Journey.load.$1", "type": "string", "tags": [], "label": "path", @@ -129,7 +137,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.steps", + "id": "def-common.Journey.steps", "type": "Array", "tags": [], "label": "#steps", @@ -137,9 +145,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Step", + "section": "def-common.Step", "text": "Step" }, "[]" @@ -150,7 +158,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.config", + "id": "def-common.Journey.config", "type": "Object", "tags": [], "label": "config", @@ -158,9 +166,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.JourneyConfig", + "section": "def-common.JourneyConfig", "text": "JourneyConfig" }, "" @@ -171,7 +179,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.Unnamed", + "id": "def-common.Journey.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -187,7 +195,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.Unnamed.$1", + "id": "def-common.Journey.Unnamed.$1", "type": "Object", "tags": [], "label": "opts", @@ -206,7 +214,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.step", + "id": "def-common.Journey.step", "type": "Function", "tags": [], "label": "step", @@ -224,7 +232,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.step.$1", + "id": "def-common.Journey.step.$1", "type": "string", "tags": [], "label": "name", @@ -239,7 +247,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.step.$2", + "id": "def-common.Journey.step.$2", "type": "Function", "tags": [], "label": "fn", @@ -259,7 +267,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.testProvider", + "id": "def-common.Journey.testProvider", "type": "Function", "tags": [], "label": "testProvider", @@ -270,9 +278,9 @@ "({ getService }: ", { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" }, ") => void" @@ -283,7 +291,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Journey.testProvider.$1", + "id": "def-common.Journey.testProvider.$1", "type": "Object", "tags": [], "label": "{ getService }", @@ -291,9 +299,9 @@ "signature": [ { "pluginId": "@kbn/ftr-common-functional-services", - "scope": "server", + "scope": "common", "docId": "kibKbnFtrCommonFunctionalServicesPluginApi", - "section": "def-server.FtrProviderContext", + "section": "def-common.FtrProviderContext", "text": "FtrProviderContext" } ], @@ -310,7 +318,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig", + "id": "def-common.JourneyConfig", "type": "Class", "tags": [], "label": "JourneyConfig", @@ -318,9 +326,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.JourneyConfig", + "section": "def-common.JourneyConfig", "text": "JourneyConfig" }, "" @@ -331,7 +339,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.opts", + "id": "def-common.JourneyConfig.opts", "type": "Object", "tags": [], "label": "#opts", @@ -346,7 +354,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.path", + "id": "def-common.JourneyConfig.path", "type": "string", "tags": [], "label": "#path", @@ -357,7 +365,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.name", + "id": "def-common.JourneyConfig.name", "type": "string", "tags": [], "label": "#name", @@ -368,7 +376,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.Unnamed", + "id": "def-common.JourneyConfig.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -382,7 +390,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.Unnamed.$1", + "id": "def-common.JourneyConfig.Unnamed.$1", "type": "string", "tags": [], "label": "path", @@ -397,7 +405,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.Unnamed.$2", + "id": "def-common.JourneyConfig.Unnamed.$2", "type": "Object", "tags": [], "label": "opts", @@ -416,7 +424,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getEsArchives", + "id": "def-common.JourneyConfig.getEsArchives", "type": "Function", "tags": [], "label": "getEsArchives", @@ -432,7 +440,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getKbnArchives", + "id": "def-common.JourneyConfig.getKbnArchives", "type": "Function", "tags": [], "label": "getKbnArchives", @@ -448,7 +456,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.isXpack", + "id": "def-common.JourneyConfig.isXpack", "type": "Function", "tags": [], "label": "isXpack", @@ -464,7 +472,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getExtraApmLabels", + "id": "def-common.JourneyConfig.getExtraApmLabels", "type": "Function", "tags": [], "label": "getExtraApmLabels", @@ -480,7 +488,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getRepoRelPath", + "id": "def-common.JourneyConfig.getRepoRelPath", "type": "Function", "tags": [], "label": "getRepoRelPath", @@ -496,7 +504,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getPath", + "id": "def-common.JourneyConfig.getPath", "type": "Function", "tags": [], "label": "getPath", @@ -512,7 +520,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getName", + "id": "def-common.JourneyConfig.getName", "type": "Function", "tags": [], "label": "getName", @@ -528,7 +536,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.shouldAutoLogin", + "id": "def-common.JourneyConfig.shouldAutoLogin", "type": "Function", "tags": [], "label": "shouldAutoLogin", @@ -544,7 +552,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.isSkipped", + "id": "def-common.JourneyConfig.isSkipped", "type": "Function", "tags": [], "label": "isSkipped", @@ -560,7 +568,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getScalabilityConfig", + "id": "def-common.JourneyConfig.getScalabilityConfig", "type": "Function", "tags": [], "label": "getScalabilityConfig", @@ -569,9 +577,9 @@ "() => ", { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.ScalabilitySetup", + "section": "def-common.ScalabilitySetup", "text": "ScalabilitySetup" }, " | undefined" @@ -584,7 +592,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getExtendedStepCtx", + "id": "def-common.JourneyConfig.getExtendedStepCtx", "type": "Function", "tags": [], "label": "getExtendedStepCtx", @@ -602,7 +610,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyConfig.getExtendedStepCtx.$1", + "id": "def-common.JourneyConfig.getExtendedStepCtx.$1", "type": "Object", "tags": [], "label": "ctx", @@ -623,7 +631,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots", + "id": "def-common.JourneyScreenshots", "type": "Class", "tags": [], "label": "JourneyScreenshots", @@ -634,7 +642,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.load", + "id": "def-common.JourneyScreenshots.load", "type": "Function", "tags": [], "label": "load", @@ -643,9 +651,9 @@ "(journeyName: string) => Promise<", { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.JourneyScreenshots", + "section": "def-common.JourneyScreenshots", "text": "JourneyScreenshots" }, ">" @@ -656,7 +664,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.load.$1", + "id": "def-common.JourneyScreenshots.load.$1", "type": "string", "tags": [], "label": "journeyName", @@ -674,7 +682,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.dir", + "id": "def-common.JourneyScreenshots.dir", "type": "string", "tags": [], "label": "#dir", @@ -685,7 +693,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.manifestPath", + "id": "def-common.JourneyScreenshots.manifestPath", "type": "string", "tags": [], "label": "#manifestPath", @@ -696,7 +704,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.manifest", + "id": "def-common.JourneyScreenshots.manifest", "type": "Object", "tags": [], "label": "#manifest", @@ -707,7 +715,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.manifest.steps", + "id": "def-common.JourneyScreenshots.manifest.steps", "type": "Array", "tags": [], "label": "steps", @@ -723,7 +731,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.Unnamed", + "id": "def-common.JourneyScreenshots.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -737,7 +745,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.Unnamed.$1", + "id": "def-common.JourneyScreenshots.Unnamed.$1", "type": "string", "tags": [], "label": "journeyName", @@ -755,7 +763,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.isLocked", + "id": "def-common.JourneyScreenshots.isLocked", "type": "Object", "tags": [], "label": "#isLocked", @@ -770,7 +778,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.lock", + "id": "def-common.JourneyScreenshots.lock", "type": "Function", "tags": [], "label": "lock", @@ -784,7 +792,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.lock.$1", + "id": "def-common.JourneyScreenshots.lock.$1", "type": "Function", "tags": [], "label": "fn", @@ -802,7 +810,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addError", + "id": "def-common.JourneyScreenshots.addError", "type": "Function", "tags": [], "label": "addError", @@ -818,7 +826,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addError.$1", + "id": "def-common.JourneyScreenshots.addError.$1", "type": "Object", "tags": [], "label": "step", @@ -833,7 +841,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addError.$2", + "id": "def-common.JourneyScreenshots.addError.$2", "type": "Object", "tags": [], "label": "screenshot", @@ -848,7 +856,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addError.$3", + "id": "def-common.JourneyScreenshots.addError.$3", "type": "Object", "tags": [], "label": "fullscreenScreenshot", @@ -866,7 +874,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addSuccess", + "id": "def-common.JourneyScreenshots.addSuccess", "type": "Function", "tags": [], "label": "addSuccess", @@ -882,7 +890,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addSuccess.$1", + "id": "def-common.JourneyScreenshots.addSuccess.$1", "type": "Object", "tags": [], "label": "step", @@ -897,7 +905,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addSuccess.$2", + "id": "def-common.JourneyScreenshots.addSuccess.$2", "type": "Object", "tags": [], "label": "screenshot", @@ -912,7 +920,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.addSuccess.$3", + "id": "def-common.JourneyScreenshots.addSuccess.$3", "type": "Object", "tags": [], "label": "fullscreenScreenshot", @@ -930,7 +938,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.JourneyScreenshots.get", + "id": "def-common.JourneyScreenshots.get", "type": "Function", "tags": [], "label": "get", @@ -952,7 +960,7 @@ "interfaces": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.ScalabilitySetup", + "id": "def-common.ScalabilitySetup", "type": "Interface", "tags": [], "label": "ScalabilitySetup", @@ -963,7 +971,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.ScalabilitySetup.maxDuration", + "id": "def-common.ScalabilitySetup.maxDuration", "type": "string", "tags": [], "label": "maxDuration", @@ -976,7 +984,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.ScalabilitySetup.warmup", + "id": "def-common.ScalabilitySetup.warmup", "type": "Array", "tags": [], "label": "warmup", @@ -984,9 +992,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.ScalabilityAction", + "section": "def-common.ScalabilityAction", "text": "ScalabilityAction" }, "[]" @@ -997,7 +1005,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.ScalabilitySetup.test", + "id": "def-common.ScalabilitySetup.test", "type": "Array", "tags": [], "label": "test", @@ -1005,9 +1013,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.ScalabilityAction", + "section": "def-common.ScalabilityAction", "text": "ScalabilityAction" }, "[]" @@ -1021,7 +1029,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Step", + "id": "def-common.Step", "type": "Interface", "tags": [], "label": "Step", @@ -1029,9 +1037,9 @@ "signature": [ { "pluginId": "@kbn/journeys", - "scope": "server", + "scope": "common", "docId": "kibKbnJourneysPluginApi", - "section": "def-server.Step", + "section": "def-common.Step", "text": "Step" }, "" @@ -1042,7 +1050,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Step.name", + "id": "def-common.Step.name", "type": "string", "tags": [], "label": "name", @@ -1053,7 +1061,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Step.index", + "id": "def-common.Step.index", "type": "number", "tags": [], "label": "index", @@ -1064,7 +1072,7 @@ }, { "parentPluginId": "@kbn/journeys", - "id": "def-server.Step.fn", + "id": "def-common.Step.fn", "type": "Function", "tags": [], "label": "fn", @@ -1080,7 +1088,7 @@ "children": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.Step.fn.$1", + "id": "def-common.Step.fn.$1", "type": "CompoundType", "tags": [], "label": "ctx", @@ -1105,7 +1113,7 @@ "misc": [ { "parentPluginId": "@kbn/journeys", - "id": "def-server.ScalabilityAction", + "id": "def-common.ScalabilityAction", "type": "Type", "tags": [], "label": "ScalabilityAction", @@ -1122,13 +1130,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index dee32275dfb68..57fa48fd79086 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 64 | 0 | 59 | 5 | -## Server +## Common ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_kibana_manifest_schema.devdocs.json b/api_docs/kbn_kibana_manifest_schema.devdocs.json index 064db5081ad3a..fb46dedb5099d 100644 --- a/api_docs/kbn_kibana_manifest_schema.devdocs.json +++ b/api_docs/kbn_kibana_manifest_schema.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -17,7 +25,7 @@ "objects": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1", + "id": "def-common.MANIFEST_V1", "type": "Object", "tags": [], "label": "MANIFEST_V1", @@ -28,7 +36,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.type", + "id": "def-common.MANIFEST_V1.type", "type": "string", "tags": [], "label": "type", @@ -39,7 +47,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.required", + "id": "def-common.MANIFEST_V1.required", "type": "Array", "tags": [], "label": "required", @@ -53,7 +61,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties", + "id": "def-common.MANIFEST_V1.properties", "type": "Object", "tags": [], "label": "properties", @@ -64,7 +72,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.id", + "id": "def-common.MANIFEST_V1.properties.id", "type": "Object", "tags": [], "label": "id", @@ -75,7 +83,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.id.description", + "id": "def-common.MANIFEST_V1.properties.id.description", "type": "string", "tags": [], "label": "description", @@ -86,7 +94,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.id.type", + "id": "def-common.MANIFEST_V1.properties.id.type", "type": "string", "tags": [], "label": "type", @@ -97,7 +105,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.id.pattern", + "id": "def-common.MANIFEST_V1.properties.id.pattern", "type": "string", "tags": [], "label": "pattern", @@ -110,7 +118,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.version", + "id": "def-common.MANIFEST_V1.properties.version", "type": "Object", "tags": [], "label": "version", @@ -121,7 +129,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.version.description", + "id": "def-common.MANIFEST_V1.properties.version.description", "type": "string", "tags": [], "label": "description", @@ -132,7 +140,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.version.type", + "id": "def-common.MANIFEST_V1.properties.version.type", "type": "string", "tags": [], "label": "type", @@ -143,7 +151,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.version.pattern", + "id": "def-common.MANIFEST_V1.properties.version.pattern", "type": "string", "tags": [], "label": "pattern", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.kibanaVersion", + "id": "def-common.MANIFEST_V1.properties.kibanaVersion", "type": "Object", "tags": [], "label": "kibanaVersion", @@ -167,7 +175,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.kibanaVersion.description", + "id": "def-common.MANIFEST_V1.properties.kibanaVersion.description", "type": "string", "tags": [], "label": "description", @@ -178,7 +186,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.kibanaVersion.type", + "id": "def-common.MANIFEST_V1.properties.kibanaVersion.type", "type": "string", "tags": [], "label": "type", @@ -189,7 +197,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.kibanaVersion.pattern", + "id": "def-common.MANIFEST_V1.properties.kibanaVersion.pattern", "type": "string", "tags": [], "label": "pattern", @@ -202,7 +210,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.type", + "id": "def-common.MANIFEST_V1.properties.type", "type": "Object", "tags": [], "label": "type", @@ -213,7 +221,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.type.description", + "id": "def-common.MANIFEST_V1.properties.type.description", "type": "string", "tags": [], "label": "description", @@ -224,7 +232,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.type.enum", + "id": "def-common.MANIFEST_V1.properties.type.enum", "type": "Array", "tags": [], "label": "enum", @@ -240,7 +248,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.configPath", + "id": "def-common.MANIFEST_V1.properties.configPath", "type": "Object", "tags": [], "label": "configPath", @@ -251,7 +259,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.configPath.description", + "id": "def-common.MANIFEST_V1.properties.configPath.description", "type": "string", "tags": [], "label": "description", @@ -262,7 +270,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.configPath.oneOf", + "id": "def-common.MANIFEST_V1.properties.configPath.oneOf", "type": "Array", "tags": [], "label": "oneOf", @@ -278,7 +286,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredPlugins", + "id": "def-common.MANIFEST_V1.properties.requiredPlugins", "type": "Object", "tags": [], "label": "requiredPlugins", @@ -289,7 +297,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredPlugins.description", + "id": "def-common.MANIFEST_V1.properties.requiredPlugins.description", "type": "string", "tags": [], "label": "description", @@ -300,7 +308,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredPlugins.type", + "id": "def-common.MANIFEST_V1.properties.requiredPlugins.type", "type": "string", "tags": [], "label": "type", @@ -311,7 +319,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredPlugins.items", + "id": "def-common.MANIFEST_V1.properties.requiredPlugins.items", "type": "Object", "tags": [], "label": "items", @@ -322,7 +330,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredPlugins.items.type", + "id": "def-common.MANIFEST_V1.properties.requiredPlugins.items.type", "type": "string", "tags": [], "label": "type", @@ -337,7 +345,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.optionalPlugins", + "id": "def-common.MANIFEST_V1.properties.optionalPlugins", "type": "Object", "tags": [], "label": "optionalPlugins", @@ -348,7 +356,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.optionalPlugins.description", + "id": "def-common.MANIFEST_V1.properties.optionalPlugins.description", "type": "string", "tags": [], "label": "description", @@ -359,7 +367,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.optionalPlugins.type", + "id": "def-common.MANIFEST_V1.properties.optionalPlugins.type", "type": "string", "tags": [], "label": "type", @@ -370,7 +378,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.optionalPlugins.items", + "id": "def-common.MANIFEST_V1.properties.optionalPlugins.items", "type": "Object", "tags": [], "label": "items", @@ -381,7 +389,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.optionalPlugins.items.type", + "id": "def-common.MANIFEST_V1.properties.optionalPlugins.items.type", "type": "string", "tags": [], "label": "type", @@ -396,7 +404,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredBundles", + "id": "def-common.MANIFEST_V1.properties.requiredBundles", "type": "Object", "tags": [], "label": "requiredBundles", @@ -407,7 +415,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredBundles.description", + "id": "def-common.MANIFEST_V1.properties.requiredBundles.description", "type": "string", "tags": [], "label": "description", @@ -418,7 +426,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredBundles.type", + "id": "def-common.MANIFEST_V1.properties.requiredBundles.type", "type": "string", "tags": [], "label": "type", @@ -429,7 +437,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredBundles.items", + "id": "def-common.MANIFEST_V1.properties.requiredBundles.items", "type": "Object", "tags": [], "label": "items", @@ -440,7 +448,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.requiredBundles.items.type", + "id": "def-common.MANIFEST_V1.properties.requiredBundles.items.type", "type": "string", "tags": [], "label": "type", @@ -455,7 +463,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.ui", + "id": "def-common.MANIFEST_V1.properties.ui", "type": "Object", "tags": [], "label": "ui", @@ -466,7 +474,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.ui.description", + "id": "def-common.MANIFEST_V1.properties.ui.description", "type": "string", "tags": [], "label": "description", @@ -477,7 +485,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.ui.type", + "id": "def-common.MANIFEST_V1.properties.ui.type", "type": "string", "tags": [], "label": "type", @@ -490,7 +498,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.server", + "id": "def-common.MANIFEST_V1.properties.server", "type": "Object", "tags": [], "label": "server", @@ -501,7 +509,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.server.description", + "id": "def-common.MANIFEST_V1.properties.server.description", "type": "string", "tags": [], "label": "description", @@ -512,7 +520,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.server.type", + "id": "def-common.MANIFEST_V1.properties.server.type", "type": "string", "tags": [], "label": "type", @@ -525,7 +533,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.extraPublicDirs", + "id": "def-common.MANIFEST_V1.properties.extraPublicDirs", "type": "Object", "tags": [], "label": "extraPublicDirs", @@ -536,7 +544,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.extraPublicDirs.description", + "id": "def-common.MANIFEST_V1.properties.extraPublicDirs.description", "type": "string", "tags": [], "label": "description", @@ -547,7 +555,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.extraPublicDirs.type", + "id": "def-common.MANIFEST_V1.properties.extraPublicDirs.type", "type": "string", "tags": [], "label": "type", @@ -558,7 +566,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.extraPublicDirs.items", + "id": "def-common.MANIFEST_V1.properties.extraPublicDirs.items", "type": "Object", "tags": [], "label": "items", @@ -569,7 +577,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.extraPublicDirs.items.type", + "id": "def-common.MANIFEST_V1.properties.extraPublicDirs.items.type", "type": "string", "tags": [], "label": "type", @@ -584,7 +592,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.serviceFolders", + "id": "def-common.MANIFEST_V1.properties.serviceFolders", "type": "Object", "tags": [], "label": "serviceFolders", @@ -595,7 +603,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.serviceFolders.description", + "id": "def-common.MANIFEST_V1.properties.serviceFolders.description", "type": "string", "tags": [], "label": "description", @@ -606,7 +614,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.serviceFolders.type", + "id": "def-common.MANIFEST_V1.properties.serviceFolders.type", "type": "string", "tags": [], "label": "type", @@ -617,7 +625,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.serviceFolders.items", + "id": "def-common.MANIFEST_V1.properties.serviceFolders.items", "type": "Object", "tags": [], "label": "items", @@ -628,7 +636,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.serviceFolders.items.type", + "id": "def-common.MANIFEST_V1.properties.serviceFolders.items.type", "type": "string", "tags": [], "label": "type", @@ -643,7 +651,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner", + "id": "def-common.MANIFEST_V1.properties.owner", "type": "Object", "tags": [], "label": "owner", @@ -654,7 +662,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.type", + "id": "def-common.MANIFEST_V1.properties.owner.type", "type": "string", "tags": [], "label": "type", @@ -665,7 +673,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.required", + "id": "def-common.MANIFEST_V1.properties.owner.required", "type": "Array", "tags": [], "label": "required", @@ -679,7 +687,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties", + "id": "def-common.MANIFEST_V1.properties.owner.properties", "type": "Object", "tags": [], "label": "properties", @@ -690,7 +698,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.name", + "id": "def-common.MANIFEST_V1.properties.owner.properties.name", "type": "Object", "tags": [], "label": "name", @@ -701,7 +709,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.name.description", + "id": "def-common.MANIFEST_V1.properties.owner.properties.name.description", "type": "string", "tags": [], "label": "description", @@ -712,7 +720,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.name.type", + "id": "def-common.MANIFEST_V1.properties.owner.properties.name.type", "type": "string", "tags": [], "label": "type", @@ -725,7 +733,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.githubTeam", + "id": "def-common.MANIFEST_V1.properties.owner.properties.githubTeam", "type": "Object", "tags": [], "label": "githubTeam", @@ -736,7 +744,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.githubTeam.description", + "id": "def-common.MANIFEST_V1.properties.owner.properties.githubTeam.description", "type": "string", "tags": [], "label": "description", @@ -747,7 +755,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.owner.properties.githubTeam.type", + "id": "def-common.MANIFEST_V1.properties.owner.properties.githubTeam.type", "type": "string", "tags": [], "label": "type", @@ -764,7 +772,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.description", + "id": "def-common.MANIFEST_V1.properties.description", "type": "Object", "tags": [], "label": "description", @@ -775,7 +783,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.description.description", + "id": "def-common.MANIFEST_V1.properties.description.description", "type": "string", "tags": [], "label": "description", @@ -786,7 +794,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.description.type", + "id": "def-common.MANIFEST_V1.properties.description.type", "type": "string", "tags": [], "label": "type", @@ -799,7 +807,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.enabledOnAnonymousPages", + "id": "def-common.MANIFEST_V1.properties.enabledOnAnonymousPages", "type": "Object", "tags": [], "label": "enabledOnAnonymousPages", @@ -810,7 +818,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.enabledOnAnonymousPages.description", + "id": "def-common.MANIFEST_V1.properties.enabledOnAnonymousPages.description", "type": "string", "tags": [], "label": "description", @@ -821,7 +829,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V1.properties.enabledOnAnonymousPages.type", + "id": "def-common.MANIFEST_V1.properties.enabledOnAnonymousPages.type", "type": "string", "tags": [], "label": "type", @@ -839,7 +847,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2", + "id": "def-common.MANIFEST_V2", "type": "Object", "tags": [], "label": "MANIFEST_V2", @@ -850,7 +858,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.type", + "id": "def-common.MANIFEST_V2.type", "type": "string", "tags": [], "label": "type", @@ -861,7 +869,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.required", + "id": "def-common.MANIFEST_V2.required", "type": "Array", "tags": [], "label": "required", @@ -875,7 +883,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.allowTrailingCommas", + "id": "def-common.MANIFEST_V2.allowTrailingCommas", "type": "boolean", "tags": [], "label": "allowTrailingCommas", @@ -888,7 +896,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties", + "id": "def-common.MANIFEST_V2.properties", "type": "Object", "tags": [], "label": "properties", @@ -899,7 +907,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.id", + "id": "def-common.MANIFEST_V2.properties.id", "type": "Object", "tags": [], "label": "id", @@ -910,7 +918,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.id.type", + "id": "def-common.MANIFEST_V2.properties.id.type", "type": "string", "tags": [], "label": "type", @@ -921,7 +929,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.id.pattern", + "id": "def-common.MANIFEST_V2.properties.id.pattern", "type": "string", "tags": [], "label": "pattern", @@ -932,7 +940,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.id.description", + "id": "def-common.MANIFEST_V2.properties.id.description", "type": "string", "tags": [], "label": "description", @@ -945,7 +953,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.owner", + "id": "def-common.MANIFEST_V2.properties.owner", "type": "Object", "tags": [], "label": "owner", @@ -956,7 +964,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.owner.oneOf", + "id": "def-common.MANIFEST_V2.properties.owner.oneOf", "type": "Array", "tags": [], "label": "oneOf", @@ -970,101 +978,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.owner.description", - "type": "string", - "tags": [], - "label": "description", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.typeDeps", - "type": "Object", - "tags": [], - "label": "typeDeps", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.typeDeps.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.typeDeps.description", - "type": "string", - "tags": [], - "label": "description", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.typeDeps.items", - "type": "Object", - "tags": [], - "label": "items", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.typeDeps.items.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.runtimeDeps", - "type": "Object", - "tags": [], - "label": "runtimeDeps", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.runtimeDeps.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.runtimeDeps.description", + "id": "def-common.MANIFEST_V2.properties.owner.description", "type": "string", "tags": [], "label": "description", @@ -1072,36 +986,12 @@ "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.runtimeDeps.items", - "type": "Object", - "tags": [], - "label": "items", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.runtimeDeps.items.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - } - ] } ] }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.devOnly", + "id": "def-common.MANIFEST_V2.properties.devOnly", "type": "Object", "tags": [], "label": "devOnly", @@ -1112,7 +1002,7 @@ "children": [ { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.devOnly.type", + "id": "def-common.MANIFEST_V2.properties.devOnly.type", "type": "string", "tags": [], "label": "type", @@ -1123,7 +1013,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.devOnly.description", + "id": "def-common.MANIFEST_V2.properties.devOnly.description", "type": "string", "tags": [], "label": "description", @@ -1134,7 +1024,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.properties.devOnly.default", + "id": "def-common.MANIFEST_V2.properties.devOnly.default", "type": "boolean", "tags": [], "label": "default", @@ -1149,7 +1039,7 @@ }, { "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-server.MANIFEST_V2.oneOf", + "id": "def-common.MANIFEST_V2.oneOf", "type": "Array", "tags": [], "label": "oneOf", @@ -1165,13 +1055,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 8fe50d5856f80..d79b1dff4d2bd 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; @@ -21,10 +21,10 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 96 | 0 | 95 | 0 | +| 86 | 0 | 85 | 0 | -## Server +## Common ### Objects - + diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index e87e804d76545..bf74f23cc2842 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_logging.devdocs.json b/api_docs/kbn_logging.devdocs.json index 82e13202130ec..be9bd1e3e2960 100644 --- a/api_docs/kbn_logging.devdocs.json +++ b/api_docs/kbn_logging.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger", + "id": "def-common.Logger", "type": "Interface", "tags": [], "label": "Logger", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.trace", + "id": "def-common.Logger.trace", "type": "Function", "tags": [], "label": "trace", @@ -38,17 +46,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -59,7 +67,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.trace.$1", + "id": "def-common.Logger.trace.$1", "type": "string", "tags": [], "label": "message", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.trace.$2", + "id": "def-common.Logger.trace.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -96,7 +104,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.debug", + "id": "def-common.Logger.debug", "type": "Function", "tags": [], "label": "debug", @@ -107,17 +115,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -128,7 +136,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.debug.$1", + "id": "def-common.Logger.debug.$1", "type": "string", "tags": [], "label": "message", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.debug.$2", + "id": "def-common.Logger.debug.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -165,7 +173,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.info", + "id": "def-common.Logger.info", "type": "Function", "tags": [], "label": "info", @@ -176,17 +184,17 @@ "(message: string, meta?: Meta | undefined) => void" @@ -197,7 +205,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.info.$1", + "id": "def-common.Logger.info.$1", "type": "string", "tags": [], "label": "message", @@ -214,7 +222,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.info.$2", + "id": "def-common.Logger.info.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -234,7 +242,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.warn", + "id": "def-common.Logger.warn", "type": "Function", "tags": [], "label": "warn", @@ -245,17 +253,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -266,7 +274,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.warn.$1", + "id": "def-common.Logger.warn.$1", "type": "CompoundType", "tags": [], "label": "errorOrMessage", @@ -283,7 +291,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.warn.$2", + "id": "def-common.Logger.warn.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.error", + "id": "def-common.Logger.error", "type": "Function", "tags": [], "label": "error", @@ -314,17 +322,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -335,7 +343,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.error.$1", + "id": "def-common.Logger.error.$1", "type": "CompoundType", "tags": [], "label": "errorOrMessage", @@ -352,7 +360,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.error.$2", + "id": "def-common.Logger.error.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -372,7 +380,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.fatal", + "id": "def-common.Logger.fatal", "type": "Function", "tags": [], "label": "fatal", @@ -383,17 +391,17 @@ "(errorOrMessage: string | Error, meta?: Meta | undefined) => void" @@ -404,7 +412,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.fatal.$1", + "id": "def-common.Logger.fatal.$1", "type": "CompoundType", "tags": [], "label": "errorOrMessage", @@ -421,7 +429,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.fatal.$2", + "id": "def-common.Logger.fatal.$2", "type": "Uncategorized", "tags": [], "label": "meta", @@ -441,7 +449,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.isLevelEnabled", + "id": "def-common.Logger.isLevelEnabled", "type": "Function", "tags": [], "label": "isLevelEnabled", @@ -459,7 +467,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.isLevelEnabled.$1", + "id": "def-common.Logger.isLevelEnabled.$1", "type": "CompoundType", "tags": [], "label": "level", @@ -479,7 +487,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.get", + "id": "def-common.Logger.get", "type": "Function", "tags": [], "label": "get", @@ -490,9 +498,9 @@ "(...childContextPaths: string[]) => ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -502,7 +510,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.Logger.get.$1", + "id": "def-common.Logger.get.$1", "type": "Array", "tags": [], "label": "childContextPaths", @@ -523,7 +531,7 @@ }, { "parentPluginId": "@kbn/logging", - "id": "def-server.LoggerFactory", + "id": "def-common.LoggerFactory", "type": "Interface", "tags": [], "label": "LoggerFactory", @@ -536,7 +544,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.LoggerFactory.get", + "id": "def-common.LoggerFactory.get", "type": "Function", "tags": [], "label": "get", @@ -547,9 +555,9 @@ "(...contextParts: string[]) => ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -559,7 +567,7 @@ "children": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.LoggerFactory.get.$1", + "id": "def-common.LoggerFactory.get.$1", "type": "Array", "tags": [], "label": "contextParts", @@ -585,7 +593,7 @@ "misc": [ { "parentPluginId": "@kbn/logging", - "id": "def-server.LogMeta", + "id": "def-common.LogMeta", "type": "Type", "tags": [], "label": "LogMeta", @@ -668,13 +676,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 686e4a16791f5..035f853f2e23b 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 27 | 0 | 1 | 2 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_logging_mocks.devdocs.json b/api_docs/kbn_logging_mocks.devdocs.json index c479b9353e59a..617062bcc5f08 100644 --- a/api_docs/kbn_logging_mocks.devdocs.json +++ b/api_docs/kbn_logging_mocks.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.MockedLogger", + "id": "def-common.MockedLogger", "type": "Type", "tags": [], "label": "MockedLogger", @@ -25,49 +33,49 @@ "{ trace: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; get: jest.MockInstance<", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", string[]>; } & ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " & { context: string[]; }" @@ -101,7 +109,7 @@ "objects": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock", + "id": "def-common.loggerMock", "type": "Object", "tags": [], "label": "loggerMock", @@ -112,7 +120,7 @@ "children": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.create", + "id": "def-common.loggerMock.create", "type": "Function", "tags": [], "label": "create", @@ -121,9 +129,9 @@ "(context?: string[]) => ", { "pluginId": "@kbn/logging-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingMocksPluginApi", - "section": "def-server.MockedLogger", + "section": "def-common.MockedLogger", "text": "MockedLogger" } ], @@ -134,7 +142,7 @@ "children": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.create.$1", + "id": "def-common.loggerMock.create.$1", "type": "Array", "tags": [], "label": "context", @@ -150,7 +158,7 @@ }, { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.clear", + "id": "def-common.loggerMock.clear", "type": "Function", "tags": [], "label": "clear", @@ -159,9 +167,9 @@ "(logger: ", { "pluginId": "@kbn/logging-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingMocksPluginApi", - "section": "def-server.MockedLogger", + "section": "def-common.MockedLogger", "text": "MockedLogger" }, ") => void" @@ -173,7 +181,7 @@ "children": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.clear.$1", + "id": "def-common.loggerMock.clear.$1", "type": "CompoundType", "tags": [], "label": "logger", @@ -182,49 +190,49 @@ "{ trace: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; get: jest.MockInstance<", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", string[]>; } & ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " & { context: string[]; }" @@ -257,7 +265,7 @@ }, { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.collect", + "id": "def-common.loggerMock.collect", "type": "Function", "tags": [], "label": "collect", @@ -266,41 +274,41 @@ "(logger: ", { "pluginId": "@kbn/logging-mocks", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingMocksPluginApi", - "section": "def-server.MockedLogger", + "section": "def-common.MockedLogger", "text": "MockedLogger" }, ") => { debug: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; error: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; fatal: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; info: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; log: [record: ", @@ -308,17 +316,17 @@ "][]; trace: [message: string, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; warn: [errorOrMessage: string | Error, meta?: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" }, " | undefined][]; }" @@ -330,7 +338,7 @@ "children": [ { "parentPluginId": "@kbn/logging-mocks", - "id": "def-server.loggerMock.collect.$1", + "id": "def-common.loggerMock.collect.$1", "type": "CompoundType", "tags": [], "label": "logger", @@ -339,49 +347,49 @@ "{ trace: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; get: jest.MockInstance<", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", string[]>; } & ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " & { context: string[]; }" @@ -416,13 +424,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 3708438ce421b..c13871a3a40f5 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; @@ -23,11 +23,11 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 8 | 0 | 8 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_managed_vscode_config.devdocs.json b/api_docs/kbn_managed_vscode_config.devdocs.json index ad084931876e0..8dd45d5f396cd 100644 --- a/api_docs/kbn_managed_vscode_config.devdocs.json +++ b/api_docs/kbn_managed_vscode_config.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.updateVscodeConfig", + "id": "def-common.updateVscodeConfig", "type": "Function", "tags": [], "label": "updateVscodeConfig", @@ -31,7 +39,7 @@ "children": [ { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.updateVscodeConfig.$1", + "id": "def-common.updateVscodeConfig.$1", "type": "Array", "tags": [], "label": "keys", @@ -49,7 +57,7 @@ }, { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.updateVscodeConfig.$2", + "id": "def-common.updateVscodeConfig.$2", "type": "string", "tags": [], "label": "infoText", @@ -66,7 +74,7 @@ }, { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.updateVscodeConfig.$3", + "id": "def-common.updateVscodeConfig.$3", "type": "string", "tags": [], "label": "json", @@ -91,7 +99,7 @@ "misc": [ { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.MANAGED_CONFIG_FILES", + "id": "def-common.MANAGED_CONFIG_FILES", "type": "Array", "tags": [], "label": "MANAGED_CONFIG_FILES", @@ -106,7 +114,7 @@ }, { "parentPluginId": "@kbn/managed-vscode-config", - "id": "def-server.MANAGED_CONFIG_KEYS", + "id": "def-common.MANAGED_CONFIG_KEYS", "type": "Array", "tags": [], "label": "MANAGED_CONFIG_KEYS", @@ -124,13 +132,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 845c4c33af9fd..624775f5ccb5e 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 1 | 1 | -## Server +## Common ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index bd54da79b70f6..0b96577b6a352 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.devdocs.json b/api_docs/kbn_ml_agg_utils.devdocs.json index 98945a37a3b4b..a542c514130ba 100644 --- a/api_docs/kbn_ml_agg_utils.devdocs.json +++ b/api_docs/kbn_ml_agg_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.buildSamplerAggregation", + "id": "def-common.buildSamplerAggregation", "type": "Function", "tags": [], "label": "buildSamplerAggregation", @@ -31,7 +39,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.buildSamplerAggregation.$1", + "id": "def-common.buildSamplerAggregation.$1", "type": "Any", "tags": [], "label": "aggs", @@ -46,7 +54,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.buildSamplerAggregation.$2", + "id": "def-common.buildSamplerAggregation.$2", "type": "number", "tags": [], "label": "samplerShardSize", @@ -65,7 +73,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals", + "id": "def-common.fetchAggIntervals", "type": "Function", "tags": [], "label": "fetchAggIntervals", @@ -76,9 +84,9 @@ "(client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", indexPattern: string, query: ", @@ -86,9 +94,9 @@ ", fields: ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.HistogramField", + "section": "def-common.HistogramField", "text": "HistogramField" }, "[], samplerShardSize: number, runtimeMappings?: ", @@ -96,9 +104,9 @@ " | undefined, abortSignal?: AbortSignal | undefined, randomSamplerProbability?: number | undefined) => Promise<", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumericColumnStatsMap", + "section": "def-common.NumericColumnStatsMap", "text": "NumericColumnStatsMap" }, ">" @@ -109,7 +117,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$1", + "id": "def-common.fetchAggIntervals.$1", "type": "Object", "tags": [], "label": "client", @@ -117,9 +125,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -130,7 +138,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$2", + "id": "def-common.fetchAggIntervals.$2", "type": "string", "tags": [], "label": "indexPattern", @@ -145,7 +153,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$3", + "id": "def-common.fetchAggIntervals.$3", "type": "Object", "tags": [], "label": "query", @@ -160,7 +168,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$4", + "id": "def-common.fetchAggIntervals.$4", "type": "Array", "tags": [], "label": "fields", @@ -168,9 +176,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.HistogramField", + "section": "def-common.HistogramField", "text": "HistogramField" }, "[]" @@ -182,7 +190,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$5", + "id": "def-common.fetchAggIntervals.$5", "type": "number", "tags": [], "label": "samplerShardSize", @@ -197,7 +205,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$6", + "id": "def-common.fetchAggIntervals.$6", "type": "Object", "tags": [], "label": "runtimeMappings", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$7", + "id": "def-common.fetchAggIntervals.$7", "type": "Object", "tags": [], "label": "abortSignal", @@ -228,7 +236,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchAggIntervals.$8", + "id": "def-common.fetchAggIntervals.$8", "type": "number", "tags": [], "label": "randomSamplerProbability", @@ -247,7 +255,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields", + "id": "def-common.fetchHistogramsForFields", "type": "Function", "tags": [], "label": "fetchHistogramsForFields", @@ -258,17 +266,17 @@ "(client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", indexPattern: string, query: any, fields: ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.FieldsForHistograms", + "section": "def-common.FieldsForHistograms", "text": "FieldsForHistograms" }, ", samplerShardSize: number, runtimeMappings?: ", @@ -276,9 +284,9 @@ " | undefined, abortSignal?: AbortSignal | undefined, randomSamplerProbability?: number | undefined) => Promise<(", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumericChartData", + "section": "def-common.NumericChartData", "text": "NumericChartData" }, " | OrdinalChartData | UnsupportedChartData)[]>" @@ -289,7 +297,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$1", + "id": "def-common.fetchHistogramsForFields.$1", "type": "Object", "tags": [], "label": "client", @@ -299,9 +307,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], @@ -312,7 +320,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$2", + "id": "def-common.fetchHistogramsForFields.$2", "type": "string", "tags": [], "label": "indexPattern", @@ -329,7 +337,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$3", + "id": "def-common.fetchHistogramsForFields.$3", "type": "Any", "tags": [], "label": "query", @@ -346,7 +354,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$4", + "id": "def-common.fetchHistogramsForFields.$4", "type": "Array", "tags": [], "label": "fields", @@ -356,9 +364,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.FieldsForHistograms", + "section": "def-common.FieldsForHistograms", "text": "FieldsForHistograms" } ], @@ -369,7 +377,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$5", + "id": "def-common.fetchHistogramsForFields.$5", "type": "number", "tags": [], "label": "samplerShardSize", @@ -386,7 +394,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$6", + "id": "def-common.fetchHistogramsForFields.$6", "type": "Object", "tags": [], "label": "runtimeMappings", @@ -404,7 +412,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$7", + "id": "def-common.fetchHistogramsForFields.$7", "type": "Object", "tags": [], "label": "abortSignal", @@ -419,7 +427,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.fetchHistogramsForFields.$8", + "id": "def-common.fetchHistogramsForFields.$8", "type": "number", "tags": [], "label": "randomSamplerProbability", @@ -442,7 +450,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.getSampleProbability", + "id": "def-common.getSampleProbability", "type": "Function", "tags": [], "label": "getSampleProbability", @@ -456,7 +464,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.getSampleProbability.$1", + "id": "def-common.getSampleProbability.$1", "type": "number", "tags": [], "label": "totalDocCount", @@ -475,7 +483,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.getSamplerAggregationsResponsePath", + "id": "def-common.getSamplerAggregationsResponsePath", "type": "Function", "tags": [], "label": "getSamplerAggregationsResponsePath", @@ -489,7 +497,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.getSamplerAggregationsResponsePath.$1", + "id": "def-common.getSamplerAggregationsResponsePath.$1", "type": "number", "tags": [], "label": "samplerShardSize", @@ -508,7 +516,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.numberValidator", + "id": "def-common.numberValidator", "type": "Function", "tags": [], "label": "numberValidator", @@ -519,9 +527,9 @@ "(conditions: { min?: number | undefined; max?: number | undefined; integerOnly?: boolean | undefined; } | undefined) => (value: number) => ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumberValidationResult", + "section": "def-common.NumberValidationResult", "text": "NumberValidationResult" }, " | null" @@ -532,7 +540,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.numberValidator.$1", + "id": "def-common.numberValidator.$1", "type": "Object", "tags": [], "label": "conditions", @@ -543,7 +551,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.numberValidator.$1.min", + "id": "def-common.numberValidator.$1.min", "type": "number", "tags": [], "label": "min", @@ -557,7 +565,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.numberValidator.$1.max", + "id": "def-common.numberValidator.$1.max", "type": "number", "tags": [], "label": "max", @@ -571,7 +579,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.numberValidator.$1.integerOnly", + "id": "def-common.numberValidator.$1.integerOnly", "type": "CompoundType", "tags": [], "label": "integerOnly", @@ -593,7 +601,7 @@ "interfaces": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.AggCardinality", + "id": "def-common.AggCardinality", "type": "Interface", "tags": [], "label": "AggCardinality", @@ -606,7 +614,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.AggCardinality.cardinality", + "id": "def-common.AggCardinality.cardinality", "type": "CompoundType", "tags": [], "label": "cardinality", @@ -623,7 +631,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint", + "id": "def-common.ChangePoint", "type": "Interface", "tags": [], "label": "ChangePoint", @@ -633,17 +641,17 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePoint", + "section": "def-common.ChangePoint", "text": "ChangePoint" }, " extends ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.FieldValuePair", + "section": "def-common.FieldValuePair", "text": "FieldValuePair" } ], @@ -653,7 +661,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.doc_count", + "id": "def-common.ChangePoint.doc_count", "type": "number", "tags": [], "label": "doc_count", @@ -664,7 +672,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.bg_count", + "id": "def-common.ChangePoint.bg_count", "type": "number", "tags": [], "label": "bg_count", @@ -675,7 +683,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.total_doc_count", + "id": "def-common.ChangePoint.total_doc_count", "type": "number", "tags": [], "label": "total_doc_count", @@ -686,7 +694,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.total_bg_count", + "id": "def-common.ChangePoint.total_bg_count", "type": "number", "tags": [], "label": "total_bg_count", @@ -697,7 +705,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.score", + "id": "def-common.ChangePoint.score", "type": "number", "tags": [], "label": "score", @@ -708,7 +716,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.pValue", + "id": "def-common.ChangePoint.pValue", "type": "CompoundType", "tags": [], "label": "pValue", @@ -722,7 +730,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.normalizedScore", + "id": "def-common.ChangePoint.normalizedScore", "type": "number", "tags": [], "label": "normalizedScore", @@ -733,7 +741,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePoint.histogram", + "id": "def-common.ChangePoint.histogram", "type": "Array", "tags": [], "label": "histogram", @@ -741,9 +749,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePointHistogramItem", + "section": "def-common.ChangePointHistogramItem", "text": "ChangePointHistogramItem" }, "[] | undefined" @@ -757,7 +765,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup", + "id": "def-common.ChangePointGroup", "type": "Interface", "tags": [], "label": "ChangePointGroup", @@ -770,7 +778,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup.id", + "id": "def-common.ChangePointGroup.id", "type": "string", "tags": [], "label": "id", @@ -781,7 +789,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup.group", + "id": "def-common.ChangePointGroup.group", "type": "Array", "tags": [], "label": "group", @@ -795,7 +803,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup.docCount", + "id": "def-common.ChangePointGroup.docCount", "type": "number", "tags": [], "label": "docCount", @@ -806,7 +814,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup.pValue", + "id": "def-common.ChangePointGroup.pValue", "type": "CompoundType", "tags": [], "label": "pValue", @@ -820,7 +828,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroup.histogram", + "id": "def-common.ChangePointGroup.histogram", "type": "Array", "tags": [], "label": "histogram", @@ -828,9 +836,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePointHistogramItem", + "section": "def-common.ChangePointHistogramItem", "text": "ChangePointHistogramItem" }, "[] | undefined" @@ -844,7 +852,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroupHistogram", + "id": "def-common.ChangePointGroupHistogram", "type": "Interface", "tags": [], "label": "ChangePointGroupHistogram", @@ -857,7 +865,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroupHistogram.id", + "id": "def-common.ChangePointGroupHistogram.id", "type": "string", "tags": [], "label": "id", @@ -868,7 +876,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointGroupHistogram.histogram", + "id": "def-common.ChangePointGroupHistogram.histogram", "type": "Array", "tags": [], "label": "histogram", @@ -876,9 +884,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePointHistogramItem", + "section": "def-common.ChangePointHistogramItem", "text": "ChangePointHistogramItem" }, "[]" @@ -892,7 +900,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogram", + "id": "def-common.ChangePointHistogram", "type": "Interface", "tags": [], "label": "ChangePointHistogram", @@ -902,17 +910,17 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePointHistogram", + "section": "def-common.ChangePointHistogram", "text": "ChangePointHistogram" }, " extends ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.FieldValuePair", + "section": "def-common.FieldValuePair", "text": "FieldValuePair" } ], @@ -922,7 +930,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogram.histogram", + "id": "def-common.ChangePointHistogram.histogram", "type": "Array", "tags": [], "label": "histogram", @@ -930,9 +938,9 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.ChangePointHistogramItem", + "section": "def-common.ChangePointHistogramItem", "text": "ChangePointHistogramItem" }, "[]" @@ -946,7 +954,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogramItem", + "id": "def-common.ChangePointHistogramItem", "type": "Interface", "tags": [], "label": "ChangePointHistogramItem", @@ -959,7 +967,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogramItem.doc_count_overall", + "id": "def-common.ChangePointHistogramItem.doc_count_overall", "type": "number", "tags": [], "label": "doc_count_overall", @@ -970,7 +978,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogramItem.doc_count_change_point", + "id": "def-common.ChangePointHistogramItem.doc_count_change_point", "type": "number", "tags": [], "label": "doc_count_change_point", @@ -981,7 +989,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogramItem.key", + "id": "def-common.ChangePointHistogramItem.key", "type": "number", "tags": [], "label": "key", @@ -992,7 +1000,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.ChangePointHistogramItem.key_as_string", + "id": "def-common.ChangePointHistogramItem.key_as_string", "type": "string", "tags": [], "label": "key_as_string", @@ -1006,7 +1014,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.FieldValuePair", + "id": "def-common.FieldValuePair", "type": "Interface", "tags": [], "label": "FieldValuePair", @@ -1019,7 +1027,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.FieldValuePair.fieldName", + "id": "def-common.FieldValuePair.fieldName", "type": "string", "tags": [], "label": "fieldName", @@ -1030,7 +1038,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.FieldValuePair.fieldValue", + "id": "def-common.FieldValuePair.fieldValue", "type": "CompoundType", "tags": [], "label": "fieldValue", @@ -1047,7 +1055,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.HistogramField", + "id": "def-common.HistogramField", "type": "Interface", "tags": [], "label": "HistogramField", @@ -1060,7 +1068,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.HistogramField.fieldName", + "id": "def-common.HistogramField.fieldName", "type": "string", "tags": [], "label": "fieldName", @@ -1071,7 +1079,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.HistogramField.type", + "id": "def-common.HistogramField.type", "type": "Enum", "tags": [], "label": "type", @@ -1094,7 +1102,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumberValidationResult", + "id": "def-common.NumberValidationResult", "type": "Interface", "tags": [], "label": "NumberValidationResult", @@ -1105,7 +1113,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumberValidationResult.min", + "id": "def-common.NumberValidationResult.min", "type": "boolean", "tags": [], "label": "min", @@ -1116,7 +1124,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumberValidationResult.max", + "id": "def-common.NumberValidationResult.max", "type": "boolean", "tags": [], "label": "max", @@ -1127,7 +1135,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumberValidationResult.integerOnly", + "id": "def-common.NumberValidationResult.integerOnly", "type": "boolean", "tags": [], "label": "integerOnly", @@ -1141,7 +1149,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData", + "id": "def-common.NumericChartData", "type": "Interface", "tags": [], "label": "NumericChartData", @@ -1154,7 +1162,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData.data", + "id": "def-common.NumericChartData.data", "type": "Array", "tags": [], "label": "data", @@ -1168,7 +1176,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData.id", + "id": "def-common.NumericChartData.id", "type": "string", "tags": [], "label": "id", @@ -1179,7 +1187,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData.interval", + "id": "def-common.NumericChartData.interval", "type": "number", "tags": [], "label": "interval", @@ -1190,7 +1198,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData.stats", + "id": "def-common.NumericChartData.stats", "type": "Object", "tags": [], "label": "stats", @@ -1204,7 +1212,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericChartData.type", + "id": "def-common.NumericChartData.type", "type": "string", "tags": [], "label": "type", @@ -1221,7 +1229,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericColumnStats", + "id": "def-common.NumericColumnStats", "type": "Interface", "tags": [], "label": "NumericColumnStats", @@ -1234,7 +1242,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericColumnStats.interval", + "id": "def-common.NumericColumnStats.interval", "type": "number", "tags": [], "label": "interval", @@ -1245,7 +1253,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericColumnStats.min", + "id": "def-common.NumericColumnStats.min", "type": "number", "tags": [], "label": "min", @@ -1256,7 +1264,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericColumnStats.max", + "id": "def-common.NumericColumnStats.max", "type": "number", "tags": [], "label": "max", @@ -1270,7 +1278,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericHistogramField", + "id": "def-common.NumericHistogramField", "type": "Interface", "tags": [], "label": "NumericHistogramField", @@ -1280,17 +1288,17 @@ "signature": [ { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumericHistogramField", + "section": "def-common.NumericHistogramField", "text": "NumericHistogramField" }, " extends ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.HistogramField", + "section": "def-common.HistogramField", "text": "HistogramField" } ], @@ -1300,7 +1308,7 @@ "children": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericHistogramField.type", + "id": "def-common.NumericHistogramField.type", "type": "CompoundType", "tags": [], "label": "type", @@ -1335,7 +1343,7 @@ "misc": [ { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.FieldsForHistograms", + "id": "def-common.FieldsForHistograms", "type": "Type", "tags": [], "label": "FieldsForHistograms", @@ -1346,9 +1354,9 @@ "(", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumericHistogramField", + "section": "def-common.NumericHistogramField", "text": "NumericHistogramField" }, " | NumericHistogramFieldWithColumnStats | OrdinalHistogramField | UnsupportedHistogramField)[]" @@ -1360,7 +1368,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.NumericColumnStatsMap", + "id": "def-common.NumericColumnStatsMap", "type": "Type", "tags": [], "label": "NumericColumnStatsMap", @@ -1371,9 +1379,9 @@ "{ [x: string]: ", { "pluginId": "@kbn/ml-agg-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnMlAggUtilsPluginApi", - "section": "def-server.NumericColumnStats", + "section": "def-common.NumericColumnStats", "text": "NumericColumnStats" }, "; }" @@ -1385,7 +1393,7 @@ }, { "parentPluginId": "@kbn/ml-agg-utils", - "id": "def-server.RANDOM_SAMPLER_SEED", + "id": "def-common.RANDOM_SAMPLER_SEED", "type": "number", "tags": [], "label": "RANDOM_SAMPLER_SEED", @@ -1400,13 +1408,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 224eb01b8d25b..72bf2ec1eb362 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; @@ -23,14 +23,14 @@ Contact Machine Learning UI for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 82 | 2 | 58 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_ml_is_defined.devdocs.json b/api_docs/kbn_ml_is_defined.devdocs.json new file mode 100644 index 0000000000000..29ddeefb700e4 --- /dev/null +++ b/api_docs/kbn_ml_is_defined.devdocs.json @@ -0,0 +1,65 @@ +{ + "id": "@kbn/ml-is-defined", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-is-defined", + "id": "def-common.isDefined", + "type": "Function", + "tags": [], + "label": "isDefined", + "description": [ + "\nChecks whether the supplied argument is not `undefined` and not `null`.\n" + ], + "signature": [ + "(argument: T | null | undefined) => boolean" + ], + "path": "x-pack/packages/ml/is_defined/src/is_defined.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-is-defined", + "id": "def-common.isDefined.$1", + "type": "CompoundType", + "tags": [], + "label": "argument", + "description": [], + "signature": [ + "T | null | undefined" + ], + "path": "x-pack/packages/ml/is_defined/src/is_defined.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "boolean" + ], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx new file mode 100644 index 0000000000000..e339a4012610f --- /dev/null +++ b/api_docs/kbn_ml_is_defined.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlIsDefinedPluginApi +slug: /kibana-dev-docs/api/kbn-ml-is-defined +title: "@kbn/ml-is-defined" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ml-is-defined plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] +--- +import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 2 | 0 | 1 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_ml_is_populated_object.devdocs.json b/api_docs/kbn_ml_is_populated_object.devdocs.json index 6eabb3128c34d..8e83a7b773f6a 100644 --- a/api_docs/kbn_ml_is_populated_object.devdocs.json +++ b/api_docs/kbn_ml_is_populated_object.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/ml-is-populated-object", - "id": "def-server.isPopulatedObject", + "id": "def-common.isPopulatedObject", "type": "Function", "tags": [], "label": "isPopulatedObject", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/ml-is-populated-object", - "id": "def-server.isPopulatedObject.$1", + "id": "def-common.isPopulatedObject.$1", "type": "Unknown", "tags": [], "label": "arg", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/ml-is-populated-object", - "id": "def-server.isPopulatedObject.$2", + "id": "def-common.isPopulatedObject.$2", "type": "Array", "tags": [], "label": "requiredAttributes", @@ -66,13 +74,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index ba85f7cbf42d5..afa6abb0587ff 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; @@ -23,8 +23,8 @@ Contact Machine Learning UI for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 2 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_ml_local_storage.devdocs.json b/api_docs/kbn_ml_local_storage.devdocs.json new file mode 100644 index 0000000000000..6b0abed5166d2 --- /dev/null +++ b/api_docs/kbn_ml_local_storage.devdocs.json @@ -0,0 +1,113 @@ +{ + "id": "@kbn/ml-local-storage", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-local-storage", + "id": "def-common.StorageContextProvider", + "type": "Function", + "tags": [], + "label": "StorageContextProvider", + "description": [ + "\nProvider to manage context for the `useStorage` hook." + ], + "signature": [ + "({\n children,\n storage,\n storageKeys,\n}: React.PropsWithChildren>) => JSX.Element" + ], + "path": "x-pack/packages/ml/local_storage/src/storage_context.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-local-storage", + "id": "def-common.StorageContextProvider.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n children,\n storage,\n storageKeys,\n}", + "description": [], + "signature": [ + "React.PropsWithChildren>" + ], + "path": "x-pack/packages/ml/local_storage/src/storage_context.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-local-storage", + "id": "def-common.useStorage", + "type": "Function", + "tags": [], + "label": "useStorage", + "description": [ + "\nHook for consuming a storage value" + ], + "signature": [ + "(key: K, initValue: T | undefined) => [T | undefined extends undefined ? T | undefined : Exclude, (value: T) => void]" + ], + "path": "x-pack/packages/ml/local_storage/src/storage_context.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-local-storage", + "id": "def-common.useStorage.$1", + "type": "Uncategorized", + "tags": [], + "label": "key", + "description": [], + "signature": [ + "K" + ], + "path": "x-pack/packages/ml/local_storage/src/storage_context.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-local-storage", + "id": "def-common.useStorage.$2", + "type": "Uncategorized", + "tags": [], + "label": "initValue", + "description": [], + "signature": [ + "T | undefined" + ], + "path": "x-pack/packages/ml/local_storage/src/storage_context.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx new file mode 100644 index 0000000000000..663370f26dcbe --- /dev/null +++ b/api_docs/kbn_ml_local_storage.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlLocalStoragePluginApi +slug: /kibana-dev-docs/api/kbn-ml-local-storage +title: "@kbn/ml-local-storage" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ml-local-storage plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] +--- +import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; + +Utilities to combine url state management with local storage. + +Contact Machine Learning UI for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 5 | 0 | 3 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_ml_nested_property.devdocs.json b/api_docs/kbn_ml_nested_property.devdocs.json new file mode 100644 index 0000000000000..6f5619f05d97d --- /dev/null +++ b/api_docs/kbn_ml_nested_property.devdocs.json @@ -0,0 +1,154 @@ +{ + "id": "@kbn/ml-nested-property", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.getNestedProperty", + "type": "Function", + "tags": [], + "label": "getNestedProperty", + "description": [], + "signature": [ + "(obj: Record, accessor: string, defaultValue: any) => any" + ], + "path": "x-pack/packages/ml/nested_property/src/get_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.getNestedProperty.$1", + "type": "Object", + "tags": [], + "label": "obj", + "description": [], + "signature": [ + "Record" + ], + "path": "x-pack/packages/ml/nested_property/src/get_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.getNestedProperty.$2", + "type": "string", + "tags": [], + "label": "accessor", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/nested_property/src/get_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.getNestedProperty.$3", + "type": "Any", + "tags": [], + "label": "defaultValue", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/nested_property/src/get_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.setNestedProperty", + "type": "Function", + "tags": [], + "label": "setNestedProperty", + "description": [], + "signature": [ + "(obj: Record, accessor: string, value: any) => Record" + ], + "path": "x-pack/packages/ml/nested_property/src/set_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.setNestedProperty.$1", + "type": "Object", + "tags": [], + "label": "obj", + "description": [], + "signature": [ + "Record" + ], + "path": "x-pack/packages/ml/nested_property/src/set_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.setNestedProperty.$2", + "type": "string", + "tags": [], + "label": "accessor", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/nested_property/src/set_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-nested-property", + "id": "def-common.setNestedProperty.$3", + "type": "Any", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/nested_property/src/set_nested_property.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx new file mode 100644 index 0000000000000..b13b6c2522dbf --- /dev/null +++ b/api_docs/kbn_ml_nested_property.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlNestedPropertyPluginApi +slug: /kibana-dev-docs/api/kbn-ml-nested-property +title: "@kbn/ml-nested-property" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ml-nested-property plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] +--- +import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; + +TypeScript-aware utility functions to get/set attributes from objects. + +Contact Machine Learning UI for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 8 | 2 | 8 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_ml_string_hash.devdocs.json b/api_docs/kbn_ml_string_hash.devdocs.json index 9adcde699f249..b4feed9dd180b 100644 --- a/api_docs/kbn_ml_string_hash.devdocs.json +++ b/api_docs/kbn_ml_string_hash.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/ml-string-hash", - "id": "def-server.stringHash", + "id": "def-common.stringHash", "type": "Function", "tags": [], "label": "stringHash", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/ml-string-hash", - "id": "def-server.stringHash.$1", + "id": "def-common.stringHash.$1", "type": "string", "tags": [], "label": "str", @@ -51,13 +59,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index c43ed6bbf175b..b834aa8513279 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; @@ -23,8 +23,8 @@ Contact Machine Learning UI for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_ml_url_state.devdocs.json b/api_docs/kbn_ml_url_state.devdocs.json new file mode 100644 index 0000000000000..b95b497f7b691 --- /dev/null +++ b/api_docs/kbn_ml_url_state.devdocs.json @@ -0,0 +1,615 @@ +{ + "id": "@kbn/ml-url-state", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService", + "type": "Class", + "tags": [], + "label": "PageUrlStateService", + "description": [ + "\nService for managing URL state of particular page." + ], + "signature": [ + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.PageUrlStateService", + "text": "PageUrlStateService" + }, + "" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.getPageUrlState$", + "type": "Function", + "tags": [], + "label": "getPageUrlState$", + "description": [ + "\nProvides updates for the page URL state." + ], + "signature": [ + "() => ", + "Observable", + "" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.getPageUrlState", + "type": "Function", + "tags": [], + "label": "getPageUrlState", + "description": [], + "signature": [ + "() => T | null" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.updateUrlState", + "type": "Function", + "tags": [], + "label": "updateUrlState", + "description": [], + "signature": [ + "(update: Partial, replaceState?: boolean | undefined) => void" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.updateUrlState.$1", + "type": "Object", + "tags": [], + "label": "update", + "description": [], + "signature": [ + "Partial" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.updateUrlState.$2", + "type": "CompoundType", + "tags": [], + "label": "replaceState", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.setCurrentState", + "type": "Function", + "tags": [], + "label": "setCurrentState", + "description": [ + "\nPopulates internal subject with currently active state." + ], + "signature": [ + "(currentState: T) => void" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.setCurrentState.$1", + "type": "Uncategorized", + "tags": [], + "label": "currentState", + "description": [], + "signature": [ + "T" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.setUpdateCallback", + "type": "Function", + "tags": [], + "label": "setUpdateCallback", + "description": [ + "\nSets the callback for the state update." + ], + "signature": [ + "(callback: (update: Partial, replaceState?: boolean | undefined) => void) => void" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.PageUrlStateService.setUpdateCallback.$1", + "type": "Function", + "tags": [], + "label": "callback", + "description": [], + "signature": [ + "(update: Partial, replaceState?: boolean | undefined) => void" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.isRisonSerializationRequired", + "type": "Function", + "tags": [], + "label": "isRisonSerializationRequired", + "description": [ + "\nChecks if the URL query parameter requires rison serialization." + ], + "signature": [ + "(queryParam: string) => boolean" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.isRisonSerializationRequired.$1", + "type": "string", + "tags": [], + "label": "queryParam", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.parseUrlState", + "type": "Function", + "tags": [], + "label": "parseUrlState", + "description": [], + "signature": [ + "(search: string) => ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Dictionary", + "text": "Dictionary" + }, + "" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.parseUrlState.$1", + "type": "string", + "tags": [], + "label": "search", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.Provider", + "type": "Function", + "tags": [], + "label": "Provider", + "description": [], + "signature": [ + "React.ProviderExoticComponent>" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.Provider.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.UrlStateProvider", + "type": "Function", + "tags": [], + "label": "UrlStateProvider", + "description": [], + "signature": [ + "({ children }: { children?: React.ReactNode; }) => JSX.Element" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.UrlStateProvider.$1", + "type": "Object", + "tags": [], + "label": "{ children }", + "description": [], + "signature": [ + "{ children?: React.ReactNode; }" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.usePageUrlState", + "type": "Function", + "tags": [], + "label": "usePageUrlState", + "description": [ + "\nHook for managing the URL state of the page." + ], + "signature": [ + "(pageKey: T[\"pageKey\"], defaultState?: T[\"pageUrlState\"] | undefined) => [T[\"pageUrlState\"], (update: Partial, replaceState?: boolean | undefined) => void, ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.PageUrlStateService", + "text": "PageUrlStateService" + }, + "]" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.usePageUrlState.$1", + "type": "Uncategorized", + "tags": [], + "label": "pageKey", + "description": [], + "signature": [ + "T[\"pageKey\"]" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.usePageUrlState.$2", + "type": "Uncategorized", + "tags": [], + "label": "defaultState", + "description": [], + "signature": [ + "T[\"pageUrlState\"] | undefined" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.useUrlState", + "type": "Function", + "tags": [], + "label": "useUrlState", + "description": [], + "signature": [ + "(accessor: ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Accessor", + "text": "Accessor" + }, + ") => [Record, (attribute: string | ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Dictionary", + "text": "Dictionary" + }, + ", value?: unknown, replaceState?: boolean | undefined) => void]" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.useUrlState.$1", + "type": "CompoundType", + "tags": [], + "label": "accessor", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Accessor", + "text": "Accessor" + } + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.Dictionary", + "type": "Interface", + "tags": [], + "label": "Dictionary", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Dictionary", + "text": "Dictionary" + }, + "" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.Dictionary.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[id: string]: TValue", + "description": [], + "signature": [ + "[id: string]: TValue" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.Accessor", + "type": "Type", + "tags": [], + "label": "Accessor", + "description": [], + "signature": [ + "\"_a\" | \"_g\"" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.SetUrlState", + "type": "Type", + "tags": [], + "label": "SetUrlState", + "description": [], + "signature": [ + "(accessor: ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Accessor", + "text": "Accessor" + }, + ", attribute: string | ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Dictionary", + "text": "Dictionary" + }, + ", value?: any, replaceState?: boolean | undefined) => void" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.SetUrlState.$1", + "type": "CompoundType", + "tags": [], + "label": "accessor", + "description": [], + "signature": [ + "\"_a\" | \"_g\"" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.SetUrlState.$2", + "type": "CompoundType", + "tags": [], + "label": "attribute", + "description": [], + "signature": [ + "string | ", + { + "pluginId": "@kbn/ml-url-state", + "scope": "common", + "docId": "kibKbnMlUrlStatePluginApi", + "section": "def-common.Dictionary", + "text": "Dictionary" + }, + "" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.SetUrlState.$3", + "type": "Any", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-url-state", + "id": "def-common.SetUrlState.$4", + "type": "CompoundType", + "tags": [], + "label": "replaceState", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/url_state/src/url_state.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx new file mode 100644 index 0000000000000..f5b49b8e89e9a --- /dev/null +++ b/api_docs/kbn_ml_url_state.mdx @@ -0,0 +1,39 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlUrlStatePluginApi +slug: /kibana-dev-docs/api/kbn-ml-url-state +title: "@kbn/ml-url-state" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ml-url-state plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] +--- +import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; + +Url state management utilities. + +Contact Machine Learning UI for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 31 | 1 | 24 | 1 | + +## Common + +### Functions + + +### Classes + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_monaco.devdocs.json b/api_docs/kbn_monaco.devdocs.json index 701fbd8a3f306..d4928fabdb23b 100644 --- a/api_docs/kbn_monaco.devdocs.json +++ b/api_docs/kbn_monaco.devdocs.json @@ -354,6 +354,48 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLCustomAutocompleteCallbacks", + "type": "Interface", + "tags": [], + "label": "ESQLCustomAutocompleteCallbacks", + "description": [], + "path": "packages/kbn-monaco/src/esql/lib/autocomplete/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLCustomAutocompleteCallbacks.getSourceIdentifiers", + "type": "Function", + "tags": [], + "label": "getSourceIdentifiers", + "description": [], + "signature": [ + "CallbackFn | undefined" + ], + "path": "packages/kbn-monaco/src/esql/lib/autocomplete/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLCustomAutocompleteCallbacks.getFieldsIdentifiers", + "type": "Function", + "tags": [], + "label": "getFieldsIdentifiers", + "description": [], + "signature": [ + "CallbackFn | undefined" + ], + "path": "packages/kbn-monaco/src/esql/lib/autocomplete/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/monaco", "id": "def-common.LangModuleType", @@ -405,6 +447,20 @@ "path": "packages/kbn-monaco/src/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.LangModuleType.getSuggestionProvider", + "type": "Object", + "tags": [], + "label": "getSuggestionProvider", + "description": [], + "signature": [ + "Function | undefined" + ], + "path": "packages/kbn-monaco/src/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -756,6 +812,95 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang", + "type": "Object", + "tags": [], + "label": "ESQLLang", + "description": [], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.ID", + "type": "string", + "tags": [], + "label": "ID", + "description": [], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.onLanguage", + "type": "Function", + "tags": [], + "label": "onLanguage", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.getSuggestionProvider", + "type": "Function", + "tags": [], + "label": "getSuggestionProvider", + "description": [], + "signature": [ + "(callbacks?: ", + { + "pluginId": "@kbn/monaco", + "scope": "common", + "docId": "kibKbnMonacoPluginApi", + "section": "def-common.ESQLCustomAutocompleteCallbacks", + "text": "ESQLCustomAutocompleteCallbacks" + }, + " | undefined) => ", + "ESQLCompletionAdapter" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.getSuggestionProvider.$1", + "type": "Object", + "tags": [], + "label": "callbacks", + "description": [], + "signature": [ + { + "pluginId": "@kbn/monaco", + "scope": "common", + "docId": "kibKbnMonacoPluginApi", + "section": "def-common.ESQLCustomAutocompleteCallbacks", + "text": "ESQLCustomAutocompleteCallbacks" + }, + " | undefined" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/monaco", "id": "def-common.PainlessLang", diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 40bd581f5a105..292eae7955475 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 62 | 0 | 60 | 2 | +| 71 | 0 | 69 | 3 | ## Common diff --git a/api_docs/kbn_optimizer.devdocs.json b/api_docs/kbn_optimizer.devdocs.json index 5d285a63ef574..c24d3b2e064e2 100644 --- a/api_docs/kbn_optimizer.devdocs.json +++ b/api_docs/kbn_optimizer.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig", + "id": "def-common.OptimizerConfig", "type": "Class", "tags": [], "label": "OptimizerConfig", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.parseOptions", + "id": "def-common.OptimizerConfig.parseOptions", "type": "Function", "tags": [], "label": "parseOptions", @@ -38,7 +46,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.parseOptions.$1", + "id": "def-common.OptimizerConfig.parseOptions.$1", "type": "Object", "tags": [], "label": "options", @@ -56,7 +64,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.create", + "id": "def-common.OptimizerConfig.create", "type": "Function", "tags": [], "label": "create", @@ -65,9 +73,9 @@ "(inputOptions: Options) => ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" } ], @@ -77,7 +85,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.create.$1", + "id": "def-common.OptimizerConfig.create.$1", "type": "Object", "tags": [], "label": "inputOptions", @@ -95,7 +103,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed", + "id": "def-common.OptimizerConfig.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -109,7 +117,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$1", + "id": "def-common.OptimizerConfig.Unnamed.$1", "type": "Array", "tags": [], "label": "bundles", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$2", + "id": "def-common.OptimizerConfig.Unnamed.$2", "type": "Array", "tags": [], "label": "filteredBundles", @@ -141,7 +149,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$3", + "id": "def-common.OptimizerConfig.Unnamed.$3", "type": "boolean", "tags": [], "label": "cache", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$4", + "id": "def-common.OptimizerConfig.Unnamed.$4", "type": "boolean", "tags": [], "label": "watch", @@ -171,7 +179,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$5", + "id": "def-common.OptimizerConfig.Unnamed.$5", "type": "boolean", "tags": [], "label": "inspectWorkers", @@ -186,7 +194,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$6", + "id": "def-common.OptimizerConfig.Unnamed.$6", "type": "Array", "tags": [], "label": "plugins", @@ -202,7 +210,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$7", + "id": "def-common.OptimizerConfig.Unnamed.$7", "type": "string", "tags": [], "label": "repoRoot", @@ -217,7 +225,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$8", + "id": "def-common.OptimizerConfig.Unnamed.$8", "type": "number", "tags": [], "label": "maxWorkerCount", @@ -232,7 +240,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$9", + "id": "def-common.OptimizerConfig.Unnamed.$9", "type": "boolean", "tags": [], "label": "dist", @@ -247,7 +255,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$10", + "id": "def-common.OptimizerConfig.Unnamed.$10", "type": "boolean", "tags": [], "label": "profileWebpack", @@ -262,7 +270,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.Unnamed.$11", + "id": "def-common.OptimizerConfig.Unnamed.$11", "type": "Object", "tags": [], "label": "themeTags", @@ -280,7 +288,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.getWorkerConfig", + "id": "def-common.OptimizerConfig.getWorkerConfig", "type": "Function", "tags": [], "label": "getWorkerConfig", @@ -295,7 +303,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.getWorkerConfig.$1", + "id": "def-common.OptimizerConfig.getWorkerConfig.$1", "type": "Unknown", "tags": [], "label": "optimizerCacheKey", @@ -313,7 +321,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerConfig.getCacheableWorkerConfig", + "id": "def-common.OptimizerConfig.getCacheableWorkerConfig", "type": "Function", "tags": [], "label": "getCacheableWorkerConfig", @@ -335,7 +343,7 @@ "functions": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.logOptimizerProgress", + "id": "def-common.logOptimizerProgress", "type": "Function", "tags": [], "label": "logOptimizerProgress", @@ -344,9 +352,9 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ") => ", @@ -354,9 +362,9 @@ "<", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ">" @@ -367,7 +375,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.logOptimizerProgress.$1", + "id": "def-common.logOptimizerProgress.$1", "type": "Object", "tags": [], "label": "log", @@ -375,9 +383,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -392,7 +400,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.logOptimizerState", + "id": "def-common.logOptimizerState", "type": "Function", "tags": [], "label": "logOptimizerState", @@ -401,33 +409,33 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", config: ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" }, ") => Operator<", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ", ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ">" @@ -438,7 +446,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.logOptimizerState.$1", + "id": "def-common.logOptimizerState.$1", "type": "Object", "tags": [], "label": "log", @@ -446,9 +454,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -459,7 +467,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.logOptimizerState.$2", + "id": "def-common.logOptimizerState.$2", "type": "Object", "tags": [], "label": "config", @@ -467,9 +475,9 @@ "signature": [ { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" } ], @@ -484,7 +492,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.readLimits", + "id": "def-common.readLimits", "type": "Function", "tags": [], "label": "readLimits", @@ -499,7 +507,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.readLimits.$1", + "id": "def-common.readLimits.$1", "type": "string", "tags": [], "label": "path", @@ -518,24 +526,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.registerNodeAutoTranspilation", - "type": "Function", - "tags": [], - "label": "registerNodeAutoTranspilation", - "description": [], - "signature": [ - "() => void" - ], - "path": "packages/kbn-optimizer/src/node/node_auto_tranpilation.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/optimizer", - "id": "def-server.reportOptimizerTimings", + "id": "def-common.reportOptimizerTimings", "type": "Function", "tags": [], "label": "reportOptimizerTimings", @@ -544,33 +535,33 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", config: ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" }, ") => Operator<", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ", ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ">" @@ -581,7 +572,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.reportOptimizerTimings.$1", + "id": "def-common.reportOptimizerTimings.$1", "type": "Object", "tags": [], "label": "log", @@ -589,9 +580,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -602,7 +593,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.reportOptimizerTimings.$2", + "id": "def-common.reportOptimizerTimings.$2", "type": "Object", "tags": [], "label": "config", @@ -610,9 +601,9 @@ "signature": [ { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" } ], @@ -627,7 +618,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runFindBabelHelpersInEntryBundlesCli", + "id": "def-common.runFindBabelHelpersInEntryBundlesCli", "type": "Function", "tags": [], "label": "runFindBabelHelpersInEntryBundlesCli", @@ -644,7 +635,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runFindNodeLibsBrowserPolyfillsInEntryBundlesCli", + "id": "def-common.runFindNodeLibsBrowserPolyfillsInEntryBundlesCli", "type": "Function", "tags": [], "label": "runFindNodeLibsBrowserPolyfillsInEntryBundlesCli", @@ -661,26 +652,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runFindTargetNodeImportsCli", - "type": "Function", - "tags": [], - "label": "runFindTargetNodeImportsCli", - "description": [ - "\nAnalyzes the bundle dependencies to find any imports using the `@kbn//target_node` build target.\n\nWe should aim for those packages to be imported using the `@kbn//target_web` build because it's optimized\nfor browser compatibility.\n\nThis utility also helps identify when code that should only run in the server is leaked into the browser." - ], - "signature": [ - "() => Promise" - ], - "path": "packages/kbn-optimizer/src/audit_bundle_dependencies/find_target_node_imports.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/optimizer", - "id": "def-server.runKbnOptimizerCli", + "id": "def-common.runKbnOptimizerCli", "type": "Function", "tags": [], "label": "runKbnOptimizerCli", @@ -694,7 +666,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runKbnOptimizerCli.$1", + "id": "def-common.runKbnOptimizerCli.$1", "type": "Object", "tags": [], "label": "options", @@ -705,7 +677,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runKbnOptimizerCli.$1.defaultLimitsPath", + "id": "def-common.runKbnOptimizerCli.$1.defaultLimitsPath", "type": "string", "tags": [], "label": "defaultLimitsPath", @@ -722,7 +694,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runOptimizer", + "id": "def-common.runOptimizer", "type": "Function", "tags": [], "label": "runOptimizer", @@ -731,9 +703,9 @@ "(config: ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" }, ") => ", @@ -741,9 +713,9 @@ "<", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ">" @@ -754,7 +726,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.runOptimizer.$1", + "id": "def-common.runOptimizer.$1", "type": "Object", "tags": [], "label": "config", @@ -762,9 +734,9 @@ "signature": [ { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" } ], @@ -779,7 +751,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.updateBundleLimits", + "id": "def-common.updateBundleLimits", "type": "Function", "tags": [], "label": "updateBundleLimits", @@ -793,7 +765,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.updateBundleLimits.$1", + "id": "def-common.updateBundleLimits.$1", "type": "Object", "tags": [], "label": "{\n log,\n config,\n dropMissing,\n limitsPath,\n}", @@ -812,7 +784,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.validateLimitsForAllBundles", + "id": "def-common.validateLimitsForAllBundles", "type": "Function", "tags": [], "label": "validateLimitsForAllBundles", @@ -821,17 +793,17 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", config: ", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" }, ", limitsPath: string) => void" @@ -842,7 +814,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.validateLimitsForAllBundles.$1", + "id": "def-common.validateLimitsForAllBundles.$1", "type": "Object", "tags": [], "label": "log", @@ -850,9 +822,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -863,7 +835,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.validateLimitsForAllBundles.$2", + "id": "def-common.validateLimitsForAllBundles.$2", "type": "Object", "tags": [], "label": "config", @@ -871,9 +843,9 @@ "signature": [ { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerConfig", + "section": "def-common.OptimizerConfig", "text": "OptimizerConfig" } ], @@ -884,7 +856,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.validateLimitsForAllBundles.$3", + "id": "def-common.validateLimitsForAllBundles.$3", "type": "string", "tags": [], "label": "limitsPath", @@ -907,7 +879,7 @@ "misc": [ { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerUpdate", + "id": "def-common.OptimizerUpdate", "type": "Type", "tags": [], "label": "OptimizerUpdate", @@ -927,7 +899,7 @@ }, { "parentPluginId": "@kbn/optimizer", - "id": "def-server.OptimizerUpdate$", + "id": "def-common.OptimizerUpdate$", "type": "Type", "tags": [], "label": "OptimizerUpdate$", @@ -937,9 +909,9 @@ "<", { "pluginId": "@kbn/optimizer", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerPluginApi", - "section": "def-server.OptimizerUpdate", + "section": "def-common.OptimizerUpdate", "text": "OptimizerUpdate" }, ">" @@ -951,13 +923,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 6f5baa36f4275..3e3f446765d75 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; @@ -21,16 +21,16 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 47 | 0 | 46 | 10 | +| 45 | 0 | 45 | 10 | -## Server +## Common ### Functions - + ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_optimizer_webpack_helpers.devdocs.json b/api_docs/kbn_optimizer_webpack_helpers.devdocs.json index 76777a87b7944..d24357fb14c81 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.devdocs.json +++ b/api_docs/kbn_optimizer_webpack_helpers.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.failedStatsToErrorMessage", + "id": "def-common.failedStatsToErrorMessage", "type": "Function", "tags": [], "label": "failedStatsToErrorMessage", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.failedStatsToErrorMessage.$1", + "id": "def-common.failedStatsToErrorMessage.$1", "type": "Object", "tags": [], "label": "stats", @@ -48,7 +56,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.getModulePath", + "id": "def-common.getModulePath", "type": "Function", "tags": [], "label": "getModulePath", @@ -57,9 +65,9 @@ "(module: ", { "pluginId": "@kbn/optimizer-webpack-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerWebpackHelpersPluginApi", - "section": "def-server.WebpackNormalModule", + "section": "def-common.WebpackNormalModule", "text": "WebpackNormalModule" }, ") => string" @@ -70,7 +78,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.getModulePath.$1", + "id": "def-common.getModulePath.$1", "type": "Object", "tags": [], "label": "module", @@ -78,9 +86,9 @@ "signature": [ { "pluginId": "@kbn/optimizer-webpack-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnOptimizerWebpackHelpersPluginApi", - "section": "def-server.WebpackNormalModule", + "section": "def-common.WebpackNormalModule", "text": "WebpackNormalModule" } ], @@ -95,7 +103,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isConcatenatedModule", + "id": "def-common.isConcatenatedModule", "type": "Function", "tags": [], "label": "isConcatenatedModule", @@ -109,7 +117,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isConcatenatedModule.$1", + "id": "def-common.isConcatenatedModule.$1", "type": "Any", "tags": [], "label": "module", @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isDelegatedModule", + "id": "def-common.isDelegatedModule", "type": "Function", "tags": [], "label": "isDelegatedModule", @@ -142,7 +150,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isDelegatedModule.$1", + "id": "def-common.isDelegatedModule.$1", "type": "Any", "tags": [], "label": "module", @@ -161,7 +169,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isExternalModule", + "id": "def-common.isExternalModule", "type": "Function", "tags": [], "label": "isExternalModule", @@ -175,7 +183,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isExternalModule.$1", + "id": "def-common.isExternalModule.$1", "type": "Any", "tags": [], "label": "module", @@ -194,7 +202,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isFailureStats", + "id": "def-common.isFailureStats", "type": "Function", "tags": [], "label": "isFailureStats", @@ -210,7 +218,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isFailureStats.$1", + "id": "def-common.isFailureStats.$1", "type": "Object", "tags": [], "label": "stats", @@ -229,7 +237,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isIgnoredModule", + "id": "def-common.isIgnoredModule", "type": "Function", "tags": [], "label": "isIgnoredModule", @@ -243,7 +251,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isIgnoredModule.$1", + "id": "def-common.isIgnoredModule.$1", "type": "Any", "tags": [], "label": "module", @@ -262,7 +270,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isNormalModule", + "id": "def-common.isNormalModule", "type": "Function", "tags": [], "label": "isNormalModule", @@ -276,7 +284,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.isNormalModule.$1", + "id": "def-common.isNormalModule.$1", "type": "Any", "tags": [], "label": "module", @@ -297,7 +305,7 @@ "interfaces": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule", + "id": "def-common.WebpackConcatenatedModule", "type": "Interface", "tags": [], "label": "WebpackConcatenatedModule", @@ -310,7 +318,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule.type", + "id": "def-common.WebpackConcatenatedModule.type", "type": "string", "tags": [], "label": "type", @@ -321,7 +329,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule.id", + "id": "def-common.WebpackConcatenatedModule.id", "type": "number", "tags": [], "label": "id", @@ -332,7 +340,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule.dependencies", + "id": "def-common.WebpackConcatenatedModule.dependencies", "type": "Array", "tags": [], "label": "dependencies", @@ -346,7 +354,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule.usedExports", + "id": "def-common.WebpackConcatenatedModule.usedExports", "type": "Array", "tags": [], "label": "usedExports", @@ -360,7 +368,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackConcatenatedModule.modules", + "id": "def-common.WebpackConcatenatedModule.modules", "type": "Array", "tags": [], "label": "modules", @@ -377,7 +385,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackDelegatedModule", + "id": "def-common.WebpackDelegatedModule", "type": "Interface", "tags": [], "label": "WebpackDelegatedModule", @@ -390,7 +398,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackDelegatedModule.type", + "id": "def-common.WebpackDelegatedModule.type", "type": "string", "tags": [], "label": "type", @@ -401,7 +409,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackDelegatedModule.id", + "id": "def-common.WebpackDelegatedModule.id", "type": "number", "tags": [], "label": "id", @@ -412,7 +420,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackDelegatedModule.dependencies", + "id": "def-common.WebpackDelegatedModule.dependencies", "type": "Array", "tags": [], "label": "dependencies", @@ -426,7 +434,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackDelegatedModule.userRequest", + "id": "def-common.WebpackDelegatedModule.userRequest", "type": "string", "tags": [], "label": "userRequest", @@ -442,7 +450,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackExternalModule", + "id": "def-common.WebpackExternalModule", "type": "Interface", "tags": [], "label": "WebpackExternalModule", @@ -455,7 +463,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackExternalModule.type", + "id": "def-common.WebpackExternalModule.type", "type": "string", "tags": [], "label": "type", @@ -466,7 +474,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackExternalModule.id", + "id": "def-common.WebpackExternalModule.id", "type": "string", "tags": [], "label": "id", @@ -477,7 +485,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackExternalModule.request", + "id": "def-common.WebpackExternalModule.request", "type": "string", "tags": [], "label": "request", @@ -490,7 +498,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackExternalModule.userRequest", + "id": "def-common.WebpackExternalModule.userRequest", "type": "string", "tags": [], "label": "userRequest", @@ -506,7 +514,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackIgnoredModule", + "id": "def-common.WebpackIgnoredModule", "type": "Interface", "tags": [], "label": "WebpackIgnoredModule", @@ -519,7 +527,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackIgnoredModule.type", + "id": "def-common.WebpackIgnoredModule.type", "type": "string", "tags": [], "label": "type", @@ -530,7 +538,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackIgnoredModule.identifierStr", + "id": "def-common.WebpackIgnoredModule.identifierStr", "type": "string", "tags": [], "label": "identifierStr", @@ -543,7 +551,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackIgnoredModule.readableIdentifierStr", + "id": "def-common.WebpackIgnoredModule.readableIdentifierStr", "type": "string", "tags": [], "label": "readableIdentifierStr", @@ -559,7 +567,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackNormalModule", + "id": "def-common.WebpackNormalModule", "type": "Interface", "tags": [], "label": "WebpackNormalModule", @@ -572,7 +580,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackNormalModule.type", + "id": "def-common.WebpackNormalModule.type", "type": "string", "tags": [], "label": "type", @@ -583,7 +591,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackNormalModule.resource", + "id": "def-common.WebpackNormalModule.resource", "type": "string", "tags": [], "label": "resource", @@ -596,7 +604,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackNormalModule.buildInfo", + "id": "def-common.WebpackNormalModule.buildInfo", "type": "Object", "tags": [], "label": "buildInfo", @@ -610,7 +618,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackNormalModule.dependencies", + "id": "def-common.WebpackNormalModule.dependencies", "type": "Array", "tags": [], "label": "dependencies", @@ -627,7 +635,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData", + "id": "def-common.WebpackResolveData", "type": "Interface", "tags": [], "label": "WebpackResolveData", @@ -638,7 +646,7 @@ "children": [ { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.context", + "id": "def-common.WebpackResolveData.context", "type": "string", "tags": [], "label": "context", @@ -651,7 +659,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.request", + "id": "def-common.WebpackResolveData.request", "type": "string", "tags": [], "label": "request", @@ -664,7 +672,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.dependencies", + "id": "def-common.WebpackResolveData.dependencies", "type": "Object", "tags": [], "label": "dependencies", @@ -678,7 +686,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.userRequest", + "id": "def-common.WebpackResolveData.userRequest", "type": "string", "tags": [], "label": "userRequest", @@ -691,7 +699,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.rawRequest", + "id": "def-common.WebpackResolveData.rawRequest", "type": "string", "tags": [], "label": "rawRequest", @@ -704,7 +712,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.loaders", + "id": "def-common.WebpackResolveData.loaders", "type": "Unknown", "tags": [], "label": "loaders", @@ -718,7 +726,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.resource", + "id": "def-common.WebpackResolveData.resource", "type": "string", "tags": [], "label": "resource", @@ -731,7 +739,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.type", + "id": "def-common.WebpackResolveData.type", "type": "string", "tags": [], "label": "type", @@ -744,7 +752,7 @@ }, { "parentPluginId": "@kbn/optimizer-webpack-helpers", - "id": "def-server.WebpackResolveData.resourceResolveData", + "id": "def-common.WebpackResolveData.resourceResolveData", "type": "Object", "tags": [], "label": "resourceResolveData", @@ -763,13 +771,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 5ce0e269bbf2e..1467c090460ec 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 51 | 5 | 34 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_osquery_io_ts_types.devdocs.json b/api_docs/kbn_osquery_io_ts_types.devdocs.json index 0ce61875f6d2f..65501b5031659 100644 --- a/api_docs/kbn_osquery_io_ts_types.devdocs.json +++ b/api_docs/kbn_osquery_io_ts_types.devdocs.json @@ -60,7 +60,7 @@ "label": "ArrayQueries", "description": [], "signature": [ - "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; }[]" + "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }[]" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", "deprecated": false, @@ -225,7 +225,7 @@ "label": "ObjectQueries", "description": [], "signature": [ - "{ [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; }; }" + "{ [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }; }" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", "deprecated": false, @@ -300,7 +300,7 @@ "label": "Queries", "description": [], "signature": [ - "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; }[] | { [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; }; }" + "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }[] | { [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }; }" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", "deprecated": false, @@ -315,7 +315,7 @@ "label": "QueriesOrUndefined", "description": [], "signature": [ - "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; }[] | { [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; }; } | undefined" + "{ id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }[] | undefined" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", "deprecated": false, @@ -600,6 +600,18 @@ "StringC", ", ", "UndefinedC", + "]>; removed: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", + "]>; snapshot: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", "]>; }>>" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", @@ -891,6 +903,18 @@ "StringC", ", ", "UndefinedC", + "]>; removed: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", + "]>; snapshot: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", "]>; }>>" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", @@ -1017,6 +1041,18 @@ "StringC", ", ", "UndefinedC", + "]>; removed: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", + "]>; snapshot: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", "]>; }>>, ", "RecordC", "<", @@ -1065,6 +1101,18 @@ "StringC", ", ", "UndefinedC", + "]>; removed: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", + "]>; snapshot: ", + "UnionC", + "<[", + "BooleanC", + ", ", + "UndefinedC", "]>; }>>]>" ], "path": "packages/kbn-osquery-io-ts-types/src/live_query/index.ts", @@ -1080,8 +1128,6 @@ "label": "queriesOrUndefined", "description": [], "signature": [ - "UnionC", - "<[", "UnionC", "<[", "ArrayC", @@ -1123,55 +1169,19 @@ "StringC", ", ", "UndefinedC", - "]>; }>>, ", - "RecordC", - "<", - "StringC", - ", ", - "TypeC", - "<{ query: ", - "StringC", - "; id: ", - "StringC", - "; ecs_mapping: ", - "UnionC", - "<[", - "RecordC", - "<", - "StringC", - ", ", - "PartialC", - "<{ field: ", - "StringC", - "; value: ", - "UnionC", - "<[", - "StringC", - ", ", - "ArrayC", - "<", - "StringC", - ">]>; }>>, ", - "UndefinedC", - "]>; version: ", + "]>; removed: ", "UnionC", "<[", - "StringC", - ", ", - "UndefinedC", - "]>; platform: ", - "UnionC", - "<[", - "StringC", + "BooleanC", ", ", "UndefinedC", - "]>; saved_query_id: ", + "]>; snapshot: ", "UnionC", "<[", - "StringC", + "BooleanC", ", ", "UndefinedC", - "]>; }>>]>, ", + "]>; }>>, ", "UndefinedC", "]>" ], diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index a084979befa23..d208989b34f5d 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_peggy.devdocs.json b/api_docs/kbn_peggy.devdocs.json deleted file mode 100644 index 7b6c4f5341d94..0000000000000 --- a/api_docs/kbn_peggy.devdocs.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "id": "@kbn/peggy", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.findConfigFile", - "type": "Function", - "tags": [], - "label": "findConfigFile", - "description": [], - "signature": [ - "(grammarPath: string) => ", - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Config", - "text": "Config" - }, - " | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.findConfigFile.$1", - "type": "string", - "tags": [], - "label": "grammarPath", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.getJsSource", - "type": "Function", - "tags": [], - "label": "getJsSource", - "description": [], - "signature": [ - "(options: ", - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Options", - "text": "Options" - }, - ") => Promise<", - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Result", - "text": "Result" - }, - ">" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.getJsSource.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Options", - "text": "Options" - } - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.getJsSourceSync", - "type": "Function", - "tags": [], - "label": "getJsSourceSync", - "description": [], - "signature": [ - "(options: ", - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Options", - "text": "Options" - }, - " & { content: string; }) => ", - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Result", - "text": "Result" - } - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.getJsSourceSync.$1", - "type": "CompoundType", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Options", - "text": "Options" - }, - " & { content: string; }" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Config", - "type": "Interface", - "tags": [], - "label": "Config", - "description": [], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Config.path", - "type": "string", - "tags": [], - "label": "path", - "description": [ - "the path of the discovered config file" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Config.source", - "type": "string", - "tags": [], - "label": "source", - "description": [ - "the content of the config file as a string (primarily for hashing)" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Config.parsed", - "type": "Any", - "tags": [], - "label": "parsed", - "description": [ - "the parsed content of the config file" - ], - "signature": [ - "any" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options", - "type": "Interface", - "tags": [], - "label": "Options", - "description": [], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.path", - "type": "string", - "tags": [], - "label": "path", - "description": [ - "\nThe path to the peggy content. If this is not defined then\nconfig files can not be found and `content` must be passed." - ], - "signature": [ - "string | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.content", - "type": "string", - "tags": [], - "label": "content", - "description": [ - "\nPrevent loading the content from disk by specifying it here" - ], - "signature": [ - "string | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.config", - "type": "Object", - "tags": [], - "label": "config", - "description": [ - "\nPrevent loading the config from disk by specifying it here" - ], - "signature": [ - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Config", - "text": "Config" - }, - " | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.format", - "type": "CompoundType", - "tags": [], - "label": "format", - "description": [ - "\nWhat type of module format should the generated code use. Defaults to\ncommonjs for broadest compatibility" - ], - "signature": [ - "\"esm\" | \"commonjs\" | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.optimize", - "type": "CompoundType", - "tags": [], - "label": "optimize", - "description": [ - "\nShould the parser optimize for execution speed or size of the code" - ], - "signature": [ - "\"size\" | \"speed\" | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Options.skipConfigSearch", - "type": "CompoundType", - "tags": [], - "label": "skipConfigSearch", - "description": [ - "\nDisable checking for a config file a `{basename}.config.json` in\nthe same directory as the grammar file." - ], - "signature": [ - "boolean | undefined" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Result", - "type": "Interface", - "tags": [], - "label": "Result", - "description": [], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Result.config", - "type": "CompoundType", - "tags": [], - "label": "config", - "description": [ - "\nThe source code of the module which parses expressions in the format\ndefined by the peggy grammar file" - ], - "signature": [ - { - "pluginId": "@kbn/peggy", - "scope": "server", - "docId": "kibKbnPeggyPluginApi", - "section": "def-server.Config", - "text": "Config" - }, - " | null" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.Result.source", - "type": "string", - "tags": [], - "label": "source", - "description": [ - "\nThe loaded config if it was found" - ], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], - "enums": [], - "misc": [ - { - "parentPluginId": "@kbn/peggy", - "id": "def-server.VERSION", - "type": "string", - "tags": [], - "label": "VERSION", - "description": [], - "path": "packages/kbn-peggy/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - } -} \ No newline at end of file diff --git a/api_docs/kbn_peggy.mdx b/api_docs/kbn_peggy.mdx deleted file mode 100644 index 244a1ec4cbec6..0000000000000 --- a/api_docs/kbn_peggy.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -#### -#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. -#### Reach out in #docs-engineering for more info. -#### -id: kibKbnPeggyPluginApi -slug: /kibana-dev-docs/api/kbn-peggy -title: "@kbn/peggy" -image: https://source.unsplash.com/400x175/?github -description: API docs for the @kbn/peggy plugin -date: 2022-12-22 -tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/peggy'] ---- -import kbnPeggyObj from './kbn_peggy.devdocs.json'; - - - -Contact [Owner missing] for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 21 | 1 | 10 | 0 | - -## Server - -### Functions - - -### Interfaces - - -### Consts, variables and types - - diff --git a/api_docs/kbn_performance_testing_dataset_extractor.devdocs.json b/api_docs/kbn_performance_testing_dataset_extractor.devdocs.json index 4110f078c72be..be4656412490b 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.devdocs.json +++ b/api_docs/kbn_performance_testing_dataset_extractor.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/performance-testing-dataset-extractor", - "id": "def-server.extractor", + "id": "def-common.extractor", "type": "Function", "tags": [], "label": "extractor", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/performance-testing-dataset-extractor", - "id": "def-server.extractor.$1", + "id": "def-common.extractor.$1", "type": "Object", "tags": [], "label": "{ param, client, log }", @@ -48,7 +56,7 @@ }, { "parentPluginId": "@kbn/performance-testing-dataset-extractor", - "id": "def-server.runExtractor", + "id": "def-common.runExtractor", "type": "Function", "tags": [], "label": "runExtractor", @@ -68,13 +76,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 209a79196615b..58e797da9c556 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 3 | 0 | 3 | 1 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_plugin_generator.devdocs.json b/api_docs/kbn_plugin_generator.devdocs.json index 41179d0b2ace1..158aee2a346b6 100644 --- a/api_docs/kbn_plugin_generator.devdocs.json +++ b/api_docs/kbn_plugin_generator.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/plugin-generator", - "id": "def-server.runCli", + "id": "def-common.runCli", "type": "Function", "tags": [], "label": "runCli", @@ -33,13 +41,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 04286ecf14dd3..fbd5cdf0196a2 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 1 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_plugin_helpers.devdocs.json b/api_docs/kbn_plugin_helpers.devdocs.json index dd3add5884bf5..29443ce01ee1c 100644 --- a/api_docs/kbn_plugin_helpers.devdocs.json +++ b/api_docs/kbn_plugin_helpers.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/plugin-helpers", - "id": "def-server.runCli", + "id": "def-common.runCli", "type": "Function", "tags": [], "label": "runCli", @@ -33,13 +41,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 6da4130043694..9ded31429aa21 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 1 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 0d37d5471a924..7864f995abe38 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_path.devdocs.json b/api_docs/kbn_repo_path.devdocs.json new file mode 100644 index 0000000000000..cc877cbe9e929 --- /dev/null +++ b/api_docs/kbn_repo_path.devdocs.json @@ -0,0 +1,192 @@ +{ + "id": "@kbn/repo-path", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath", + "type": "Class", + "tags": [], + "label": "RepoPath", + "description": [], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.Unnamed.$1", + "type": "string", + "tags": [], + "label": "repoRoot", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.Unnamed.$2", + "type": "string", + "tags": [], + "label": "repoRel", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.abs", + "type": "string", + "tags": [], + "label": "abs", + "description": [ + "\nabsolute path to the file\n(lazy and cached getter)" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.ext", + "type": "string", + "tags": [], + "label": "ext", + "description": [ + "\nextension to the filename\n(lazy and cached getter)" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.basename", + "type": "string", + "tags": [], + "label": "basename", + "description": [ + "\nbasename of the path\n(lazy and cached getter)" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.isTypeScript", + "type": "Function", + "tags": [], + "label": "isTypeScript", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.isTypeScriptAmbient", + "type": "Function", + "tags": [], + "label": "isTypeScriptAmbient", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.isJavaScript", + "type": "Function", + "tags": [], + "label": "isJavaScript", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/repo-path", + "id": "def-common.RepoPath.isFixture", + "type": "Function", + "tags": [], + "label": "isFixture", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "packages/kbn-repo-path/repo_path.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx new file mode 100644 index 0000000000000..c9498bce0302e --- /dev/null +++ b/api_docs/kbn_repo_path.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnRepoPathPluginApi +slug: /kibana-dev-docs/api/kbn-repo-path +title: "@kbn/repo-path" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/repo-path plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] +--- +import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 11 | 0 | 8 | 0 | + +## Common + +### Classes + + diff --git a/api_docs/kbn_repo_source_classifier.devdocs.json b/api_docs/kbn_repo_source_classifier.devdocs.json index a23c140d773d2..0d96329a321b7 100644 --- a/api_docs/kbn_repo_source_classifier.devdocs.json +++ b/api_docs/kbn_repo_source_classifier.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.RepoSourceClassifier", + "id": "def-common.RepoSourceClassifier", "type": "Class", "tags": [], "label": "RepoSourceClassifier", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.RepoSourceClassifier.Unnamed", + "id": "def-common.RepoSourceClassifier.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.RepoSourceClassifier.Unnamed.$1", + "id": "def-common.RepoSourceClassifier.Unnamed.$1", "type": "Object", "tags": [], "label": "resolver", @@ -45,9 +53,9 @@ "signature": [ { "pluginId": "@kbn/import-resolver", - "scope": "server", + "scope": "common", "docId": "kibKbnImportResolverPluginApi", - "section": "def-server.ImportResolver", + "section": "def-common.ImportResolver", "text": "ImportResolver" } ], @@ -61,7 +69,7 @@ }, { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.RepoSourceClassifier.classify", + "id": "def-common.RepoSourceClassifier.classify", "type": "Function", "tags": [], "label": "classify", @@ -76,7 +84,7 @@ "children": [ { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.RepoSourceClassifier.classify.$1", + "id": "def-common.RepoSourceClassifier.classify.$1", "type": "string", "tags": [], "label": "absolute", @@ -102,7 +110,7 @@ "misc": [ { "parentPluginId": "@kbn/repo-source-classifier", - "id": "def-server.ModuleType", + "id": "def-common.ModuleType", "type": "Type", "tags": [], "label": "ModuleType", @@ -117,13 +125,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index f4712220caa65..d2a7b8ec1c3b0 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 6 | 1 | -## Server +## Common ### Classes - + ### Consts, variables and types - + diff --git a/api_docs/kbn_rison.devdocs.json b/api_docs/kbn_rison.devdocs.json index ccfc5d62d9b7d..6d27f7e58ad0e 100644 --- a/api_docs/kbn_rison.devdocs.json +++ b/api_docs/kbn_rison.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.decode", + "id": "def-common.decode", "type": "Function", "tags": [], "label": "decode", @@ -24,9 +32,9 @@ "(rison: string) => ", { "pluginId": "@kbn/rison", - "scope": "server", + "scope": "common", "docId": "kibKbnRisonPluginApi", - "section": "def-server.RisonValue", + "section": "def-common.RisonValue", "text": "RisonValue" } ], @@ -36,7 +44,7 @@ "children": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.decode.$1", + "id": "def-common.decode.$1", "type": "string", "tags": [], "label": "rison", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/rison", - "id": "def-server.decodeArray", + "id": "def-common.decodeArray", "type": "Function", "tags": [], "label": "decodeArray", @@ -66,9 +74,9 @@ "(rison: string) => ", { "pluginId": "@kbn/rison", - "scope": "server", + "scope": "common", "docId": "kibKbnRisonPluginApi", - "section": "def-server.RisonValue", + "section": "def-common.RisonValue", "text": "RisonValue" }, "[]" @@ -79,7 +87,7 @@ "children": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.decodeArray.$1", + "id": "def-common.decodeArray.$1", "type": "string", "tags": [], "label": "rison", @@ -98,7 +106,7 @@ }, { "parentPluginId": "@kbn/rison", - "id": "def-server.encode", + "id": "def-common.encode", "type": "Function", "tags": [], "label": "encode", @@ -114,7 +122,7 @@ "children": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.encode.$1", + "id": "def-common.encode.$1", "type": "Any", "tags": [], "label": "obj", @@ -133,7 +141,7 @@ }, { "parentPluginId": "@kbn/rison", - "id": "def-server.encodeArray", + "id": "def-common.encodeArray", "type": "Function", "tags": [], "label": "encodeArray", @@ -149,7 +157,7 @@ "children": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.encodeArray.$1", + "id": "def-common.encodeArray.$1", "type": "Array", "tags": [], "label": "array", @@ -168,7 +176,7 @@ }, { "parentPluginId": "@kbn/rison", - "id": "def-server.encodeUnknown", + "id": "def-common.encodeUnknown", "type": "Function", "tags": [], "label": "encodeUnknown", @@ -182,7 +190,7 @@ "children": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.encodeUnknown.$1", + "id": "def-common.encodeUnknown.$1", "type": "Any", "tags": [], "label": "obj", @@ -198,6 +206,48 @@ ], "returnComment": [], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/rison", + "id": "def-common.safeDecode", + "type": "Function", + "tags": [], + "label": "safeDecode", + "description": [ + "\nsafely parse a rison string into a javascript structure, never throws" + ], + "signature": [ + "(rison: string) => ", + { + "pluginId": "@kbn/rison", + "scope": "common", + "docId": "kibKbnRisonPluginApi", + "section": "def-common.RisonValue", + "text": "RisonValue" + } + ], + "path": "packages/kbn-rison/kbn_rison.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/rison", + "id": "def-common.safeDecode.$1", + "type": "string", + "tags": [], + "label": "rison", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-rison/kbn_rison.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false } ], "interfaces": [], @@ -205,7 +255,7 @@ "misc": [ { "parentPluginId": "@kbn/rison", - "id": "def-server.RisonValue", + "id": "def-common.RisonValue", "type": "Type", "tags": [], "label": "RisonValue", @@ -214,17 +264,17 @@ "string | number | boolean | ", { "pluginId": "@kbn/rison", - "scope": "server", + "scope": "common", "docId": "kibKbnRisonPluginApi", - "section": "def-server.RisonValue", + "section": "def-common.RisonValue", "text": "RisonValue" }, "[] | { [key: string]: ", { "pluginId": "@kbn/rison", - "scope": "server", + "scope": "common", "docId": "kibKbnRisonPluginApi", - "section": "def-server.RisonValue", + "section": "def-common.RisonValue", "text": "RisonValue" }, "; } | null" @@ -236,13 +286,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 1ec0b288ba2bf..03bc18f3a3c66 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; @@ -21,13 +21,13 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 11 | 2 | 7 | 0 | +| 13 | 2 | 8 | 0 | -## Server +## Common ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 6f377ce2c67ef..b8ac712c42e1c 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index c81f592fb34b4..0b729b1f6fddb 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.devdocs.json b/api_docs/kbn_securitysolution_es_utils.devdocs.json index c4794d5fa6ca7..4f3c195e28f93 100644 --- a/api_docs/kbn_securitysolution_es_utils.devdocs.json +++ b/api_docs/kbn_securitysolution_es_utils.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.BadRequestError", + "id": "def-common.BadRequestError", "type": "Class", "tags": [], "label": "BadRequestError", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/securitysolution-es-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnSecuritysolutionEsUtilsPluginApi", - "section": "def-server.BadRequestError", + "section": "def-common.BadRequestError", "text": "BadRequestError" }, " extends Error" @@ -37,7 +45,7 @@ "functions": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.createBootstrapIndex", + "id": "def-common.createBootstrapIndex", "type": "Function", "tags": [], "label": "createBootstrapIndex", @@ -53,7 +61,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.createBootstrapIndex.$1", + "id": "def-common.createBootstrapIndex.$1", "type": "Object", "tags": [], "label": "esClient", @@ -68,7 +76,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.createBootstrapIndex.$2", + "id": "def-common.createBootstrapIndex.$2", "type": "string", "tags": [], "label": "index", @@ -87,7 +95,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.decodeVersion", + "id": "def-common.decodeVersion", "type": "Function", "tags": [], "label": "decodeVersion", @@ -101,7 +109,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.decodeVersion.$1", + "id": "def-common.decodeVersion.$1", "type": "string", "tags": [], "label": "version", @@ -120,7 +128,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteAllIndex", + "id": "def-common.deleteAllIndex", "type": "Function", "tags": [], "label": "deleteAllIndex", @@ -136,7 +144,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteAllIndex.$1", + "id": "def-common.deleteAllIndex.$1", "type": "Object", "tags": [], "label": "esClient", @@ -151,7 +159,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteAllIndex.$2", + "id": "def-common.deleteAllIndex.$2", "type": "string", "tags": [], "label": "pattern", @@ -166,7 +174,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteAllIndex.$3", + "id": "def-common.deleteAllIndex.$3", "type": "number", "tags": [], "label": "maxAttempts", @@ -185,7 +193,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteIndexTemplate", + "id": "def-common.deleteIndexTemplate", "type": "Function", "tags": [], "label": "deleteIndexTemplate", @@ -201,7 +209,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteIndexTemplate.$1", + "id": "def-common.deleteIndexTemplate.$1", "type": "Object", "tags": [], "label": "esClient", @@ -216,7 +224,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteIndexTemplate.$2", + "id": "def-common.deleteIndexTemplate.$2", "type": "string", "tags": [], "label": "name", @@ -235,7 +243,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deletePolicy", + "id": "def-common.deletePolicy", "type": "Function", "tags": [], "label": "deletePolicy", @@ -251,7 +259,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deletePolicy.$1", + "id": "def-common.deletePolicy.$1", "type": "Object", "tags": [], "label": "esClient", @@ -266,7 +274,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deletePolicy.$2", + "id": "def-common.deletePolicy.$2", "type": "string", "tags": [], "label": "name", @@ -285,7 +293,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteTemplate", + "id": "def-common.deleteTemplate", "type": "Function", "tags": [], "label": "deleteTemplate", @@ -301,7 +309,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteTemplate.$1", + "id": "def-common.deleteTemplate.$1", "type": "Object", "tags": [], "label": "esClient", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.deleteTemplate.$2", + "id": "def-common.deleteTemplate.$2", "type": "string", "tags": [], "label": "name", @@ -335,7 +343,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.encodeHitVersion", + "id": "def-common.encodeHitVersion", "type": "Function", "tags": [], "label": "encodeHitVersion", @@ -351,7 +359,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.encodeHitVersion.$1", + "id": "def-common.encodeHitVersion.$1", "type": "Uncategorized", "tags": [], "label": "hit", @@ -370,7 +378,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getBootstrapIndexExists", + "id": "def-common.getBootstrapIndexExists", "type": "Function", "tags": [], "label": "getBootstrapIndexExists", @@ -388,7 +396,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getBootstrapIndexExists.$1", + "id": "def-common.getBootstrapIndexExists.$1", "type": "Object", "tags": [], "label": "esClient", @@ -405,7 +413,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getBootstrapIndexExists.$2", + "id": "def-common.getBootstrapIndexExists.$2", "type": "string", "tags": [], "label": "index", @@ -426,7 +434,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexAliases", + "id": "def-common.getIndexAliases", "type": "Function", "tags": [], "label": "getIndexAliases", @@ -444,7 +452,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexAliases.$1", + "id": "def-common.getIndexAliases.$1", "type": "Object", "tags": [], "label": "{\n esClient,\n alias,\n}", @@ -455,7 +463,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexAliases.$1.esClient", + "id": "def-common.getIndexAliases.$1.esClient", "type": "Object", "tags": [], "label": "esClient", @@ -1651,7 +1659,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexAliases.$1.alias", + "id": "def-common.getIndexAliases.$1.alias", "type": "string", "tags": [], "label": "alias", @@ -1670,7 +1678,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexCount", + "id": "def-common.getIndexCount", "type": "Function", "tags": [], "label": "getIndexCount", @@ -1688,7 +1696,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexCount.$1", + "id": "def-common.getIndexCount.$1", "type": "Object", "tags": [], "label": "{\n esClient,\n index,\n}", @@ -1699,7 +1707,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexCount.$1.esClient", + "id": "def-common.getIndexCount.$1.esClient", "type": "Object", "tags": [], "label": "esClient", @@ -2895,7 +2903,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexCount.$1.index", + "id": "def-common.getIndexCount.$1.index", "type": "string", "tags": [], "label": "index", @@ -2914,7 +2922,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexExists", + "id": "def-common.getIndexExists", "type": "Function", "tags": [], "label": "getIndexExists", @@ -2930,7 +2938,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexExists.$1", + "id": "def-common.getIndexExists.$1", "type": "Object", "tags": [], "label": "esClient", @@ -2945,7 +2953,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexExists.$2", + "id": "def-common.getIndexExists.$2", "type": "string", "tags": [], "label": "index", @@ -2964,7 +2972,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexTemplateExists", + "id": "def-common.getIndexTemplateExists", "type": "Function", "tags": [], "label": "getIndexTemplateExists", @@ -2980,7 +2988,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexTemplateExists.$1", + "id": "def-common.getIndexTemplateExists.$1", "type": "Object", "tags": [], "label": "esClient", @@ -2995,7 +3003,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getIndexTemplateExists.$2", + "id": "def-common.getIndexTemplateExists.$2", "type": "string", "tags": [], "label": "template", @@ -3014,7 +3022,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getPolicyExists", + "id": "def-common.getPolicyExists", "type": "Function", "tags": [], "label": "getPolicyExists", @@ -3030,7 +3038,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getPolicyExists.$1", + "id": "def-common.getPolicyExists.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3045,7 +3053,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getPolicyExists.$2", + "id": "def-common.getPolicyExists.$2", "type": "string", "tags": [], "label": "name", @@ -3064,7 +3072,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getTemplateExists", + "id": "def-common.getTemplateExists", "type": "Function", "tags": [], "label": "getTemplateExists", @@ -3080,7 +3088,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getTemplateExists.$1", + "id": "def-common.getTemplateExists.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3095,7 +3103,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.getTemplateExists.$2", + "id": "def-common.getTemplateExists.$2", "type": "string", "tags": [], "label": "template", @@ -3114,7 +3122,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readIndex", + "id": "def-common.readIndex", "type": "Function", "tags": [], "label": "readIndex", @@ -3130,7 +3138,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readIndex.$1", + "id": "def-common.readIndex.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3145,7 +3153,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readIndex.$2", + "id": "def-common.readIndex.$2", "type": "string", "tags": [], "label": "index", @@ -3164,7 +3172,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readPrivileges", + "id": "def-common.readPrivileges", "type": "Function", "tags": [], "label": "readPrivileges", @@ -3180,7 +3188,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readPrivileges.$1", + "id": "def-common.readPrivileges.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3195,7 +3203,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.readPrivileges.$2", + "id": "def-common.readPrivileges.$2", "type": "string", "tags": [], "label": "index", @@ -3214,7 +3222,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setIndexTemplate", + "id": "def-common.setIndexTemplate", "type": "Function", "tags": [], "label": "setIndexTemplate", @@ -3230,7 +3238,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setIndexTemplate.$1", + "id": "def-common.setIndexTemplate.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3245,7 +3253,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setIndexTemplate.$2", + "id": "def-common.setIndexTemplate.$2", "type": "string", "tags": [], "label": "name", @@ -3260,7 +3268,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setIndexTemplate.$3", + "id": "def-common.setIndexTemplate.$3", "type": "Object", "tags": [], "label": "body", @@ -3279,7 +3287,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setPolicy", + "id": "def-common.setPolicy", "type": "Function", "tags": [], "label": "setPolicy", @@ -3295,7 +3303,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setPolicy.$1", + "id": "def-common.setPolicy.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3310,7 +3318,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setPolicy.$2", + "id": "def-common.setPolicy.$2", "type": "string", "tags": [], "label": "name", @@ -3325,7 +3333,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setPolicy.$3", + "id": "def-common.setPolicy.$3", "type": "Object", "tags": [], "label": "body", @@ -3344,7 +3352,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setTemplate", + "id": "def-common.setTemplate", "type": "Function", "tags": [], "label": "setTemplate", @@ -3360,7 +3368,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setTemplate.$1", + "id": "def-common.setTemplate.$1", "type": "Object", "tags": [], "label": "esClient", @@ -3375,7 +3383,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setTemplate.$2", + "id": "def-common.setTemplate.$2", "type": "string", "tags": [], "label": "name", @@ -3390,7 +3398,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.setTemplate.$3", + "id": "def-common.setTemplate.$3", "type": "Object", "tags": [], "label": "body", @@ -3409,7 +3417,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.transformError", + "id": "def-common.transformError", "type": "Function", "tags": [], "label": "transformError", @@ -3420,9 +3428,9 @@ ">) => ", { "pluginId": "@kbn/securitysolution-es-utils", - "scope": "server", + "scope": "common", "docId": "kibKbnSecuritysolutionEsUtilsPluginApi", - "section": "def-server.OutputError", + "section": "def-common.OutputError", "text": "OutputError" } ], @@ -3432,7 +3440,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.transformError.$1", + "id": "def-common.transformError.$1", "type": "CompoundType", "tags": [], "label": "err", @@ -3455,7 +3463,7 @@ "interfaces": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.OutputError", + "id": "def-common.OutputError", "type": "Interface", "tags": [], "label": "OutputError", @@ -3466,7 +3474,7 @@ "children": [ { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.OutputError.message", + "id": "def-common.OutputError.message", "type": "string", "tags": [], "label": "message", @@ -3477,7 +3485,7 @@ }, { "parentPluginId": "@kbn/securitysolution-es-utils", - "id": "def-server.OutputError.statusCode", + "id": "def-common.OutputError.statusCode", "type": "number", "tags": [], "label": "statusCode", @@ -3493,13 +3501,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index cacd15972c874..f95919f50a252 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; @@ -23,14 +23,14 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 67 | 0 | 61 | 1 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 05fb877868aa0..8311092787864 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 16eca103eaf6c..ac7de620f2dba 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index e4e8c46357286..2ef8dd92a6034 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index f2247abfe300e..77badb89b3721 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index fe3a2449c58bb..176ba0cf1c4fe 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index d121c5f3da106..6bfd56e20badc 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 35997aa24e00e..8748c2146b681 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 661e228f32051..b3cdcea9c65fc 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index f16f9817d1974..ac62dd52d18ab 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 881c75e951b1b..7ad64039976b9 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index cba97e86406ad..793fe2f6c6a3e 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index ba0209ca86a74..f9d0c539867af 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index ee30d66342a52..3904573e2058b 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.devdocs.json b/api_docs/kbn_server_http_tools.devdocs.json index e980e1105d08a..3ddecb62f3d6d 100644 --- a/api_docs/kbn_server_http_tools.devdocs.json +++ b/api_docs/kbn_server_http_tools.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig", + "id": "def-common.SslConfig", "type": "Class", "tags": [], "label": "SslConfig", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.enabled", + "id": "def-common.SslConfig.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -34,7 +42,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.redirectHttpFromPort", + "id": "def-common.SslConfig.redirectHttpFromPort", "type": "number", "tags": [], "label": "redirectHttpFromPort", @@ -48,7 +56,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.key", + "id": "def-common.SslConfig.key", "type": "string", "tags": [], "label": "key", @@ -62,7 +70,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.certificate", + "id": "def-common.SslConfig.certificate", "type": "string", "tags": [], "label": "certificate", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.certificateAuthorities", + "id": "def-common.SslConfig.certificateAuthorities", "type": "Array", "tags": [], "label": "certificateAuthorities", @@ -90,7 +98,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.keyPassphrase", + "id": "def-common.SslConfig.keyPassphrase", "type": "string", "tags": [], "label": "keyPassphrase", @@ -104,7 +112,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.requestCert", + "id": "def-common.SslConfig.requestCert", "type": "boolean", "tags": [], "label": "requestCert", @@ -115,7 +123,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.rejectUnauthorized", + "id": "def-common.SslConfig.rejectUnauthorized", "type": "boolean", "tags": [], "label": "rejectUnauthorized", @@ -126,7 +134,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.cipherSuites", + "id": "def-common.SslConfig.cipherSuites", "type": "Array", "tags": [], "label": "cipherSuites", @@ -140,7 +148,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.supportedProtocols", + "id": "def-common.SslConfig.supportedProtocols", "type": "Array", "tags": [], "label": "supportedProtocols", @@ -154,7 +162,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.SslConfig.getSecureOptions", + "id": "def-common.SslConfig.getSecureOptions", "type": "Function", "tags": [], "label": "getSecureOptions", @@ -177,7 +185,7 @@ "functions": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.createServer", + "id": "def-common.createServer", "type": "Function", "tags": [], "label": "createServer", @@ -196,7 +204,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.createServer.$1", + "id": "def-common.createServer.$1", "type": "Object", "tags": [], "label": "serverOptions", @@ -211,7 +219,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.createServer.$2", + "id": "def-common.createServer.$2", "type": "Object", "tags": [], "label": "listenerOptions", @@ -230,7 +238,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.defaultValidationErrorHandler", + "id": "def-common.defaultValidationErrorHandler", "type": "Function", "tags": [], "label": "defaultValidationErrorHandler", @@ -252,7 +260,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.defaultValidationErrorHandler.$1", + "id": "def-common.defaultValidationErrorHandler.$1", "type": "Object", "tags": [], "label": "request", @@ -267,7 +275,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.defaultValidationErrorHandler.$2", + "id": "def-common.defaultValidationErrorHandler.$2", "type": "Object", "tags": [], "label": "h", @@ -282,7 +290,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.defaultValidationErrorHandler.$3", + "id": "def-common.defaultValidationErrorHandler.$3", "type": "Object", "tags": [], "label": "err", @@ -301,7 +309,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getListenerOptions", + "id": "def-common.getListenerOptions", "type": "Function", "tags": [], "label": "getListenerOptions", @@ -310,9 +318,9 @@ "(config: ", { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.IHttpConfig", + "section": "def-common.IHttpConfig", "text": "IHttpConfig" }, ") => ", @@ -324,7 +332,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getListenerOptions.$1", + "id": "def-common.getListenerOptions.$1", "type": "Object", "tags": [], "label": "config", @@ -332,9 +340,9 @@ "signature": [ { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.IHttpConfig", + "section": "def-common.IHttpConfig", "text": "IHttpConfig" } ], @@ -349,7 +357,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getRequestId", + "id": "def-common.getRequestId", "type": "Function", "tags": [], "label": "getRequestId", @@ -365,7 +373,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getRequestId.$1", + "id": "def-common.getRequestId.$1", "type": "Object", "tags": [], "label": "request", @@ -380,7 +388,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getRequestId.$2", + "id": "def-common.getRequestId.$2", "type": "Object", "tags": [], "label": "{ allowFromAnyIp, ipAllowlist }", @@ -391,7 +399,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getRequestId.$2.allowFromAnyIp", + "id": "def-common.getRequestId.$2.allowFromAnyIp", "type": "boolean", "tags": [], "label": "allowFromAnyIp", @@ -402,7 +410,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getRequestId.$2.ipAllowlist", + "id": "def-common.getRequestId.$2.ipAllowlist", "type": "Array", "tags": [], "label": "ipAllowlist", @@ -422,7 +430,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getServerOptions", + "id": "def-common.getServerOptions", "type": "Function", "tags": [], "label": "getServerOptions", @@ -433,9 +441,9 @@ "(config: ", { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.IHttpConfig", + "section": "def-common.IHttpConfig", "text": "IHttpConfig" }, ", { configureTLS = true }: { configureTLS?: boolean | undefined; }) => ", @@ -447,7 +455,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getServerOptions.$1", + "id": "def-common.getServerOptions.$1", "type": "Object", "tags": [], "label": "config", @@ -455,9 +463,9 @@ "signature": [ { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.IHttpConfig", + "section": "def-common.IHttpConfig", "text": "IHttpConfig" } ], @@ -468,7 +476,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.getServerOptions.$2", + "id": "def-common.getServerOptions.$2", "type": "Object", "tags": [], "label": "{ configureTLS = true }", @@ -489,7 +497,7 @@ "interfaces": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ICorsConfig", + "id": "def-common.ICorsConfig", "type": "Interface", "tags": [], "label": "ICorsConfig", @@ -500,7 +508,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ICorsConfig.enabled", + "id": "def-common.ICorsConfig.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -511,7 +519,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ICorsConfig.allowCredentials", + "id": "def-common.ICorsConfig.allowCredentials", "type": "boolean", "tags": [], "label": "allowCredentials", @@ -522,7 +530,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ICorsConfig.allowOrigin", + "id": "def-common.ICorsConfig.allowOrigin", "type": "Array", "tags": [], "label": "allowOrigin", @@ -539,7 +547,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig", + "id": "def-common.IHttpConfig", "type": "Interface", "tags": [], "label": "IHttpConfig", @@ -550,7 +558,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.host", + "id": "def-common.IHttpConfig.host", "type": "string", "tags": [], "label": "host", @@ -561,7 +569,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.port", + "id": "def-common.IHttpConfig.port", "type": "number", "tags": [], "label": "port", @@ -572,7 +580,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.maxPayload", + "id": "def-common.IHttpConfig.maxPayload", "type": "Object", "tags": [], "label": "maxPayload", @@ -580,9 +588,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" } ], @@ -592,7 +600,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.keepaliveTimeout", + "id": "def-common.IHttpConfig.keepaliveTimeout", "type": "number", "tags": [], "label": "keepaliveTimeout", @@ -603,7 +611,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.socketTimeout", + "id": "def-common.IHttpConfig.socketTimeout", "type": "number", "tags": [], "label": "socketTimeout", @@ -614,7 +622,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.cors", + "id": "def-common.IHttpConfig.cors", "type": "Object", "tags": [], "label": "cors", @@ -622,9 +630,9 @@ "signature": [ { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.ICorsConfig", + "section": "def-common.ICorsConfig", "text": "ICorsConfig" } ], @@ -634,7 +642,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.ssl", + "id": "def-common.IHttpConfig.ssl", "type": "Object", "tags": [], "label": "ssl", @@ -642,9 +650,9 @@ "signature": [ { "pluginId": "@kbn/server-http-tools", - "scope": "server", + "scope": "common", "docId": "kibKbnServerHttpToolsPluginApi", - "section": "def-server.ISslConfig", + "section": "def-common.ISslConfig", "text": "ISslConfig" } ], @@ -654,7 +662,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.IHttpConfig.shutdownTimeout", + "id": "def-common.IHttpConfig.shutdownTimeout", "type": "Object", "tags": [], "label": "shutdownTimeout", @@ -671,7 +679,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig", + "id": "def-common.ISslConfig", "type": "Interface", "tags": [], "label": "ISslConfig", @@ -682,7 +690,7 @@ "children": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.enabled", + "id": "def-common.ISslConfig.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -693,7 +701,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.key", + "id": "def-common.ISslConfig.key", "type": "string", "tags": [], "label": "key", @@ -707,7 +715,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.certificate", + "id": "def-common.ISslConfig.certificate", "type": "string", "tags": [], "label": "certificate", @@ -721,7 +729,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.certificateAuthorities", + "id": "def-common.ISslConfig.certificateAuthorities", "type": "Array", "tags": [], "label": "certificateAuthorities", @@ -735,7 +743,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.cipherSuites", + "id": "def-common.ISslConfig.cipherSuites", "type": "Array", "tags": [], "label": "cipherSuites", @@ -749,7 +757,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.keyPassphrase", + "id": "def-common.ISslConfig.keyPassphrase", "type": "string", "tags": [], "label": "keyPassphrase", @@ -763,7 +771,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.requestCert", + "id": "def-common.ISslConfig.requestCert", "type": "CompoundType", "tags": [], "label": "requestCert", @@ -777,7 +785,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.rejectUnauthorized", + "id": "def-common.ISslConfig.rejectUnauthorized", "type": "CompoundType", "tags": [], "label": "rejectUnauthorized", @@ -791,7 +799,7 @@ }, { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.ISslConfig.getSecureOptions", + "id": "def-common.ISslConfig.getSecureOptions", "type": "Function", "tags": [], "label": "getSecureOptions", @@ -814,7 +822,7 @@ "objects": [ { "parentPluginId": "@kbn/server-http-tools", - "id": "def-server.sslSchema", + "id": "def-common.sslSchema", "type": "Object", "tags": [], "label": "sslSchema", @@ -822,129 +830,129 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ certificate: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; certificateAuthorities: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; cipherSuites: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; enabled: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; key: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; keyPassphrase: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; keystore: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ path: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; password: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; truststore: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ path: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; password: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>; redirectHttpFromPort: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; supportedProtocols: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; clientAuthentication: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<\"optional\" | \"none\" | \"required\">; }>" @@ -955,13 +963,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 3bf57c7abd2a1..96784a9dd35c9 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 53 | 0 | 50 | 1 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + diff --git a/api_docs/kbn_server_route_repository.devdocs.json b/api_docs/kbn_server_route_repository.devdocs.json index c97218a86a7ab..650e946e68b7f 100644 --- a/api_docs/kbn_server_route_repository.devdocs.json +++ b/api_docs/kbn_server_route_repository.devdocs.json @@ -1,27 +1,11 @@ { "id": "@kbn/server-route-repository", "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.createServerRouteFactory", + "id": "def-public.createServerRouteFactory", "type": "Function", "tags": [], "label": "createServerRouteFactory", @@ -30,25 +14,25 @@ "() => (route: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, ") => Record>" @@ -62,7 +46,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.decodeRequestParams", + "id": "def-public.decodeRequestParams", "type": "Function", "tags": [], "label": "decodeRequestParams", @@ -78,7 +62,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.decodeRequestParams.$1", + "id": "def-public.decodeRequestParams.$1", "type": "Object", "tags": [], "label": "params", @@ -93,7 +77,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.decodeRequestParams.$2", + "id": "def-public.decodeRequestParams.$2", "type": "Uncategorized", "tags": [], "label": "paramsRt", @@ -112,7 +96,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.formatRequest", + "id": "def-public.formatRequest", "type": "Function", "tags": [], "label": "formatRequest", @@ -126,7 +110,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.formatRequest.$1", + "id": "def-public.formatRequest.$1", "type": "string", "tags": [], "label": "endpoint", @@ -141,7 +125,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.formatRequest.$2", + "id": "def-public.formatRequest.$2", "type": "Object", "tags": [], "label": "pathParams", @@ -160,7 +144,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.parseEndpoint", + "id": "def-public.parseEndpoint", "type": "Function", "tags": [], "label": "parseEndpoint", @@ -174,7 +158,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.parseEndpoint.$1", + "id": "def-public.parseEndpoint.$1", "type": "string", "tags": [], "label": "endpoint", @@ -195,7 +179,7 @@ "interfaces": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.RouteState", + "id": "def-public.RouteState", "type": "Interface", "tags": [], "label": "RouteState", @@ -206,7 +190,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.RouteState.Unnamed", + "id": "def-public.RouteState.Unnamed", "type": "IndexSignature", "tags": [], "label": "[endpoint: string]: any", @@ -226,7 +210,7 @@ "misc": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.ClientRequestParamsOf", + "id": "def-public.ClientRequestParamsOf", "type": "Type", "tags": [], "label": "ClientRequestParamsOf", @@ -235,9 +219,9 @@ "TServerRouteRepository[TEndpoint] extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, " ? TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.RouteParamsRT", + "section": "def-public.RouteParamsRT", "text": "RouteParamsRT" }, " ? ClientRequestParamsOfType : {} : never" @@ -259,7 +243,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.DecodedRequestParamsOf", + "id": "def-public.DecodedRequestParamsOf", "type": "Type", "tags": [], "label": "DecodedRequestParamsOf", @@ -268,9 +252,9 @@ "TServerRouteRepository[TEndpoint] extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, " ? TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.RouteParamsRT", + "section": "def-public.RouteParamsRT", "text": "RouteParamsRT" }, " ? DecodedRequestParamsOfType : {} : never" @@ -292,7 +276,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.EndpointOf", + "id": "def-public.EndpointOf", "type": "Type", "tags": [], "label": "EndpointOf", @@ -307,7 +291,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.ReturnOf", + "id": "def-public.ReturnOf", "type": "Type", "tags": [], "label": "ReturnOf", @@ -316,9 +300,9 @@ "TServerRouteRepository[TEndpoint] extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "(endpoint: TEndpoint, ...args: MaybeOptionalArgs<", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ClientRequestParamsOf", + "section": "def-public.ClientRequestParamsOf", "text": "ClientRequestParamsOf" }, " & TAdditionalClientOptions>) => Promise<", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ReturnOf", + "section": "def-public.ReturnOf", "text": "ReturnOf" }, ">" @@ -384,7 +368,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.RouteRepositoryClient.$1", + "id": "def-public.RouteRepositoryClient.$1", "type": "Uncategorized", "tags": [], "label": "endpoint", @@ -398,7 +382,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.RouteRepositoryClient.$2", + "id": "def-public.RouteRepositoryClient.$2", "type": "Uncategorized", "tags": [], "label": "args", @@ -408,25 +392,25 @@ "<", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ClientRequestParamsOf", + "section": "def-public.ClientRequestParamsOf", "text": "ClientRequestParamsOf" }, " & TAdditionalClientOptions> extends never ? [] | [", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ClientRequestParamsOf", + "section": "def-public.ClientRequestParamsOf", "text": "ClientRequestParamsOf" }, " & TAdditionalClientOptions] : [", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ClientRequestParamsOf", + "section": "def-public.ClientRequestParamsOf", "text": "ClientRequestParamsOf" }, " & TAdditionalClientOptions]" @@ -440,7 +424,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.ServerRoute", + "id": "def-public.ServerRoute", "type": "Type", "tags": [], "label": "ServerRoute", @@ -449,9 +433,9 @@ "{ endpoint: TEndpoint; params?: TRouteParamsRT | undefined; handler: ({}: TRouteHandlerResources & (TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.RouteParamsRT", + "section": "def-public.RouteParamsRT", "text": "RouteParamsRT" }, " ? DecodedRequestParamsOfType : {})) => Promise; } & TRouteCreateOptions" @@ -463,7 +447,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.ServerRouteRepository", + "id": "def-public.ServerRouteRepository", "type": "Type", "tags": [], "label": "ServerRouteRepository", @@ -472,17 +456,17 @@ "{ [x: string]: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, ">; }" @@ -496,7 +480,7 @@ "objects": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.routeValidationObject", + "id": "def-public.routeValidationObject", "type": "Object", "tags": [], "label": "routeValidationObject", @@ -507,7 +491,7 @@ "children": [ { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.routeValidationObject.body", + "id": "def-public.routeValidationObject.body", "type": "Object", "tags": [], "label": "body", @@ -517,9 +501,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, " | null>" @@ -530,7 +514,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.routeValidationObject.params", + "id": "def-public.routeValidationObject.params", "type": "Object", "tags": [], "label": "params", @@ -538,9 +522,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{}>" @@ -551,7 +535,7 @@ }, { "parentPluginId": "@kbn/server-route-repository", - "id": "def-common.routeValidationObject.query", + "id": "def-public.routeValidationObject.query", "type": "Object", "tags": [], "label": "query", @@ -559,9 +543,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{}>" @@ -574,5 +558,21 @@ "initialIsOpen": false } ] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 7fc5f9b8b0656..6ffd814a801e8 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; @@ -23,17 +23,17 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 25 | 0 | 24 | 1 | -## Common +## Client ### Objects - + ### Functions - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_shared_svg.devdocs.json b/api_docs/kbn_shared_svg.devdocs.json index 39ec35c1a30a4..9a8e4e6d62ef9 100644 --- a/api_docs/kbn_shared_svg.devdocs.json +++ b/api_docs/kbn_shared_svg.devdocs.json @@ -29,7 +29,7 @@ "tags": [], "label": "content", "description": [], - "path": "node_modules/@kbn/ambient-ui-types/index.d.ts", + "path": "packages/kbn-ambient-ui-types/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -41,7 +41,7 @@ "tags": [], "label": "content", "description": [], - "path": "node_modules/@kbn/ambient-ui-types/index.d.ts", + "path": "packages/kbn-ambient-ui-types/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 352c690da1ecc..2ca9e3a24346a 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2 | 0 | 0 | 0 | +| 2 | 0 | 2 | 0 | ## Common diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 6f70900870c83..a068857319cb3 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index af11ace25ff17..b819e612b164e 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 9f0fe7827b43a..63ab62a2cad15 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 03dbf9e71359f..673dd28a872ff 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 955e23bc81c13..8d4cfa8ec3904 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 37c3a148430f8..e46e123cb9b61 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 2f048dfdf5152..9a1ce76f350d1 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 469fa10b2a19f..bed8fa55ea820 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 886fd0a1cee12..0c9a2bbd9333a 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index afa896d6d519b..b9fd59ba697d5 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.devdocs.json b/api_docs/kbn_shared_ux_file_mocks.devdocs.json index 67aaba2cc7ed1..ecdb910452dba 100644 --- a/api_docs/kbn_shared_ux_file_mocks.devdocs.json +++ b/api_docs/kbn_shared_ux_file_mocks.devdocs.json @@ -30,9 +30,9 @@ "() => ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "<", diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index ebedf4838e60c..a9cfd399e8f32 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 9d4982a8900a9..f0d494b0a3112 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index aa002d94606b8..3915f35e74147 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index de322c8db6213..d8d658f687890 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index c029fd3c99292..5713155fbae13 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index ae02936511c12..99eb870cd46db 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index d2ebd8a375f4d..be9ca0ecbf780 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index bc647f1992a1d..222a8ab641754 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index afbf40e0d8d6c..7e11590cc99d9 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index b168624e2a3ed..dd7197f6299b4 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 8d5780843be8a..4f6e7532977fe 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 89dccd3d5c3a4..ca8ab5916b5de 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.devdocs.json b/api_docs/kbn_shared_ux_page_kibana_template.devdocs.json index f3487bed459d8..f10c13f2a2b58 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.devdocs.json +++ b/api_docs/kbn_shared_ux_page_kibana_template.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplate", + "id": "def-common.KibanaPageTemplate", "type": "Function", "tags": [], "label": "KibanaPageTemplate", @@ -42,7 +50,7 @@ "children": [ { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplate.$1", + "id": "def-common.KibanaPageTemplate.$1", "type": "CompoundType", "tags": [], "label": "props", @@ -56,7 +64,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplate.$2", + "id": "def-common.KibanaPageTemplate.$2", "type": "Any", "tags": [], "label": "context", @@ -73,7 +81,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateKibanaProvider", + "id": "def-common.KibanaPageTemplateKibanaProvider", "type": "Function", "tags": [], "label": "KibanaPageTemplateKibanaProvider", @@ -91,7 +99,7 @@ "children": [ { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateKibanaProvider.$1", + "id": "def-common.KibanaPageTemplateKibanaProvider.$1", "type": "CompoundType", "tags": [], "label": "{\n children,\n ...dependencies\n}", @@ -112,7 +120,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateProvider", + "id": "def-common.KibanaPageTemplateProvider", "type": "Function", "tags": [], "label": "KibanaPageTemplateProvider", @@ -130,7 +138,7 @@ "children": [ { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateProvider.$1", + "id": "def-common.KibanaPageTemplateProvider.$1", "type": "CompoundType", "tags": [], "label": "{\n children,\n ...services\n}", @@ -155,7 +163,7 @@ "misc": [ { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateKibanaDependencies", + "id": "def-common.KibanaPageTemplateKibanaDependencies", "type": "Type", "tags": [], "label": "KibanaPageTemplateKibanaDependencies", @@ -172,7 +180,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateProps", + "id": "def-common.KibanaPageTemplateProps", "type": "Type", "tags": [], "label": "KibanaPageTemplateProps", @@ -214,7 +222,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.KibanaPageTemplateServices", + "id": "def-common.KibanaPageTemplateServices", "type": "Type", "tags": [], "label": "KibanaPageTemplateServices", @@ -231,7 +239,7 @@ }, { "parentPluginId": "@kbn/shared-ux-page-kibana-template", - "id": "def-server.NoDataConfig", + "id": "def-common.NoDataConfig", "type": "Type", "tags": [], "label": "NoDataConfig", @@ -246,13 +254,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 123398dcebf77..19b40a7902df6 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 11 | 0 | 6 | 0 | -## Server +## Common ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 7c0aa85befefb..4fb019e469c4c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 479ef88de3e94..a2cae7542345c 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 9148c0d2070c1..644374168c44a 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 51504d40fd54c..61e86737d7d70 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 3e67d016415cd..f8bb2f633137d 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 6cd68a4572480..136b1c121e58c 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index ca5be56314dfe..2652798598f01 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 39c4f8a413ec2..2c169936ea675 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 91b4de2499253..6a53fda3129d5 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 615a45faddab8..bd475c9817650 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 976146f903b66..b8d17a36429c0 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index a04ea376180ed..c3904063dab85 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 12166e740a5dd..d28a25ce9b93b 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index a23660325f7ae..909e16e398133 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.devdocs.json b/api_docs/kbn_slo_schema.devdocs.json new file mode 100644 index 0000000000000..dc6a3660a4d79 --- /dev/null +++ b/api_docs/kbn_slo_schema.devdocs.json @@ -0,0 +1,3510 @@ +{ + "id": "@kbn/slo-schema", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration", + "type": "Class", + "tags": [], + "label": "Duration", + "description": [], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.Unnamed.$1", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.Unnamed.$2", + "type": "Enum", + "tags": [], + "label": "unit", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.DurationUnit", + "text": "DurationUnit" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.add", + "type": "Function", + "tags": [], + "label": "add", + "description": [], + "signature": [ + "(other: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ") => ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.add.$1", + "type": "Object", + "tags": [], + "label": "other", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isShorterThan", + "type": "Function", + "tags": [], + "label": "isShorterThan", + "description": [], + "signature": [ + "(other: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ") => boolean" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isShorterThan.$1", + "type": "Object", + "tags": [], + "label": "other", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isLongerOrEqualThan", + "type": "Function", + "tags": [], + "label": "isLongerOrEqualThan", + "description": [], + "signature": [ + "(other: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ") => boolean" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isLongerOrEqualThan.$1", + "type": "Object", + "tags": [], + "label": "other", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.format", + "type": "Function", + "tags": [], + "label": "format", + "description": [], + "signature": [ + "() => string" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.toDurationUnit", + "type": "Function", + "tags": [], + "label": "toDurationUnit", + "description": [], + "signature": [ + "(unit: string) => ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.DurationUnit", + "text": "DurationUnit" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.toDurationUnit.$1", + "type": "string", + "tags": [], + "label": "unit", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.toMomentUnitOfTime", + "type": "Function", + "tags": [], + "label": "toMomentUnitOfTime", + "description": [], + "signature": [ + "(unit: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.DurationUnit", + "text": "DurationUnit" + }, + ") => moment.unitOfTime.Diff" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.toMomentUnitOfTime.$1", + "type": "Enum", + "tags": [], + "label": "unit", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.DurationUnit", + "text": "DurationUnit" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.DurationUnit", + "type": "Enum", + "tags": [], + "label": "DurationUnit", + "description": [], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.ALL_VALUE", + "type": "string", + "tags": [], + "label": "ALL_VALUE", + "description": [], + "signature": [ + "\"*\"" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.BudgetingMethod", + "type": "Type", + "tags": [], + "label": "BudgetingMethod", + "description": [], + "signature": [ + "\"occurrences\" | \"timeslices\"" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.CreateSLOParams", + "type": "Type", + "tags": [], + "label": "CreateSLOParams", + "description": [], + "signature": [ + "{ name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; isRolling: boolean; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; calendar: { startTime: Date; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }; } & { settings?: { timestampField?: string | undefined; syncDelay?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; frequency?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; } | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.CreateSLOResponse", + "type": "Type", + "tags": [], + "label": "CreateSLOResponse", + "description": [], + "signature": [ + "{ id: string; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.FindSLOParams", + "type": "Type", + "tags": [], + "label": "FindSLOParams", + "description": [], + "signature": [ + "{ name?: string | undefined; indicatorTypes?: string[] | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"name\" | \"indicatorType\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.FindSLOResponse", + "type": "Type", + "tags": [], + "label": "FindSLOResponse", + "description": [], + "signature": [ + "{ page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.GetSLOResponse", + "type": "Type", + "tags": [], + "label": "GetSLOResponse", + "description": [], + "signature": [ + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.SLOResponse", + "type": "Type", + "tags": [], + "label": "SLOResponse", + "description": [], + "signature": [ + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.SLOWithSummaryResponse", + "type": "Type", + "tags": [], + "label": "SLOWithSummaryResponse", + "description": [], + "signature": [ + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.UpdateSLOParams", + "type": "Type", + "tags": [], + "label": "UpdateSLOParams", + "description": [], + "signature": [ + "{ name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; } | undefined; timeWindow?: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; isRolling: boolean; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; calendar: { startTime: Date; }; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }) | undefined; settings?: { timestampField: string; syncDelay: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; frequency: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; } | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.UpdateSLOResponse", + "type": "Type", + "tags": [], + "label": "UpdateSLOResponse", + "description": [], + "signature": [ + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.allOrAnyString", + "type": "Object", + "tags": [], + "label": "allOrAnyString", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.apmTransactionDurationIndicatorSchema", + "type": "Object", + "tags": [], + "label": "apmTransactionDurationIndicatorSchema", + "description": [], + "signature": [ + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.apmTransactionDurationIndicatorTypeSchema", + "type": "Object", + "tags": [], + "label": "apmTransactionDurationIndicatorTypeSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"sli.apm.transactionDuration\">" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.apmTransactionErrorRateIndicatorSchema", + "type": "Object", + "tags": [], + "label": "apmTransactionErrorRateIndicatorSchema", + "description": [], + "signature": [ + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.apmTransactionErrorRateIndicatorTypeSchema", + "type": "Object", + "tags": [], + "label": "apmTransactionErrorRateIndicatorTypeSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"sli.apm.transactionErrorRate\">" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.budgetingMethodSchema", + "type": "Object", + "tags": [], + "label": "budgetingMethodSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.calendarAlignedTimeWindowSchema", + "type": "Object", + "tags": [], + "label": "calendarAlignedTimeWindowSchema", + "description": [], + "signature": [ + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.createSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "createSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; }>, ", + "PartialC", + "<{ settings: ", + "PartialC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; }>]>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.dateRangeSchema", + "type": "Object", + "tags": [], + "label": "dateRangeSchema", + "description": [], + "signature": [ + "TypeC", + "<{ from: ", + "Type", + "; to: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.dateType", + "type": "Object", + "tags": [], + "label": "dateType", + "description": [], + "signature": [ + "Type", + "" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.deleteSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "deleteSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.durationType", + "type": "Object", + "tags": [], + "label": "durationType", + "description": [], + "signature": [ + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>" + ], + "path": "packages/kbn-slo-schema/src/schema/duration.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.errorBudgetSchema", + "type": "Object", + "tags": [], + "label": "errorBudgetSchema", + "description": [], + "signature": [ + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.findSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "findSLOParamsSchema", + "description": [], + "signature": [ + "PartialC", + "<{ query: ", + "PartialC", + "<{ name: ", + "StringC", + "; indicatorTypes: ", + "Type", + "; page: ", + "StringC", + "; perPage: ", + "StringC", + "; sortBy: ", + "UnionC", + "<[", + "LiteralC", + "<\"name\">, ", + "LiteralC", + "<\"indicatorType\">]>; sortDirection: ", + "UnionC", + "<[", + "LiteralC", + "<\"asc\">, ", + "LiteralC", + "<\"desc\">]>; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.findSLOResponseSchema", + "type": "Object", + "tags": [], + "label": "findSLOResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ page: ", + "NumberC", + "; perPage: ", + "NumberC", + "; total: ", + "NumberC", + "; results: ", + "ArrayC", + "<", + "IntersectionC", + "<[", + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; revision: ", + "NumberC", + "; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>, ", + "TypeC", + "<{ summary: ", + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>; }>]>>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.getSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "getSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.getSLOResponseSchema", + "type": "Object", + "tags": [], + "label": "getSLOResponseSchema", + "description": [], + "signature": [ + "IntersectionC", + "<[", + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; revision: ", + "NumberC", + "; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>, ", + "TypeC", + "<{ summary: ", + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.indicatorDataSchema", + "type": "Object", + "tags": [], + "label": "indicatorDataSchema", + "description": [], + "signature": [ + "TypeC", + "<{ dateRange: ", + "TypeC", + "<{ from: ", + "Type", + "; to: ", + "Type", + "; }>; good: ", + "NumberC", + "; total: ", + "NumberC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.indicatorSchema", + "type": "Object", + "tags": [], + "label": "indicatorSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.indicatorTypesArraySchema", + "type": "Object", + "tags": [], + "label": "indicatorTypesArraySchema", + "description": [], + "signature": [ + "Type", + "" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.indicatorTypesSchema", + "type": "Object", + "tags": [], + "label": "indicatorTypesSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"sli.apm.transactionDuration\">, ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">, ", + "LiteralC", + "<\"sli.kql.custom\">]>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.kqlCustomIndicatorSchema", + "type": "Object", + "tags": [], + "label": "kqlCustomIndicatorSchema", + "description": [], + "signature": [ + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.kqlCustomIndicatorTypeSchema", + "type": "Object", + "tags": [], + "label": "kqlCustomIndicatorTypeSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"sli.kql.custom\">" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.objectiveSchema", + "type": "Object", + "tags": [], + "label": "objectiveSchema", + "description": [], + "signature": [ + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.occurrencesBudgetingMethodSchema", + "type": "Object", + "tags": [], + "label": "occurrencesBudgetingMethodSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"occurrences\">" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.optionalSettingsSchema", + "type": "Object", + "tags": [], + "label": "optionalSettingsSchema", + "description": [], + "signature": [ + "PartialC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.rollingTimeWindowSchema", + "type": "Object", + "tags": [], + "label": "rollingTimeWindowSchema", + "description": [], + "signature": [ + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.settingsSchema", + "type": "Object", + "tags": [], + "label": "settingsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.sloResponseSchema", + "type": "Object", + "tags": [], + "label": "sloResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; revision: ", + "NumberC", + "; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.sloSchema", + "type": "Object", + "tags": [], + "label": "sloSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; revision: ", + "NumberC", + "; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.sloWithSummaryResponseSchema", + "type": "Object", + "tags": [], + "label": "sloWithSummaryResponseSchema", + "description": [], + "signature": [ + "IntersectionC", + "<[", + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; revision: ", + "NumberC", + "; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>, ", + "TypeC", + "<{ summary: ", + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.sloWithSummarySchema", + "type": "Object", + "tags": [], + "label": "sloWithSummarySchema", + "description": [], + "signature": [ + "IntersectionC", + "<[", + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; revision: ", + "NumberC", + "; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>, ", + "TypeC", + "<{ summary: ", + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.statusSchema", + "type": "Object", + "tags": [], + "label": "statusSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.summarySchema", + "type": "Object", + "tags": [], + "label": "summarySchema", + "description": [], + "signature": [ + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.timeslicesBudgetingMethodSchema", + "type": "Object", + "tags": [], + "label": "timeslicesBudgetingMethodSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"timeslices\">" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.timeWindowSchema", + "type": "Object", + "tags": [], + "label": "timeWindowSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>" + ], + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.updateSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "updateSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; body: ", + "PartialC", + "<{ name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.updateSLOResponseSchema", + "type": "Object", + "tags": [], + "label": "updateSLOResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; 'threshold.us': ", + "NumberC", + "; }>, ", + "PartialC", + "<{ index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; }>, ", + "PartialC", + "<{ goodStatusCodes: ", + "ArrayC", + "<", + "UnionC", + "<[", + "LiteralC", + "<\"2xx\">, ", + "LiteralC", + "<\"3xx\">, ", + "LiteralC", + "<\"4xx\">, ", + "LiteralC", + "<\"5xx\">]>>; index: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", + "LiteralC", + "; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; calendar: ", + "TypeC", + "<{ startTime: ", + "Type", + "; }>; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; revision: ", + "NumberC", + "; settings: ", + "TypeC", + "<{ timestampField: ", + "StringC", + "; syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx new file mode 100644 index 0000000000000..a5986452b0568 --- /dev/null +++ b/api_docs/kbn_slo_schema.mdx @@ -0,0 +1,42 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnSloSchemaPluginApi +slug: /kibana-dev-docs/api/kbn-slo-schema +title: "@kbn/slo-schema" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/slo-schema plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] +--- +import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; + +SLO io-ts schema definition and common models shared between public and server. + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 65 | 0 | 65 | 0 | + +## Common + +### Objects + + +### Functions + + +### Classes + + +### Enums + + +### Consts, variables and types + + diff --git a/api_docs/kbn_some_dev_log.devdocs.json b/api_docs/kbn_some_dev_log.devdocs.json index 6c0972ecabb5b..aa82f7d6bcb16 100644 --- a/api_docs/kbn_some_dev_log.devdocs.json +++ b/api_docs/kbn_some_dev_log.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog", + "id": "def-common.SomeDevLog", "type": "Interface", "tags": [], "label": "SomeDevLog", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.info", + "id": "def-common.SomeDevLog.info", "type": "Function", "tags": [], "label": "info", @@ -43,7 +51,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.info.$1", + "id": "def-common.SomeDevLog.info.$1", "type": "string", "tags": [], "label": "msg", @@ -58,7 +66,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.info.$2", + "id": "def-common.SomeDevLog.info.$2", "type": "Array", "tags": [], "label": "rest", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.warning", + "id": "def-common.SomeDevLog.warning", "type": "Function", "tags": [], "label": "warning", @@ -92,7 +100,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.warning.$1", + "id": "def-common.SomeDevLog.warning.$1", "type": "string", "tags": [], "label": "msg", @@ -107,7 +115,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.warning.$2", + "id": "def-common.SomeDevLog.warning.$2", "type": "Array", "tags": [], "label": "rest", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.error", + "id": "def-common.SomeDevLog.error", "type": "Function", "tags": [], "label": "error", @@ -141,7 +149,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.error.$1", + "id": "def-common.SomeDevLog.error.$1", "type": "string", "tags": [], "label": "msg", @@ -156,7 +164,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.error.$2", + "id": "def-common.SomeDevLog.error.$2", "type": "Array", "tags": [], "label": "rest", @@ -174,7 +182,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.success", + "id": "def-common.SomeDevLog.success", "type": "Function", "tags": [], "label": "success", @@ -190,7 +198,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.success.$1", + "id": "def-common.SomeDevLog.success.$1", "type": "string", "tags": [], "label": "msg", @@ -205,7 +213,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.success.$2", + "id": "def-common.SomeDevLog.success.$2", "type": "Array", "tags": [], "label": "rest", @@ -223,7 +231,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.debug", + "id": "def-common.SomeDevLog.debug", "type": "Function", "tags": [], "label": "debug", @@ -239,7 +247,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.debug.$1", + "id": "def-common.SomeDevLog.debug.$1", "type": "string", "tags": [], "label": "msg", @@ -254,7 +262,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.debug.$2", + "id": "def-common.SomeDevLog.debug.$2", "type": "Array", "tags": [], "label": "rest", @@ -272,7 +280,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.verbose", + "id": "def-common.SomeDevLog.verbose", "type": "Function", "tags": [], "label": "verbose", @@ -288,7 +296,7 @@ "children": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.verbose.$1", + "id": "def-common.SomeDevLog.verbose.$1", "type": "string", "tags": [], "label": "msg", @@ -303,7 +311,7 @@ }, { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeDevLog.verbose.$2", + "id": "def-common.SomeDevLog.verbose.$2", "type": "Array", "tags": [], "label": "rest", @@ -327,7 +335,7 @@ "misc": [ { "parentPluginId": "@kbn/some-dev-log", - "id": "def-server.SomeLogLevel", + "id": "def-common.SomeLogLevel", "type": "Type", "tags": [], "label": "SomeLogLevel", @@ -344,13 +352,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 4e2d5d3e27aff..9490633dfc481 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 20 | 0 | 12 | 0 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_sort_package_json.devdocs.json b/api_docs/kbn_sort_package_json.devdocs.json index 13d828ab69ae0..29cc3db1cc8a0 100644 --- a/api_docs/kbn_sort_package_json.devdocs.json +++ b/api_docs/kbn_sort_package_json.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/sort-package-json", - "id": "def-server.sortPackageJson", + "id": "def-common.sortPackageJson", "type": "Function", "tags": [], "label": "sortPackageJson", @@ -27,7 +35,7 @@ "children": [ { "parentPluginId": "@kbn/sort-package-json", - "id": "def-server.sortPackageJson.$1", + "id": "def-common.sortPackageJson.$1", "type": "string", "tags": [], "label": "json", @@ -49,13 +57,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_sort_package_json.mdx b/api_docs/kbn_sort_package_json.mdx index aea334a08ec61..ad618e638afbc 100644 --- a/api_docs/kbn_sort_package_json.mdx +++ b/api_docs/kbn_sort_package_json.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-package-json title: "@kbn/sort-package-json" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-package-json plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-package-json'] --- import kbnSortPackageJsonObj from './kbn_sort_package_json.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 2 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_std.devdocs.json b/api_docs/kbn_std.devdocs.json index 730a237d2c47b..65acb05e4f8b1 100644 --- a/api_docs/kbn_std.devdocs.json +++ b/api_docs/kbn_std.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/std", - "id": "def-server.Semaphore", + "id": "def-common.Semaphore", "type": "Class", "tags": [], "label": "Semaphore", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.Semaphore.Unnamed", + "id": "def-common.Semaphore.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -37,7 +45,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.Semaphore.Unnamed.$1", + "id": "def-common.Semaphore.Unnamed.$1", "type": "number", "tags": [], "label": "capacity", @@ -55,7 +63,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.Semaphore.acquire", + "id": "def-common.Semaphore.acquire", "type": "Function", "tags": [], "label": "acquire", @@ -73,7 +81,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.Semaphore.release", + "id": "def-common.Semaphore.release", "type": "Function", "tags": [], "label": "release", @@ -94,7 +102,7 @@ "functions": [ { "parentPluginId": "@kbn/std", - "id": "def-server.assertNever", + "id": "def-common.assertNever", "type": "Function", "tags": [], "label": "assertNever", @@ -110,7 +118,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.assertNever.$1", + "id": "def-common.assertNever.$1", "type": "Uncategorized", "tags": [], "label": "x", @@ -129,7 +137,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEach", + "id": "def-common.asyncForEach", "type": "Function", "tags": [], "label": "asyncForEach", @@ -149,7 +157,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEach.$1", + "id": "def-common.asyncForEach.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -167,7 +175,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEach.$2", + "id": "def-common.asyncForEach.$2", "type": "Function", "tags": [], "label": "fn", @@ -189,7 +197,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEachWithLimit", + "id": "def-common.asyncForEachWithLimit", "type": "Function", "tags": [], "label": "asyncForEachWithLimit", @@ -209,7 +217,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEachWithLimit.$1", + "id": "def-common.asyncForEachWithLimit.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -227,7 +235,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEachWithLimit.$2", + "id": "def-common.asyncForEachWithLimit.$2", "type": "number", "tags": [], "label": "limit", @@ -244,7 +252,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncForEachWithLimit.$3", + "id": "def-common.asyncForEachWithLimit.$3", "type": "Function", "tags": [], "label": "fn", @@ -266,7 +274,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMap", + "id": "def-common.asyncMap", "type": "Function", "tags": [], "label": "asyncMap", @@ -286,7 +294,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMap.$1", + "id": "def-common.asyncMap.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -304,7 +312,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMap.$2", + "id": "def-common.asyncMap.$2", "type": "Function", "tags": [], "label": "fn", @@ -326,7 +334,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMapWithLimit", + "id": "def-common.asyncMapWithLimit", "type": "Function", "tags": [], "label": "asyncMapWithLimit", @@ -346,7 +354,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMapWithLimit.$1", + "id": "def-common.asyncMapWithLimit.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -364,7 +372,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMapWithLimit.$2", + "id": "def-common.asyncMapWithLimit.$2", "type": "number", "tags": [], "label": "limit", @@ -381,7 +389,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.asyncMapWithLimit.$3", + "id": "def-common.asyncMapWithLimit.$3", "type": "Function", "tags": [], "label": "fn", @@ -403,7 +411,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.deepFreeze", + "id": "def-common.deepFreeze", "type": "Function", "tags": [], "label": "deepFreeze", @@ -414,9 +422,9 @@ "(object: T) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "" @@ -427,7 +435,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.deepFreeze.$1", + "id": "def-common.deepFreeze.$1", "type": "Uncategorized", "tags": [], "label": "object", @@ -446,7 +454,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.ensureNoUnsafeProperties", + "id": "def-common.ensureNoUnsafeProperties", "type": "Function", "tags": [], "label": "ensureNoUnsafeProperties", @@ -460,7 +468,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.ensureNoUnsafeProperties.$1", + "id": "def-common.ensureNoUnsafeProperties.$1", "type": "Any", "tags": [], "label": "obj", @@ -479,7 +487,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -495,7 +503,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -510,7 +518,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "Object", "tags": [], "label": "path", @@ -529,7 +537,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -543,7 +551,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -558,7 +566,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "Object", "tags": [], "label": "path", @@ -577,7 +585,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -591,7 +599,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -606,7 +614,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "Object", "tags": [], "label": "path", @@ -625,7 +633,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -639,7 +647,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -654,7 +662,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "Object", "tags": [], "label": "path", @@ -673,7 +681,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -687,7 +695,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -702,7 +710,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "CompoundType", "tags": [], "label": "path", @@ -721,7 +729,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get", + "id": "def-common.get", "type": "Function", "tags": [], "label": "get", @@ -735,7 +743,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.get.$1", + "id": "def-common.get.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -750,7 +758,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.get.$2", + "id": "def-common.get.$2", "type": "CompoundType", "tags": [], "label": "path", @@ -769,7 +777,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.getFlattenedObject", + "id": "def-common.getFlattenedObject", "type": "Function", "tags": [], "label": "getFlattenedObject", @@ -785,7 +793,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.getFlattenedObject.$1", + "id": "def-common.getFlattenedObject.$1", "type": "Object", "tags": [], "label": "rootValue", @@ -804,7 +812,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.getUrlOrigin", + "id": "def-common.getUrlOrigin", "type": "Function", "tags": [], "label": "getUrlOrigin", @@ -820,7 +828,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.getUrlOrigin.$1", + "id": "def-common.getUrlOrigin.$1", "type": "string", "tags": [], "label": "url", @@ -839,7 +847,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.isPromise", + "id": "def-common.isPromise", "type": "Function", "tags": [], "label": "isPromise", @@ -853,7 +861,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.isPromise.$1", + "id": "def-common.isPromise.$1", "type": "CompoundType", "tags": [], "label": "maybePromise", @@ -872,7 +880,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.isRelativeUrl", + "id": "def-common.isRelativeUrl", "type": "Function", "tags": [], "label": "isRelativeUrl", @@ -888,7 +896,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.isRelativeUrl.$1", + "id": "def-common.isRelativeUrl.$1", "type": "string", "tags": [], "label": "candidatePath", @@ -907,7 +915,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.map$", + "id": "def-common.map$", "type": "Function", "tags": [], "label": "map$", @@ -929,7 +937,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.map$.$1", + "id": "def-common.map$.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -947,7 +955,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.map$.$2", + "id": "def-common.map$.$2", "type": "Function", "tags": [], "label": "fn", @@ -969,7 +977,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.mapToObject", + "id": "def-common.mapToObject", "type": "Function", "tags": [], "label": "mapToObject", @@ -983,7 +991,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.mapToObject.$1", + "id": "def-common.mapToObject.$1", "type": "Object", "tags": [], "label": "map", @@ -1002,7 +1010,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.mapWithLimit$", + "id": "def-common.mapWithLimit$", "type": "Function", "tags": [], "label": "mapWithLimit$", @@ -1024,7 +1032,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.mapWithLimit$.$1", + "id": "def-common.mapWithLimit$.$1", "type": "CompoundType", "tags": [], "label": "iterable", @@ -1042,7 +1050,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.mapWithLimit$.$2", + "id": "def-common.mapWithLimit$.$2", "type": "number", "tags": [], "label": "limit", @@ -1059,7 +1067,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.mapWithLimit$.$3", + "id": "def-common.mapWithLimit$.$3", "type": "Function", "tags": [], "label": "fn", @@ -1081,7 +1089,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge", + "id": "def-common.merge", "type": "Function", "tags": [], "label": "merge", @@ -1097,7 +1105,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$1", + "id": "def-common.merge.$1", "type": "Uncategorized", "tags": [], "label": "baseObj", @@ -1112,7 +1120,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$2", + "id": "def-common.merge.$2", "type": "Uncategorized", "tags": [], "label": "source1", @@ -1131,7 +1139,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge", + "id": "def-common.merge", "type": "Function", "tags": [], "label": "merge", @@ -1145,7 +1153,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$1", + "id": "def-common.merge.$1", "type": "Uncategorized", "tags": [], "label": "baseObj", @@ -1160,7 +1168,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$2", + "id": "def-common.merge.$2", "type": "Uncategorized", "tags": [], "label": "overrideObj", @@ -1175,7 +1183,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$3", + "id": "def-common.merge.$3", "type": "Uncategorized", "tags": [], "label": "overrideObj2", @@ -1194,7 +1202,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge", + "id": "def-common.merge", "type": "Function", "tags": [], "label": "merge", @@ -1208,7 +1216,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$1", + "id": "def-common.merge.$1", "type": "Uncategorized", "tags": [], "label": "baseObj", @@ -1223,7 +1231,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$2", + "id": "def-common.merge.$2", "type": "Uncategorized", "tags": [], "label": "overrideObj", @@ -1238,7 +1246,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$3", + "id": "def-common.merge.$3", "type": "Uncategorized", "tags": [], "label": "overrideObj2", @@ -1257,7 +1265,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge", + "id": "def-common.merge", "type": "Function", "tags": [], "label": "merge", @@ -1271,7 +1279,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$1", + "id": "def-common.merge.$1", "type": "Object", "tags": [], "label": "baseObj", @@ -1286,7 +1294,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.merge.$2", + "id": "def-common.merge.$2", "type": "Array", "tags": [], "label": "sources", @@ -1305,7 +1313,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.modifyUrl", + "id": "def-common.modifyUrl", "type": "Function", "tags": [], "label": "modifyUrl", @@ -1316,17 +1324,17 @@ "(url: string, urlModifier: (urlParts: ", { "pluginId": "@kbn/std", - "scope": "server", + "scope": "common", "docId": "kibKbnStdPluginApi", - "section": "def-server.URLMeaningfulParts", + "section": "def-common.URLMeaningfulParts", "text": "URLMeaningfulParts" }, ") => void | Partial<", { "pluginId": "@kbn/std", - "scope": "server", + "scope": "common", "docId": "kibKbnStdPluginApi", - "section": "def-server.URLMeaningfulParts", + "section": "def-common.URLMeaningfulParts", "text": "URLMeaningfulParts" }, ">) => string" @@ -1337,7 +1345,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.modifyUrl.$1", + "id": "def-common.modifyUrl.$1", "type": "string", "tags": [], "label": "url", @@ -1354,7 +1362,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.modifyUrl.$2", + "id": "def-common.modifyUrl.$2", "type": "Function", "tags": [], "label": "urlModifier", @@ -1365,17 +1373,17 @@ "(urlParts: ", { "pluginId": "@kbn/std", - "scope": "server", + "scope": "common", "docId": "kibKbnStdPluginApi", - "section": "def-server.URLMeaningfulParts", + "section": "def-common.URLMeaningfulParts", "text": "URLMeaningfulParts" }, ") => void | Partial<", { "pluginId": "@kbn/std", - "scope": "server", + "scope": "common", "docId": "kibKbnStdPluginApi", - "section": "def-server.URLMeaningfulParts", + "section": "def-common.URLMeaningfulParts", "text": "URLMeaningfulParts" }, ">" @@ -1393,7 +1401,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.pick", + "id": "def-common.pick", "type": "Function", "tags": [], "label": "pick", @@ -1407,7 +1415,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.pick.$1", + "id": "def-common.pick.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -1422,7 +1430,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.pick.$2", + "id": "def-common.pick.$2", "type": "Object", "tags": [], "label": "keys", @@ -1441,7 +1449,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.unset", + "id": "def-common.unset", "type": "Function", "tags": [], "label": "unset", @@ -1457,7 +1465,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.unset.$1", + "id": "def-common.unset.$1", "type": "Uncategorized", "tags": [], "label": "obj", @@ -1472,7 +1480,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.unset.$2", + "id": "def-common.unset.$2", "type": "string", "tags": [], "label": "atPath", @@ -1491,7 +1499,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.withTimeout", + "id": "def-common.withTimeout", "type": "Function", "tags": [], "label": "withTimeout", @@ -1505,7 +1513,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.withTimeout.$1", + "id": "def-common.withTimeout.$1", "type": "Object", "tags": [], "label": "{\n promise,\n timeoutMs,\n}", @@ -1516,7 +1524,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.withTimeout.$1.promise", + "id": "def-common.withTimeout.$1.promise", "type": "Object", "tags": [], "label": "promise", @@ -1530,7 +1538,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.withTimeout.$1.timeoutMs", + "id": "def-common.withTimeout.$1.timeoutMs", "type": "number", "tags": [], "label": "timeoutMs", @@ -1549,7 +1557,7 @@ "interfaces": [ { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts", + "id": "def-common.URLMeaningfulParts", "type": "Interface", "tags": [], "label": "URLMeaningfulParts", @@ -1562,7 +1570,7 @@ "children": [ { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.auth", + "id": "def-common.URLMeaningfulParts.auth", "type": "CompoundType", "tags": [], "label": "auth", @@ -1576,7 +1584,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.hash", + "id": "def-common.URLMeaningfulParts.hash", "type": "CompoundType", "tags": [], "label": "hash", @@ -1590,7 +1598,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.hostname", + "id": "def-common.URLMeaningfulParts.hostname", "type": "CompoundType", "tags": [], "label": "hostname", @@ -1604,7 +1612,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.pathname", + "id": "def-common.URLMeaningfulParts.pathname", "type": "CompoundType", "tags": [], "label": "pathname", @@ -1618,7 +1626,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.protocol", + "id": "def-common.URLMeaningfulParts.protocol", "type": "CompoundType", "tags": [], "label": "protocol", @@ -1632,7 +1640,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.slashes", + "id": "def-common.URLMeaningfulParts.slashes", "type": "CompoundType", "tags": [], "label": "slashes", @@ -1646,7 +1654,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.port", + "id": "def-common.URLMeaningfulParts.port", "type": "CompoundType", "tags": [], "label": "port", @@ -1660,7 +1668,7 @@ }, { "parentPluginId": "@kbn/std", - "id": "def-server.URLMeaningfulParts.query", + "id": "def-common.URLMeaningfulParts.query", "type": "Object", "tags": [], "label": "query", @@ -1681,7 +1689,7 @@ "misc": [ { "parentPluginId": "@kbn/std", - "id": "def-server.Freezable", + "id": "def-common.Freezable", "type": "Type", "tags": [], "label": "Freezable", @@ -1696,13 +1704,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index f8e862aaf31e9..a144f96f96fe5 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; @@ -23,17 +23,17 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 97 | 1 | 64 | 1 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_stdio_dev_helpers.devdocs.json b/api_docs/kbn_stdio_dev_helpers.devdocs.json index 05e554e4d9138..40191a3856864 100644 --- a/api_docs/kbn_stdio_dev_helpers.devdocs.json +++ b/api_docs/kbn_stdio_dev_helpers.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/stdio-dev-helpers", - "id": "def-server.observeLines", + "id": "def-common.observeLines", "type": "Function", "tags": [ "return" @@ -35,7 +43,7 @@ "children": [ { "parentPluginId": "@kbn/stdio-dev-helpers", - "id": "def-server.observeLines.$1", + "id": "def-common.observeLines.$1", "type": "Object", "tags": [], "label": "readable", @@ -54,7 +62,7 @@ }, { "parentPluginId": "@kbn/stdio-dev-helpers", - "id": "def-server.observeReadable", + "id": "def-common.observeReadable", "type": "Function", "tags": [], "label": "observeReadable", @@ -74,7 +82,7 @@ "children": [ { "parentPluginId": "@kbn/stdio-dev-helpers", - "id": "def-server.observeReadable.$1", + "id": "def-common.observeReadable.$1", "type": "Object", "tags": [], "label": "readable", @@ -96,13 +104,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 5068af8d2248a..6946804913886 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 4 | 0 | 2 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_storybook.devdocs.json b/api_docs/kbn_storybook.devdocs.json index 8d08deda5a542..0b37611887506 100644 --- a/api_docs/kbn_storybook.devdocs.json +++ b/api_docs/kbn_storybook.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.mergeWebpackFinal", + "id": "def-common.mergeWebpackFinal", "type": "Function", "tags": [], "label": "mergeWebpackFinal", @@ -33,7 +41,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.mergeWebpackFinal.$1", + "id": "def-common.mergeWebpackFinal.$1", "type": "Object", "tags": [], "label": "extraConfig", @@ -52,7 +60,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.runStorybookCli", + "id": "def-common.runStorybookCli", "type": "Function", "tags": [], "label": "runStorybookCli", @@ -66,7 +74,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.runStorybookCli.$1", + "id": "def-common.runStorybookCli.$1", "type": "Object", "tags": [], "label": "{ configDir, name }", @@ -77,7 +85,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.runStorybookCli.$1.configDir", + "id": "def-common.runStorybookCli.$1.configDir", "type": "string", "tags": [], "label": "configDir", @@ -88,7 +96,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.runStorybookCli.$1.name", + "id": "def-common.runStorybookCli.$1.name", "type": "string", "tags": [], "label": "name", @@ -107,7 +115,7 @@ "interfaces": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig", + "id": "def-common.StorybookConfig", "type": "Interface", "tags": [], "label": "StorybookConfig", @@ -123,7 +131,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.addons", + "id": "def-common.StorybookConfig.addons", "type": "Array", "tags": [], "label": "addons", @@ -140,7 +148,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.core", + "id": "def-common.StorybookConfig.core", "type": "Object", "tags": [], "label": "core", @@ -155,7 +163,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.staticDirs", + "id": "def-common.StorybookConfig.staticDirs", "type": "Array", "tags": [], "label": "staticDirs", @@ -171,7 +179,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.logLevel", + "id": "def-common.StorybookConfig.logLevel", "type": "string", "tags": [], "label": "logLevel", @@ -185,7 +193,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.features", + "id": "def-common.StorybookConfig.features", "type": "Object", "tags": [], "label": "features", @@ -199,7 +207,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.stories", + "id": "def-common.StorybookConfig.stories", "type": "Array", "tags": [], "label": "stories", @@ -216,7 +224,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.framework", + "id": "def-common.StorybookConfig.framework", "type": "CompoundType", "tags": [], "label": "framework", @@ -233,7 +241,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.typescript", + "id": "def-common.StorybookConfig.typescript", "type": "Object", "tags": [], "label": "typescript", @@ -251,7 +259,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.refs", + "id": "def-common.StorybookConfig.refs", "type": "CompoundType", "tags": [], "label": "refs", @@ -271,7 +279,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.webpackFinal", + "id": "def-common.StorybookConfig.webpackFinal", "type": "Function", "tags": [], "label": "webpackFinal", @@ -295,7 +303,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.webpackFinal.$1", + "id": "def-common.StorybookConfig.webpackFinal.$1", "type": "Object", "tags": [], "label": "config", @@ -310,7 +318,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.webpackFinal.$2", + "id": "def-common.StorybookConfig.webpackFinal.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -328,7 +336,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.config", + "id": "def-common.StorybookConfig.config", "type": "Function", "tags": [ "deprecated" @@ -349,7 +357,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.config.$1", + "id": "def-common.StorybookConfig.config.$1", "type": "Array", "tags": [], "label": "entries", @@ -364,7 +372,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.config.$2", + "id": "def-common.StorybookConfig.config.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -382,7 +390,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.previewAnnotations", + "id": "def-common.StorybookConfig.previewAnnotations", "type": "Function", "tags": [], "label": "previewAnnotations", @@ -400,7 +408,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.previewAnnotations.$1", + "id": "def-common.StorybookConfig.previewAnnotations.$1", "type": "Array", "tags": [], "label": "entries", @@ -415,7 +423,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.StorybookConfig.previewAnnotations.$2", + "id": "def-common.StorybookConfig.previewAnnotations.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -440,7 +448,7 @@ "objects": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig", + "id": "def-common.defaultConfig", "type": "Object", "tags": [], "label": "defaultConfig", @@ -451,7 +459,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.addons", + "id": "def-common.defaultConfig.addons", "type": "Array", "tags": [], "label": "addons", @@ -465,7 +473,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.stories", + "id": "def-common.defaultConfig.stories", "type": "Array", "tags": [], "label": "stories", @@ -479,7 +487,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.typescript", + "id": "def-common.defaultConfig.typescript", "type": "Object", "tags": [], "label": "typescript", @@ -490,7 +498,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.typescript.reactDocgen", + "id": "def-common.defaultConfig.typescript.reactDocgen", "type": "boolean", "tags": [], "label": "reactDocgen", @@ -506,7 +514,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.features", + "id": "def-common.defaultConfig.features", "type": "Object", "tags": [], "label": "features", @@ -517,7 +525,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.features.postcss", + "id": "def-common.defaultConfig.features.postcss", "type": "boolean", "tags": [], "label": "postcss", @@ -533,7 +541,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.babel", + "id": "def-common.defaultConfig.babel", "type": "Function", "tags": [], "label": "babel", @@ -549,7 +557,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.babel.$1", + "id": "def-common.defaultConfig.babel.$1", "type": "Any", "tags": [], "label": "options", @@ -567,7 +575,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.webpackFinal", + "id": "def-common.defaultConfig.webpackFinal", "type": "Function", "tags": [], "label": "webpackFinal", @@ -609,7 +617,9 @@ "Options", ".Optimization | undefined; infrastructureLogging?: ", "Options", - ".InfrastructureLogging | undefined; }" + ".InfrastructureLogging | undefined; devServer?: ", + "Configuration", + " | undefined; }" ], "path": "packages/kbn-storybook/src/lib/default_config.ts", "deprecated": false, @@ -617,7 +627,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.webpackFinal.$1", + "id": "def-common.defaultConfig.webpackFinal.$1", "type": "Object", "tags": [], "label": "config", @@ -632,7 +642,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfig.webpackFinal.$2", + "id": "def-common.defaultConfig.webpackFinal.$2", "type": "CompoundType", "tags": [], "label": "options", @@ -653,7 +663,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfigWebFinal", + "id": "def-common.defaultConfigWebFinal", "type": "Object", "tags": [], "label": "defaultConfigWebFinal", @@ -664,7 +674,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfigWebFinal.Unnamed", + "id": "def-common.defaultConfigWebFinal.Unnamed", "type": "Any", "tags": [], "label": "Unnamed", @@ -678,7 +688,7 @@ }, { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfigWebFinal.webpackFinal", + "id": "def-common.defaultConfigWebFinal.webpackFinal", "type": "Function", "tags": [], "label": "webpackFinal", @@ -687,7 +697,9 @@ "(config: ", "Configuration", ") => ", - "Configuration" + "Configuration", + " & ", + "ConfigurationMergeFunction" ], "path": "packages/kbn-storybook/src/lib/default_config.ts", "deprecated": false, @@ -695,7 +707,7 @@ "children": [ { "parentPluginId": "@kbn/storybook", - "id": "def-server.defaultConfigWebFinal.webpackFinal.$1", + "id": "def-common.defaultConfigWebFinal.webpackFinal.$1", "type": "Object", "tags": [], "label": "config", @@ -715,13 +727,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 60ded91d88e8a..327a5d05a565d 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; @@ -23,14 +23,14 @@ Contact Operations for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 41 | 2 | 21 | 0 | -## Server +## Common ### Objects - + ### Functions - + ### Interfaces - + diff --git a/api_docs/kbn_telemetry_tools.devdocs.json b/api_docs/kbn_telemetry_tools.devdocs.json index dd23d1e8f443b..cd0533a3125b6 100644 --- a/api_docs/kbn_telemetry_tools.devdocs.json +++ b/api_docs/kbn_telemetry_tools.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/telemetry-tools", - "id": "def-server.runTelemetryCheck", + "id": "def-common.runTelemetryCheck", "type": "Function", "tags": [], "label": "runTelemetryCheck", @@ -30,7 +38,7 @@ }, { "parentPluginId": "@kbn/telemetry-tools", - "id": "def-server.runTelemetryExtract", + "id": "def-common.runTelemetryExtract", "type": "Function", "tags": [], "label": "runTelemetryExtract", @@ -50,13 +58,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index b193c21ba8873..96d1f02ce6395 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; @@ -23,8 +23,8 @@ Contact Kibana Core for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 2 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_test.devdocs.json b/api_docs/kbn_test.devdocs.json index 71146e0174054..b279d8487703e 100644 --- a/api_docs/kbn_test.devdocs.json +++ b/api_docs/kbn_test.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Config", + "id": "def-common.Config", "type": "Class", "tags": [], "label": "Config", @@ -23,7 +31,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Config.path", + "id": "def-common.Config.path", "type": "string", "tags": [], "label": "path", @@ -34,7 +42,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.module", + "id": "def-common.Config.module", "type": "CompoundType", "tags": [], "label": "module", @@ -43,17 +51,17 @@ "{ type: \"config\"; path: string; provider: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.FtrConfigProvider", + "section": "def-common.FtrConfigProvider", "text": "FtrConfigProvider" }, "; } | { type: \"journey\"; path: string; provider: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.FtrConfigProvider", + "section": "def-common.FtrConfigProvider", "text": "FtrConfigProvider" }, "; journey: Journey; }" @@ -64,7 +72,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.Unnamed", + "id": "def-common.Config.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -78,7 +86,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Config.Unnamed.$1", + "id": "def-common.Config.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -96,7 +104,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.has", + "id": "def-common.Config.has", "type": "Function", "tags": [], "label": "has", @@ -110,7 +118,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Config.has.$1", + "id": "def-common.Config.has.$1", "type": "CompoundType", "tags": [], "label": "key", @@ -128,7 +136,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.get", + "id": "def-common.Config.get", "type": "Function", "tags": [], "label": "get", @@ -142,7 +150,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Config.get.$1", + "id": "def-common.Config.get.$1", "type": "CompoundType", "tags": [], "label": "key", @@ -157,7 +165,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.get.$2", + "id": "def-common.Config.get.$2", "type": "Any", "tags": [], "label": "defaultValue", @@ -175,7 +183,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Config.getAll", + "id": "def-common.Config.getAll", "type": "Function", "tags": [], "label": "getAll", @@ -194,7 +202,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService", + "id": "def-common.DockerServersService", "type": "Class", "tags": [], "label": "DockerServersService", @@ -205,7 +213,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.Unnamed", + "id": "def-common.DockerServersService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -219,7 +227,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.Unnamed.$1", + "id": "def-common.DockerServersService.Unnamed.$1", "type": "Object", "tags": [], "label": "configs", @@ -230,7 +238,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.Unnamed.$1.Unnamed", + "id": "def-common.DockerServersService.Unnamed.$1.Unnamed", "type": "IndexSignature", "tags": [], "label": "[name: string]: DockerServerSpec", @@ -239,9 +247,9 @@ "[name: string]: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServerSpec", + "section": "def-common.DockerServerSpec", "text": "DockerServerSpec" } ], @@ -253,7 +261,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.Unnamed.$2", + "id": "def-common.DockerServersService.Unnamed.$2", "type": "Object", "tags": [], "label": "log", @@ -261,9 +269,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -274,7 +282,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.Unnamed.$3", + "id": "def-common.DockerServersService.Unnamed.$3", "type": "Object", "tags": [], "label": "lifecycle", @@ -282,9 +290,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" } ], @@ -298,7 +306,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.isEnabled", + "id": "def-common.DockerServersService.isEnabled", "type": "Function", "tags": [], "label": "isEnabled", @@ -312,7 +320,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.isEnabled.$1", + "id": "def-common.DockerServersService.isEnabled.$1", "type": "string", "tags": [], "label": "name", @@ -330,7 +338,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.has", + "id": "def-common.DockerServersService.has", "type": "Function", "tags": [], "label": "has", @@ -344,7 +352,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.has.$1", + "id": "def-common.DockerServersService.has.$1", "type": "string", "tags": [], "label": "name", @@ -362,7 +370,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.get", + "id": "def-common.DockerServersService.get", "type": "Function", "tags": [], "label": "get", @@ -371,9 +379,9 @@ "(name: string) => { name: string; url: string; enabled: boolean; portInContainer: number; port: number; image: string; waitForLogLine?: string | RegExp | undefined; waitForLogLineTimeoutMs?: number | undefined; waitFor?: ((server: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServer", + "section": "def-common.DockerServer", "text": "DockerServer" }, ", logLine$: ", @@ -388,7 +396,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServersService.get.$1", + "id": "def-common.DockerServersService.get.$1", "type": "string", "tags": [], "label": "name", @@ -409,7 +417,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion", + "id": "def-common.EsVersion", "type": "Class", "tags": [], "label": "EsVersion", @@ -420,7 +428,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.getDefault", + "id": "def-common.EsVersion.getDefault", "type": "Function", "tags": [], "label": "getDefault", @@ -429,9 +437,9 @@ "() => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" } ], @@ -443,7 +451,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.parsed", + "id": "def-common.EsVersion.parsed", "type": "Object", "tags": [], "label": "parsed", @@ -457,7 +465,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.Unnamed", + "id": "def-common.EsVersion.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -471,7 +479,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.Unnamed.$1", + "id": "def-common.EsVersion.Unnamed.$1", "type": "string", "tags": [], "label": "version", @@ -489,7 +497,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.toJSON", + "id": "def-common.EsVersion.toJSON", "type": "Function", "tags": [], "label": "toJSON", @@ -505,7 +513,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.toString", + "id": "def-common.EsVersion.toString", "type": "Function", "tags": [], "label": "toString", @@ -521,7 +529,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.matchRange", + "id": "def-common.EsVersion.matchRange", "type": "Function", "tags": [], "label": "matchRange", @@ -537,7 +545,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.matchRange.$1", + "id": "def-common.EsVersion.matchRange.$1", "type": "string", "tags": [], "label": "range", @@ -555,7 +563,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.eql", + "id": "def-common.EsVersion.eql", "type": "Function", "tags": [], "label": "eql", @@ -571,7 +579,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.EsVersion.eql.$1", + "id": "def-common.EsVersion.eql.$1", "type": "string", "tags": [], "label": "version", @@ -592,7 +600,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner", + "id": "def-common.FunctionalTestRunner", "type": "Class", "tags": [], "label": "FunctionalTestRunner", @@ -603,7 +611,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.Unnamed", + "id": "def-common.FunctionalTestRunner.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -617,7 +625,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.Unnamed.$1", + "id": "def-common.FunctionalTestRunner.Unnamed.$1", "type": "Object", "tags": [], "label": "log", @@ -625,9 +633,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -638,7 +646,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.Unnamed.$2", + "id": "def-common.FunctionalTestRunner.Unnamed.$2", "type": "Object", "tags": [], "label": "config", @@ -646,9 +654,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" } ], @@ -659,7 +667,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.Unnamed.$3", + "id": "def-common.FunctionalTestRunner.Unnamed.$3", "type": "CompoundType", "tags": [], "label": "esVersion", @@ -668,9 +676,9 @@ "string | ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, " | undefined" @@ -685,7 +693,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.run", + "id": "def-common.FunctionalTestRunner.run", "type": "Function", "tags": [], "label": "run", @@ -699,7 +707,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.run.$1", + "id": "def-common.FunctionalTestRunner.run.$1", "type": "Object", "tags": [], "label": "abortSignal", @@ -717,7 +725,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.getTestStats", + "id": "def-common.FunctionalTestRunner.getTestStats", "type": "Function", "tags": [], "label": "getTestStats", @@ -733,7 +741,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.simulateMochaDryRun", + "id": "def-common.FunctionalTestRunner.simulateMochaDryRun", "type": "Function", "tags": [], "label": "simulateMochaDryRun", @@ -747,7 +755,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FunctionalTestRunner.simulateMochaDryRun.$1", + "id": "def-common.FunctionalTestRunner.simulateMochaDryRun.$1", "type": "Any", "tags": [], "label": "mocha", @@ -768,7 +776,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrService", + "id": "def-common.GenericFtrService", "type": "Class", "tags": [], "label": "GenericFtrService", @@ -776,9 +784,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrService", + "section": "def-common.GenericFtrService", "text": "GenericFtrService" }, "" @@ -789,7 +797,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrService.Unnamed", + "id": "def-common.GenericFtrService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -803,7 +811,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrService.Unnamed.$1", + "id": "def-common.GenericFtrService.Unnamed.$1", "type": "Uncategorized", "tags": [], "label": "ctx", @@ -824,7 +832,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient", + "id": "def-common.KbnClient", "type": "Class", "tags": [], "label": "KbnClient", @@ -835,7 +843,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.status", + "id": "def-common.KbnClient.status", "type": "Object", "tags": [], "label": "status", @@ -849,7 +857,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.plugins", + "id": "def-common.KbnClient.plugins", "type": "Object", "tags": [], "label": "plugins", @@ -863,7 +871,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.version", + "id": "def-common.KbnClient.version", "type": "Object", "tags": [], "label": "version", @@ -877,7 +885,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.savedObjects", + "id": "def-common.KbnClient.savedObjects", "type": "Object", "tags": [], "label": "savedObjects", @@ -891,7 +899,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.spaces", + "id": "def-common.KbnClient.spaces", "type": "Object", "tags": [], "label": "spaces", @@ -905,7 +913,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.uiSettings", + "id": "def-common.KbnClient.uiSettings", "type": "Object", "tags": [], "label": "uiSettings", @@ -919,7 +927,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.importExport", + "id": "def-common.KbnClient.importExport", "type": "Object", "tags": [], "label": "importExport", @@ -933,7 +941,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.Unnamed", + "id": "def-common.KbnClient.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -949,7 +957,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.Unnamed.$1", + "id": "def-common.KbnClient.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -957,9 +965,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClientOptions", + "section": "def-common.KbnClientOptions", "text": "KbnClientOptions" } ], @@ -973,7 +981,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.request", + "id": "def-common.KbnClient.request", "type": "Function", "tags": [], "label": "request", @@ -993,7 +1001,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.request.$1", + "id": "def-common.KbnClient.request.$1", "type": "Object", "tags": [], "label": "options", @@ -1011,7 +1019,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.resolveUrl", + "id": "def-common.KbnClient.resolveUrl", "type": "Function", "tags": [], "label": "resolveUrl", @@ -1025,7 +1033,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClient.resolveUrl.$1", + "id": "def-common.KbnClient.resolveUrl.$1", "type": "string", "tags": [], "label": "relativeUrl", @@ -1046,7 +1054,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientRequesterError", + "id": "def-common.KbnClientRequesterError", "type": "Class", "tags": [], "label": "KbnClientRequesterError", @@ -1054,9 +1062,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.KbnClientRequesterError", + "section": "def-common.KbnClientRequesterError", "text": "KbnClientRequesterError" }, " extends Error" @@ -1067,7 +1075,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientRequesterError.axiosError", + "id": "def-common.KbnClientRequesterError.axiosError", "type": "Object", "tags": [], "label": "axiosError", @@ -1082,7 +1090,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientRequesterError.Unnamed", + "id": "def-common.KbnClientRequesterError.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -1096,7 +1104,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientRequesterError.Unnamed.$1", + "id": "def-common.KbnClientRequesterError.Unnamed.$1", "type": "string", "tags": [], "label": "message", @@ -1111,7 +1119,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientRequesterError.Unnamed.$2", + "id": "def-common.KbnClientRequesterError.Unnamed.$2", "type": "Unknown", "tags": [], "label": "error", @@ -1132,7 +1140,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle", + "id": "def-common.Lifecycle", "type": "Class", "tags": [], "label": "Lifecycle", @@ -1143,7 +1151,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.beforeTests", + "id": "def-common.Lifecycle.beforeTests", "type": "Object", "tags": [], "label": "beforeTests", @@ -1153,17 +1161,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, "]>" @@ -1174,7 +1182,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.beforeEachRunnable", + "id": "def-common.Lifecycle.beforeEachRunnable", "type": "Object", "tags": [], "label": "beforeEachRunnable", @@ -1184,17 +1192,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, "]>" @@ -1205,7 +1213,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.beforeTestSuite", + "id": "def-common.Lifecycle.beforeTestSuite", "type": "Object", "tags": [], "label": "beforeTestSuite", @@ -1215,17 +1223,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, "]>" @@ -1236,7 +1244,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.beforeEachTest", + "id": "def-common.Lifecycle.beforeEachTest", "type": "Object", "tags": [], "label": "beforeEachTest", @@ -1246,17 +1254,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, "]>" @@ -1267,7 +1275,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.afterTestSuite", + "id": "def-common.Lifecycle.afterTestSuite", "type": "Object", "tags": [], "label": "afterTestSuite", @@ -1277,17 +1285,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, "]>" @@ -1298,7 +1306,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.testFailure", + "id": "def-common.Lifecycle.testFailure", "type": "Object", "tags": [], "label": "testFailure", @@ -1308,17 +1316,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[Error, ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, "]>" @@ -1329,7 +1337,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.testHookFailure", + "id": "def-common.Lifecycle.testHookFailure", "type": "Object", "tags": [], "label": "testHookFailure", @@ -1339,17 +1347,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[Error, ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, "]>" @@ -1360,7 +1368,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.cleanup", + "id": "def-common.Lifecycle.cleanup", "type": "Object", "tags": [], "label": "cleanup", @@ -1370,9 +1378,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "<[]>" @@ -1383,7 +1391,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.Unnamed", + "id": "def-common.Lifecycle.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -1397,7 +1405,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Lifecycle.Unnamed.$1", + "id": "def-common.Lifecycle.Unnamed.$1", "type": "Object", "tags": [], "label": "log", @@ -1405,9 +1413,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -1424,7 +1432,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase", + "id": "def-common.LifecyclePhase", "type": "Class", "tags": [], "label": "LifecyclePhase", @@ -1432,9 +1440,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.LifecyclePhase", + "section": "def-common.LifecyclePhase", "text": "LifecyclePhase" }, "" @@ -1445,7 +1453,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.triggered", + "id": "def-common.LifecyclePhase.triggered", "type": "boolean", "tags": [], "label": "triggered", @@ -1456,7 +1464,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.before$", + "id": "def-common.LifecyclePhase.before$", "type": "Object", "tags": [], "label": "before$", @@ -1471,7 +1479,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.after$", + "id": "def-common.LifecyclePhase.after$", "type": "Object", "tags": [], "label": "after$", @@ -1486,7 +1494,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.Unnamed", + "id": "def-common.LifecyclePhase.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -1500,7 +1508,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.Unnamed.$1", + "id": "def-common.LifecyclePhase.Unnamed.$1", "type": "Object", "tags": [], "label": "sub", @@ -1515,7 +1523,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.Unnamed.$2", + "id": "def-common.LifecyclePhase.Unnamed.$2", "type": "Object", "tags": [], "label": "options", @@ -1526,7 +1534,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.Unnamed.$2.singular", + "id": "def-common.LifecyclePhase.Unnamed.$2.singular", "type": "CompoundType", "tags": [], "label": "singular", @@ -1545,7 +1553,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.add", + "id": "def-common.LifecyclePhase.add", "type": "Function", "tags": [], "label": "add", @@ -1559,7 +1567,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.add.$1", + "id": "def-common.LifecyclePhase.add.$1", "type": "Function", "tags": [], "label": "fn", @@ -1577,7 +1585,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.addSub", + "id": "def-common.LifecyclePhase.addSub", "type": "Function", "tags": [], "label": "addSub", @@ -1593,7 +1601,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.addSub.$1", + "id": "def-common.LifecyclePhase.addSub.$1", "type": "Object", "tags": [], "label": "sub", @@ -1611,7 +1619,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.trigger", + "id": "def-common.LifecyclePhase.trigger", "type": "Function", "tags": [], "label": "trigger", @@ -1625,7 +1633,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.LifecyclePhase.trigger.$1", + "id": "def-common.LifecyclePhase.trigger.$1", "type": "Uncategorized", "tags": [], "label": "args", @@ -1648,7 +1656,7 @@ "functions": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createAsyncInstance", + "id": "def-common.createAsyncInstance", "type": "Function", "tags": [], "label": "createAsyncInstance", @@ -1662,7 +1670,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createAsyncInstance.$1", + "id": "def-common.createAsyncInstance.$1", "type": "string", "tags": [], "label": "type", @@ -1677,7 +1685,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createAsyncInstance.$2", + "id": "def-common.createAsyncInstance.$2", "type": "string", "tags": [], "label": "name", @@ -1692,7 +1700,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createAsyncInstance.$3", + "id": "def-common.createAsyncInstance.$3", "type": "Object", "tags": [], "label": "promiseForValue", @@ -1711,7 +1719,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createEsClientForFtrConfig", + "id": "def-common.createEsClientForFtrConfig", "type": "Function", "tags": [], "label": "createEsClientForFtrConfig", @@ -1720,17 +1728,17 @@ "(config: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, ", overrides: Omit<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, ", \"esUrl\"> | undefined) => ", @@ -1742,7 +1750,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createEsClientForFtrConfig.$1", + "id": "def-common.createEsClientForFtrConfig.$1", "type": "Object", "tags": [], "label": "config", @@ -1750,9 +1758,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" } ], @@ -1763,7 +1771,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createEsClientForFtrConfig.$2", + "id": "def-common.createEsClientForFtrConfig.$2", "type": "Object", "tags": [], "label": "overrides", @@ -1772,9 +1780,9 @@ "Omit<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, ", \"esUrl\"> | undefined" @@ -1790,7 +1798,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createEsClientForTesting", + "id": "def-common.createEsClientForTesting", "type": "Function", "tags": [], "label": "createEsClientForTesting", @@ -1799,9 +1807,9 @@ "(options: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, ") => ", @@ -1813,7 +1821,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createEsClientForTesting.$1", + "id": "def-common.createEsClientForTesting.$1", "type": "Object", "tags": [], "label": "options", @@ -1821,9 +1829,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" } ], @@ -1838,7 +1846,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createRemoteEsClientForFtrConfig", + "id": "def-common.createRemoteEsClientForFtrConfig", "type": "Function", "tags": [], "label": "createRemoteEsClientForFtrConfig", @@ -1847,17 +1855,17 @@ "(config: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, ", overrides: Omit<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, ", \"esUrl\"> | undefined) => ", @@ -1869,7 +1877,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createRemoteEsClientForFtrConfig.$1", + "id": "def-common.createRemoteEsClientForFtrConfig.$1", "type": "Object", "tags": [], "label": "config", @@ -1877,9 +1885,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" } ], @@ -1890,7 +1898,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createRemoteEsClientForFtrConfig.$2", + "id": "def-common.createRemoteEsClientForFtrConfig.$2", "type": "Object", "tags": [], "label": "overrides", @@ -1899,9 +1907,9 @@ "Omit<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, ", \"esUrl\"> | undefined" @@ -1917,7 +1925,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.createTestEsCluster", + "id": "def-common.createTestEsCluster", "type": "Function", "tags": [], "label": "createTestEsCluster", @@ -1926,9 +1934,9 @@ "(options: Options) => ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsTestCluster", + "section": "def-common.EsTestCluster", "text": "EsTestCluster" }, "" @@ -1939,7 +1947,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.createTestEsCluster.$1", + "id": "def-common.createTestEsCluster.$1", "type": "Uncategorized", "tags": [], "label": "options", @@ -1958,7 +1966,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.defineDockerServersConfig", + "id": "def-common.defineDockerServersConfig", "type": "Function", "tags": [], "label": "defineDockerServersConfig", @@ -1969,17 +1977,17 @@ "(config: {} | { [name: string]: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServerSpec", + "section": "def-common.DockerServerSpec", "text": "DockerServerSpec" }, "; }) => {} | { [name: string]: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServerSpec", + "section": "def-common.DockerServerSpec", "text": "DockerServerSpec" }, "; }" @@ -1990,7 +1998,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.defineDockerServersConfig.$1", + "id": "def-common.defineDockerServersConfig.$1", "type": "CompoundType", "tags": [], "label": "config", @@ -1999,9 +2007,9 @@ "{} | { [name: string]: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServerSpec", + "section": "def-common.DockerServerSpec", "text": "DockerServerSpec" }, "; }" @@ -2017,7 +2025,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.escapeCdata", + "id": "def-common.escapeCdata", "type": "Function", "tags": [], "label": "escapeCdata", @@ -2031,7 +2039,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.escapeCdata.$1", + "id": "def-common.escapeCdata.$1", "type": "string", "tags": [], "label": "input", @@ -2050,7 +2058,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.getKibanaCliArg", + "id": "def-common.getKibanaCliArg", "type": "Function", "tags": [], "label": "getKibanaCliArg", @@ -2070,7 +2078,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.getKibanaCliArg.$1", + "id": "def-common.getKibanaCliArg.$1", "type": "Array", "tags": [], "label": "rawFlags", @@ -2085,7 +2093,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.getKibanaCliArg.$2", + "id": "def-common.getKibanaCliArg.$2", "type": "string", "tags": [], "label": "name", @@ -2104,7 +2112,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.getKibanaCliLoggers", + "id": "def-common.getKibanaCliLoggers", "type": "Function", "tags": [], "label": "getKibanaCliLoggers", @@ -2120,7 +2128,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.getKibanaCliLoggers.$1", + "id": "def-common.getKibanaCliLoggers.$1", "type": "Array", "tags": [], "label": "rawFlags", @@ -2139,7 +2147,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.getUrl", + "id": "def-common.getUrl", "type": "Function", "tags": [ "return" @@ -2157,7 +2165,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.getUrl.$1", + "id": "def-common.getUrl.$1", "type": "Object", "tags": [], "label": "config", @@ -2174,7 +2182,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.getUrl.$2", + "id": "def-common.getUrl.$2", "type": "Object", "tags": [], "label": "app", @@ -2195,7 +2203,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile", + "id": "def-common.readConfigFile", "type": "Function", "tags": [], "label": "readConfigFile", @@ -2204,25 +2212,25 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", esVersion: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, ", path: string, settingOverrides: any, extendSettings: (vars: any) => any) => Promise<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, ">" @@ -2233,7 +2241,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile.$1", + "id": "def-common.readConfigFile.$1", "type": "Object", "tags": [], "label": "log", @@ -2241,9 +2249,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -2254,7 +2262,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile.$2", + "id": "def-common.readConfigFile.$2", "type": "Object", "tags": [], "label": "esVersion", @@ -2262,9 +2270,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" } ], @@ -2275,7 +2283,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile.$3", + "id": "def-common.readConfigFile.$3", "type": "string", "tags": [], "label": "path", @@ -2290,7 +2298,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile.$4", + "id": "def-common.readConfigFile.$4", "type": "Any", "tags": [], "label": "settingOverrides", @@ -2305,7 +2313,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.readConfigFile.$5", + "id": "def-common.readConfigFile.$5", "type": "Function", "tags": [], "label": "extendSettings", @@ -2324,7 +2332,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runCheckFtrConfigsCli", + "id": "def-common.runCheckFtrConfigsCli", "type": "Function", "tags": [], "label": "runCheckFtrConfigsCli", @@ -2341,7 +2349,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runCheckJestConfigsCli", + "id": "def-common.runCheckJestConfigsCli", "type": "Function", "tags": [], "label": "runCheckJestConfigsCli", @@ -2358,7 +2366,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runFtrCli", + "id": "def-common.runFtrCli", "type": "Function", "tags": [], "label": "runFtrCli", @@ -2375,7 +2383,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runJest", + "id": "def-common.runJest", "type": "Function", "tags": [], "label": "runJest", @@ -2389,7 +2397,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.runJest.$1", + "id": "def-common.runJest.$1", "type": "string", "tags": [], "label": "configName", @@ -2408,7 +2416,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runKbnArchiverCli", + "id": "def-common.runKbnArchiverCli", "type": "Function", "tags": [], "label": "runKbnArchiverCli", @@ -2425,7 +2433,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runTests", + "id": "def-common.runTests", "type": "Function", "tags": [], "label": "runTests", @@ -2436,17 +2444,17 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", options: { configs: string[]; esVersion: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; bail: boolean; dryRun: boolean; updateBaselines: boolean; updateSnapshots: boolean; logsDir: string | undefined; esFrom: \"source\" | \"snapshot\"; installDir: string | undefined; grep: string | undefined; suiteTags: { include: string[] | undefined; exclude: string[] | undefined; }; suiteFilters: { include: string[] | undefined; exclude: string[] | undefined; }; }) => Promise" @@ -2457,7 +2465,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.runTests.$1", + "id": "def-common.runTests.$1", "type": "Object", "tags": [], "label": "log", @@ -2465,9 +2473,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -2478,7 +2486,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runTests.$2", + "id": "def-common.runTests.$2", "type": "Object", "tags": [], "label": "options", @@ -2487,9 +2495,9 @@ "{ configs: string[]; esVersion: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; bail: boolean; dryRun: boolean; updateBaselines: boolean; updateSnapshots: boolean; logsDir: string | undefined; esFrom: \"source\" | \"snapshot\"; installDir: string | undefined; grep: string | undefined; suiteTags: { include: string[] | undefined; exclude: string[] | undefined; }; suiteFilters: { include: string[] | undefined; exclude: string[] | undefined; }; }" @@ -2505,7 +2513,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.runTestsCli", + "id": "def-common.runTestsCli", "type": "Function", "tags": [], "label": "runTestsCli", @@ -2522,7 +2530,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.setupJUnitReportGeneration", + "id": "def-common.setupJUnitReportGeneration", "type": "Function", "tags": [], "label": "setupJUnitReportGeneration", @@ -2536,7 +2544,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.setupJUnitReportGeneration.$1", + "id": "def-common.setupJUnitReportGeneration.$1", "type": "Any", "tags": [], "label": "runner", @@ -2551,7 +2559,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.setupJUnitReportGeneration.$2", + "id": "def-common.setupJUnitReportGeneration.$2", "type": "Object", "tags": [], "label": "options", @@ -2570,7 +2578,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.startServers", + "id": "def-common.startServers", "type": "Function", "tags": [], "label": "startServers", @@ -2579,17 +2587,17 @@ "(log: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, ", options: { config: string; esFrom: \"source\" | \"snapshot\" | undefined; esVersion: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; installDir: string | undefined; logsDir: string | undefined; }) => Promise" @@ -2600,7 +2608,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.startServers.$1", + "id": "def-common.startServers.$1", "type": "Object", "tags": [], "label": "log", @@ -2608,9 +2616,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -2621,7 +2629,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.startServers.$2", + "id": "def-common.startServers.$2", "type": "Object", "tags": [], "label": "options", @@ -2630,9 +2638,9 @@ "{ config: string; esFrom: \"source\" | \"snapshot\" | undefined; esVersion: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; installDir: string | undefined; logsDir: string | undefined; }" @@ -2648,7 +2656,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.startServersCli", + "id": "def-common.startServersCli", "type": "Function", "tags": [], "label": "startServersCli", @@ -2667,7 +2675,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.uriencode", + "id": "def-common.uriencode", "type": "Function", "tags": [], "label": "uriencode", @@ -2681,7 +2689,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.uriencode.$1", + "id": "def-common.uriencode.$1", "type": "Object", "tags": [], "label": "strings", @@ -2696,7 +2704,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.uriencode.$2", + "id": "def-common.uriencode.$2", "type": "Array", "tags": [], "label": "values", @@ -2717,7 +2725,7 @@ "interfaces": [ { "parentPluginId": "@kbn/test", - "id": "def-server.AsyncInstance", + "id": "def-common.AsyncInstance", "type": "Interface", "tags": [], "label": "AsyncInstance", @@ -2725,9 +2733,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.AsyncInstance", + "section": "def-common.AsyncInstance", "text": "AsyncInstance" }, "" @@ -2738,7 +2746,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.AsyncInstance.init", + "id": "def-common.AsyncInstance.init", "type": "Function", "tags": [], "label": "init", @@ -2759,7 +2767,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions", + "id": "def-common.CreateTestEsClusterOptions", "type": "Interface", "tags": [], "label": "CreateTestEsClusterOptions", @@ -2770,7 +2778,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.basePath", + "id": "def-common.CreateTestEsClusterOptions.basePath", "type": "string", "tags": [], "label": "basePath", @@ -2784,7 +2792,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.clusterName", + "id": "def-common.CreateTestEsClusterOptions.clusterName", "type": "string", "tags": [], "label": "clusterName", @@ -2798,7 +2806,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.dataArchive", + "id": "def-common.CreateTestEsClusterOptions.dataArchive", "type": "string", "tags": [], "label": "dataArchive", @@ -2814,7 +2822,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.esArgs", + "id": "def-common.CreateTestEsClusterOptions.esArgs", "type": "Array", "tags": [], "label": "esArgs", @@ -2830,7 +2838,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.esFrom", + "id": "def-common.CreateTestEsClusterOptions.esFrom", "type": "string", "tags": [], "label": "esFrom", @@ -2844,7 +2852,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.esJavaOpts", + "id": "def-common.CreateTestEsClusterOptions.esJavaOpts", "type": "string", "tags": [], "label": "esJavaOpts", @@ -2858,7 +2866,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.license", + "id": "def-common.CreateTestEsClusterOptions.license", "type": "CompoundType", "tags": [], "label": "license", @@ -2874,7 +2882,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.log", + "id": "def-common.CreateTestEsClusterOptions.log", "type": "Object", "tags": [], "label": "log", @@ -2882,9 +2890,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -2894,7 +2902,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.writeLogsToPath", + "id": "def-common.CreateTestEsClusterOptions.writeLogsToPath", "type": "string", "tags": [], "label": "writeLogsToPath", @@ -2908,7 +2916,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.nodes", + "id": "def-common.CreateTestEsClusterOptions.nodes", "type": "Array", "tags": [], "label": "nodes", @@ -2924,7 +2932,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.password", + "id": "def-common.CreateTestEsClusterOptions.password", "type": "string", "tags": [], "label": "password", @@ -2940,7 +2948,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.port", + "id": "def-common.CreateTestEsClusterOptions.port", "type": "number", "tags": [], "label": "port", @@ -2956,7 +2964,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.ssl", + "id": "def-common.CreateTestEsClusterOptions.ssl", "type": "CompoundType", "tags": [], "label": "ssl", @@ -2972,7 +2980,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.transportPort", + "id": "def-common.CreateTestEsClusterOptions.transportPort", "type": "CompoundType", "tags": [], "label": "transportPort", @@ -2988,7 +2996,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.onEarlyExit", + "id": "def-common.CreateTestEsClusterOptions.onEarlyExit", "type": "Function", "tags": [], "label": "onEarlyExit", @@ -3004,7 +3012,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.CreateTestEsClusterOptions.onEarlyExit.$1", + "id": "def-common.CreateTestEsClusterOptions.onEarlyExit.$1", "type": "string", "tags": [], "label": "msg", @@ -3025,7 +3033,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServer", + "id": "def-common.DockerServer", "type": "Interface", "tags": [], "label": "DockerServer", @@ -3033,17 +3041,17 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServer", + "section": "def-common.DockerServer", "text": "DockerServer" }, " extends ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServerSpec", + "section": "def-common.DockerServerSpec", "text": "DockerServerSpec" } ], @@ -3053,7 +3061,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServer.name", + "id": "def-common.DockerServer.name", "type": "string", "tags": [], "label": "name", @@ -3064,7 +3072,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServer.url", + "id": "def-common.DockerServer.url", "type": "string", "tags": [], "label": "url", @@ -3078,7 +3086,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec", + "id": "def-common.DockerServerSpec", "type": "Interface", "tags": [], "label": "DockerServerSpec", @@ -3089,7 +3097,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.enabled", + "id": "def-common.DockerServerSpec.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -3100,7 +3108,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.portInContainer", + "id": "def-common.DockerServerSpec.portInContainer", "type": "number", "tags": [], "label": "portInContainer", @@ -3111,7 +3119,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.port", + "id": "def-common.DockerServerSpec.port", "type": "number", "tags": [], "label": "port", @@ -3122,7 +3130,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.image", + "id": "def-common.DockerServerSpec.image", "type": "string", "tags": [], "label": "image", @@ -3133,7 +3141,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.waitForLogLine", + "id": "def-common.DockerServerSpec.waitForLogLine", "type": "CompoundType", "tags": [], "label": "waitForLogLine", @@ -3147,7 +3155,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.waitForLogLineTimeoutMs", + "id": "def-common.DockerServerSpec.waitForLogLineTimeoutMs", "type": "number", "tags": [], "label": "waitForLogLineTimeoutMs", @@ -3161,7 +3169,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.waitFor", + "id": "def-common.DockerServerSpec.waitFor", "type": "Function", "tags": [], "label": "waitFor", @@ -3172,9 +3180,9 @@ "((server: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServer", + "section": "def-common.DockerServer", "text": "DockerServer" }, ", logLine$: ", @@ -3189,7 +3197,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.waitFor.$1", + "id": "def-common.DockerServerSpec.waitFor.$1", "type": "Object", "tags": [], "label": "server", @@ -3197,9 +3205,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServer", + "section": "def-common.DockerServer", "text": "DockerServer" } ], @@ -3210,7 +3218,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.waitFor.$2", + "id": "def-common.DockerServerSpec.waitFor.$2", "type": "Object", "tags": [], "label": "logLine$", @@ -3229,7 +3237,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.DockerServerSpec.args", + "id": "def-common.DockerServerSpec.args", "type": "Array", "tags": [], "label": "args", @@ -3246,7 +3254,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsClientForTestingOptions", + "id": "def-common.EsClientForTestingOptions", "type": "Interface", "tags": [], "label": "EsClientForTestingOptions", @@ -3256,9 +3264,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsClientForTestingOptions", + "section": "def-common.EsClientForTestingOptions", "text": "EsClientForTestingOptions" }, " extends Omit<", @@ -3271,7 +3279,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.EsClientForTestingOptions.esUrl", + "id": "def-common.EsClientForTestingOptions.esUrl", "type": "string", "tags": [], "label": "esUrl", @@ -3284,7 +3292,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsClientForTestingOptions.authOverride", + "id": "def-common.EsClientForTestingOptions.authOverride", "type": "Object", "tags": [], "label": "authOverride", @@ -3300,7 +3308,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsClientForTestingOptions.isCloud", + "id": "def-common.EsClientForTestingOptions.isCloud", "type": "CompoundType", "tags": [], "label": "isCloud", @@ -3319,7 +3327,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProviderContext", + "id": "def-common.FtrConfigProviderContext", "type": "Interface", "tags": [], "label": "FtrConfigProviderContext", @@ -3330,7 +3338,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProviderContext.log", + "id": "def-common.FtrConfigProviderContext.log", "type": "Object", "tags": [], "label": "log", @@ -3338,9 +3346,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -3350,7 +3358,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProviderContext.esVersion", + "id": "def-common.FtrConfigProviderContext.esVersion", "type": "Object", "tags": [], "label": "esVersion", @@ -3358,9 +3366,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" } ], @@ -3370,7 +3378,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProviderContext.readConfigFile", + "id": "def-common.FtrConfigProviderContext.readConfigFile", "type": "Function", "tags": [], "label": "readConfigFile", @@ -3379,9 +3387,9 @@ "(path: string) => Promise<", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, ">" @@ -3392,7 +3400,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProviderContext.readConfigFile.$1", + "id": "def-common.FtrConfigProviderContext.readConfigFile.$1", "type": "string", "tags": [], "label": "path", @@ -3413,7 +3421,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext", + "id": "def-common.GenericFtrProviderContext", "type": "Interface", "tags": [], "label": "GenericFtrProviderContext", @@ -3421,9 +3429,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.GenericFtrProviderContext", + "section": "def-common.GenericFtrProviderContext", "text": "GenericFtrProviderContext" }, "" @@ -3434,7 +3442,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService", + "id": "def-common.GenericFtrProviderContext.hasService", "type": "Function", "tags": [], "label": "hasService", @@ -3450,7 +3458,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService.$1", + "id": "def-common.GenericFtrProviderContext.hasService.$1", "type": "CompoundType", "tags": [], "label": "serviceName", @@ -3468,7 +3476,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService", + "id": "def-common.GenericFtrProviderContext.hasService", "type": "Function", "tags": [], "label": "hasService", @@ -3482,7 +3490,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService.$1", + "id": "def-common.GenericFtrProviderContext.hasService.$1", "type": "Uncategorized", "tags": [], "label": "serviceName", @@ -3500,7 +3508,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService", + "id": "def-common.GenericFtrProviderContext.hasService", "type": "Function", "tags": [], "label": "hasService", @@ -3514,7 +3522,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.hasService.$1", + "id": "def-common.GenericFtrProviderContext.hasService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3532,7 +3540,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3543,41 +3551,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3590,7 +3598,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3608,7 +3616,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3617,41 +3625,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3664,7 +3672,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3682,7 +3690,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3691,41 +3699,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3738,7 +3746,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3756,7 +3764,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3765,41 +3773,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3812,7 +3820,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3830,7 +3838,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3839,41 +3847,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3886,7 +3894,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3904,7 +3912,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3913,41 +3921,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -3960,7 +3968,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "string", "tags": [], "label": "serviceName", @@ -3978,7 +3986,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService", + "id": "def-common.GenericFtrProviderContext.getService", "type": "Function", "tags": [], "label": "getService", @@ -3987,41 +3995,41 @@ "{ (serviceName: \"config\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Config", + "section": "def-common.Config", "text": "Config" }, "; (serviceName: \"log\"): ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, "; (serviceName: \"lifecycle\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Lifecycle", + "section": "def-common.Lifecycle", "text": "Lifecycle" }, "; (serviceName: \"dockerServers\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.DockerServersService", + "section": "def-common.DockerServersService", "text": "DockerServersService" }, "; (serviceName: \"esVersion\"): ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.EsVersion", + "section": "def-common.EsVersion", "text": "EsVersion" }, "; (serviceName: \"dedicatedTaskRunner\"): ", @@ -4034,7 +4042,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getService.$1", + "id": "def-common.GenericFtrProviderContext.getService.$1", "type": "Uncategorized", "tags": [], "label": "serviceName", @@ -4052,7 +4060,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getPageObject", + "id": "def-common.GenericFtrProviderContext.getPageObject", "type": "Function", "tags": [], "label": "getPageObject", @@ -4068,7 +4076,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getPageObject.$1", + "id": "def-common.GenericFtrProviderContext.getPageObject.$1", "type": "Uncategorized", "tags": [], "label": "pageObjectName", @@ -4086,7 +4094,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getPageObjects", + "id": "def-common.GenericFtrProviderContext.getPageObjects", "type": "Function", "tags": [], "label": "getPageObjects", @@ -4102,7 +4110,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.getPageObjects.$1", + "id": "def-common.GenericFtrProviderContext.getPageObjects.$1", "type": "Array", "tags": [], "label": "pageObjects", @@ -4120,7 +4128,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.loadTestFile", + "id": "def-common.GenericFtrProviderContext.loadTestFile", "type": "Function", "tags": [], "label": "loadTestFile", @@ -4136,7 +4144,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.loadTestFile.$1", + "id": "def-common.GenericFtrProviderContext.loadTestFile.$1", "type": "string", "tags": [], "label": "path", @@ -4154,7 +4162,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.GenericFtrProviderContext.updateBaselines", + "id": "def-common.GenericFtrProviderContext.updateBaselines", "type": "boolean", "tags": [], "label": "updateBaselines", @@ -4170,7 +4178,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster", + "id": "def-common.ICluster", "type": "Interface", "tags": [], "label": "ICluster", @@ -4181,7 +4189,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.ports", + "id": "def-common.ICluster.ports", "type": "Array", "tags": [], "label": "ports", @@ -4195,13 +4203,20 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.nodes", + "id": "def-common.ICluster.nodes", "type": "Array", "tags": [], "label": "nodes", "description": [], "signature": [ - "Node[]" + { + "pluginId": "@kbn/es", + "scope": "common", + "docId": "kibKbnEsPluginApi", + "section": "def-common.Cluster", + "text": "Cluster" + }, + "[]" ], "path": "packages/kbn-test/src/es/test_es_cluster.ts", "deprecated": false, @@ -4209,7 +4224,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.getStartTimeout", + "id": "def-common.ICluster.getStartTimeout", "type": "Function", "tags": [], "label": "getStartTimeout", @@ -4225,7 +4240,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.start", + "id": "def-common.ICluster.start", "type": "Function", "tags": [], "label": "start", @@ -4241,7 +4256,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.stop", + "id": "def-common.ICluster.stop", "type": "Function", "tags": [], "label": "stop", @@ -4257,7 +4272,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.cleanup", + "id": "def-common.ICluster.cleanup", "type": "Function", "tags": [], "label": "cleanup", @@ -4273,7 +4288,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.getClient", + "id": "def-common.ICluster.getClient", "type": "Function", "tags": [], "label": "getClient", @@ -4290,7 +4305,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ICluster.getHostUrls", + "id": "def-common.ICluster.getHostUrls", "type": "Function", "tags": [], "label": "getHostUrls", @@ -4309,7 +4324,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions", + "id": "def-common.KbnClientOptions", "type": "Interface", "tags": [], "label": "KbnClientOptions", @@ -4320,7 +4335,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions.url", + "id": "def-common.KbnClientOptions.url", "type": "string", "tags": [], "label": "url", @@ -4331,7 +4346,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions.certificateAuthorities", + "id": "def-common.KbnClientOptions.certificateAuthorities", "type": "Array", "tags": [], "label": "certificateAuthorities", @@ -4345,7 +4360,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions.log", + "id": "def-common.KbnClientOptions.log", "type": "Object", "tags": [], "label": "log", @@ -4353,9 +4368,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -4365,7 +4380,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions.uiSettingDefaults", + "id": "def-common.KbnClientOptions.uiSettingDefaults", "type": "Object", "tags": [], "label": "uiSettingDefaults", @@ -4380,7 +4395,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.KbnClientOptions.importExportBaseDir", + "id": "def-common.KbnClientOptions.importExportBaseDir", "type": "string", "tags": [], "label": "importExportBaseDir", @@ -4397,18 +4412,89 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite", + "id": "def-common.Suite", "type": "Interface", "tags": [], "label": "Suite", "description": [], + "signature": [ + { + "pluginId": "@kbn/test", + "scope": "common", + "docId": "kibKbnTestPluginApi", + "section": "def-common.Suite", + "text": "Suite" + }, + " extends ", + "Runnable" + ], "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.currentTest", + "id": "def-common.Suite._beforeAll", + "type": "Array", + "tags": [], + "label": "_beforeAll", + "description": [], + "signature": [ + "Runnable", + "[]" + ], + "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.Suite._beforeEach", + "type": "Array", + "tags": [], + "label": "_beforeEach", + "description": [], + "signature": [ + "Runnable", + "[]" + ], + "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.Suite._afterEach", + "type": "Array", + "tags": [], + "label": "_afterEach", + "description": [], + "signature": [ + "Runnable", + "[]" + ], + "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.Suite._afterAll", + "type": "Array", + "tags": [], + "label": "_afterAll", + "description": [], + "signature": [ + "Runnable", + "[]" + ], + "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.Suite.currentTest", "type": "Object", "tags": [], "label": "currentTest", @@ -4416,9 +4502,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, " | undefined" @@ -4429,7 +4515,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.suites", + "id": "def-common.Suite.suites", "type": "Array", "tags": [], "label": "suites", @@ -4437,9 +4523,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, "[]" @@ -4450,7 +4536,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.tests", + "id": "def-common.Suite.tests", "type": "Array", "tags": [], "label": "tests", @@ -4458,9 +4544,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, "[]" @@ -4471,7 +4557,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.title", + "id": "def-common.Suite.title", "type": "string", "tags": [], "label": "title", @@ -4482,7 +4568,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.file", + "id": "def-common.Suite.file", "type": "string", "tags": [], "label": "file", @@ -4493,7 +4579,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.parent", + "id": "def-common.Suite.parent", "type": "Object", "tags": [], "label": "parent", @@ -4501,9 +4587,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, " | undefined" @@ -4514,7 +4600,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.eachTest", + "id": "def-common.Suite.eachTest", "type": "Function", "tags": [], "label": "eachTest", @@ -4523,9 +4609,9 @@ "(cb: (test: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, ") => void) => void" @@ -4536,7 +4622,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.eachTest.$1", + "id": "def-common.Suite.eachTest.$1", "type": "Function", "tags": [], "label": "cb", @@ -4545,9 +4631,9 @@ "(test: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Test", + "section": "def-common.Test", "text": "Test" }, ") => void" @@ -4562,7 +4648,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.root", + "id": "def-common.Suite.root", "type": "boolean", "tags": [], "label": "root", @@ -4573,7 +4659,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Suite.suiteTag", + "id": "def-common.Suite.suiteTag", "type": "string", "tags": [], "label": "suiteTag", @@ -4587,18 +4673,29 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test", + "id": "def-common.Test", "type": "Interface", "tags": [], "label": "Test", "description": [], + "signature": [ + { + "pluginId": "@kbn/test", + "scope": "common", + "docId": "kibKbnTestPluginApi", + "section": "def-common.Test", + "text": "Test" + }, + " extends ", + "Runnable" + ], "path": "packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.Test.fullTitle", + "id": "def-common.Test.fullTitle", "type": "Function", "tags": [], "label": "fullTitle", @@ -4614,7 +4711,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test.title", + "id": "def-common.Test.title", "type": "string", "tags": [], "label": "title", @@ -4625,7 +4722,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test.file", + "id": "def-common.Test.file", "type": "string", "tags": [], "label": "file", @@ -4639,7 +4736,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test.parent", + "id": "def-common.Test.parent", "type": "Object", "tags": [], "label": "parent", @@ -4647,9 +4744,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.Suite", + "section": "def-common.Suite", "text": "Suite" }, " | undefined" @@ -4660,7 +4757,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test.isPassed", + "id": "def-common.Test.isPassed", "type": "Function", "tags": [], "label": "isPassed", @@ -4676,7 +4773,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.Test.pending", + "id": "def-common.Test.pending", "type": "CompoundType", "tags": [], "label": "pending", @@ -4696,7 +4793,7 @@ "misc": [ { "parentPluginId": "@kbn/test", - "id": "def-server.CI_PARALLEL_PROCESS_PREFIX", + "id": "def-common.CI_PARALLEL_PROCESS_PREFIX", "type": "string", "tags": [], "label": "CI_PARALLEL_PROCESS_PREFIX", @@ -4710,7 +4807,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.EsTestCluster", + "id": "def-common.EsTestCluster", "type": "Type", "tags": [], "label": "EsTestCluster", @@ -4719,17 +4816,17 @@ "Options[\"nodes\"] extends TestEsClusterNodesOptions[] ? ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.ICluster", + "section": "def-common.ICluster", "text": "ICluster" }, " : ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.ICluster", + "section": "def-common.ICluster", "text": "ICluster" }, " & { getUrl: () => string; }" @@ -4741,7 +4838,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProvider", + "id": "def-common.FtrConfigProvider", "type": "Type", "tags": [], "label": "FtrConfigProvider", @@ -4750,9 +4847,9 @@ "(ctx: ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.FtrConfigProviderContext", + "section": "def-common.FtrConfigProviderContext", "text": "FtrConfigProviderContext" }, ") => T | Promise" @@ -4764,7 +4861,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.FtrConfigProvider.$1", + "id": "def-common.FtrConfigProvider.$1", "type": "Object", "tags": [], "label": "ctx", @@ -4772,9 +4869,9 @@ "signature": [ { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.FtrConfigProviderContext", + "section": "def-common.FtrConfigProviderContext", "text": "FtrConfigProviderContext" } ], @@ -4787,7 +4884,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.ProvidedType", + "id": "def-common.ProvidedType", "type": "Type", "tags": [], "label": "ProvidedType", @@ -4798,9 +4895,9 @@ "ReturnType extends Promise ? ", { "pluginId": "@kbn/test", - "scope": "server", + "scope": "common", "docId": "kibKbnTestPluginApi", - "section": "def-server.AsyncInstance", + "section": "def-common.AsyncInstance", "text": "AsyncInstance" }, " & X : ReturnType" @@ -4814,7 +4911,7 @@ "objects": [ { "parentPluginId": "@kbn/test", - "id": "def-server.adminTestUser", + "id": "def-common.adminTestUser", "type": "Object", "tags": [], "label": "adminTestUser", @@ -4825,7 +4922,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.adminTestUser.username", + "id": "def-common.adminTestUser.username", "type": "string", "tags": [], "label": "username", @@ -4836,7 +4933,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.adminTestUser.password", + "id": "def-common.adminTestUser.password", "type": "string", "tags": [], "label": "password", @@ -4850,7 +4947,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.esTestConfig", + "id": "def-common.esTestConfig", "type": "Object", "tags": [], "label": "esTestConfig", @@ -4865,7 +4962,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.kbnTestConfig", + "id": "def-common.kbnTestConfig", "type": "Object", "tags": [], "label": "kbnTestConfig", @@ -4880,7 +4977,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaServerTestUser", + "id": "def-common.kibanaServerTestUser", "type": "Object", "tags": [], "label": "kibanaServerTestUser", @@ -4891,7 +4988,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaServerTestUser.username", + "id": "def-common.kibanaServerTestUser.username", "type": "string", "tags": [], "label": "username", @@ -4902,7 +4999,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaServerTestUser.password", + "id": "def-common.kibanaServerTestUser.password", "type": "string", "tags": [], "label": "password", @@ -4916,7 +5013,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaTestUser", + "id": "def-common.kibanaTestUser", "type": "Object", "tags": [], "label": "kibanaTestUser", @@ -4927,7 +5024,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaTestUser.username", + "id": "def-common.kibanaTestUser.username", "type": "string", "tags": [], "label": "username", @@ -4938,7 +5035,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.kibanaTestUser.password", + "id": "def-common.kibanaTestUser.password", "type": "string", "tags": [], "label": "password", @@ -4952,7 +5049,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.systemIndicesSuperuser", + "id": "def-common.systemIndicesSuperuser", "type": "Object", "tags": [], "label": "systemIndicesSuperuser", @@ -4965,7 +5062,7 @@ "children": [ { "parentPluginId": "@kbn/test", - "id": "def-server.systemIndicesSuperuser.username", + "id": "def-common.systemIndicesSuperuser.username", "type": "string", "tags": [], "label": "username", @@ -4976,7 +5073,7 @@ }, { "parentPluginId": "@kbn/test", - "id": "def-server.systemIndicesSuperuser.password", + "id": "def-common.systemIndicesSuperuser.password", "type": "string", "tags": [], "label": "password", @@ -4989,13 +5086,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 477279b553bf5..d303a57b482ae 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; @@ -21,22 +21,22 @@ Contact Operations for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 265 | 4 | 221 | 11 | +| 269 | 4 | 225 | 12 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_test_jest_helpers.devdocs.json b/api_docs/kbn_test_jest_helpers.devdocs.json index 422c1223f0432..d3d8f95078bf4 100644 --- a/api_docs/kbn_test_jest_helpers.devdocs.json +++ b/api_docs/kbn_test_jest_helpers.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage", + "id": "def-common.StubBrowserStorage", "type": "Class", "tags": [], "label": "StubBrowserStorage", @@ -20,9 +28,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.StubBrowserStorage", + "section": "def-common.StubBrowserStorage", "text": "StubBrowserStorage" }, " implements Storage" @@ -33,7 +41,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.length", + "id": "def-common.StubBrowserStorage.length", "type": "number", "tags": [], "label": "length", @@ -44,7 +52,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.key", + "id": "def-common.StubBrowserStorage.key", "type": "Function", "tags": [], "label": "key", @@ -58,7 +66,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.key.$1", + "id": "def-common.StubBrowserStorage.key.$1", "type": "number", "tags": [], "label": "i", @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.getItem", + "id": "def-common.StubBrowserStorage.getItem", "type": "Function", "tags": [], "label": "getItem", @@ -90,7 +98,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.getItem.$1", + "id": "def-common.StubBrowserStorage.getItem.$1", "type": "string", "tags": [], "label": "key", @@ -108,7 +116,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.setItem", + "id": "def-common.StubBrowserStorage.setItem", "type": "Function", "tags": [], "label": "setItem", @@ -122,7 +130,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.setItem.$1", + "id": "def-common.StubBrowserStorage.setItem.$1", "type": "string", "tags": [], "label": "key", @@ -137,7 +145,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.setItem.$2", + "id": "def-common.StubBrowserStorage.setItem.$2", "type": "string", "tags": [], "label": "value", @@ -155,7 +163,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.removeItem", + "id": "def-common.StubBrowserStorage.removeItem", "type": "Function", "tags": [], "label": "removeItem", @@ -169,7 +177,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.removeItem.$1", + "id": "def-common.StubBrowserStorage.removeItem.$1", "type": "string", "tags": [], "label": "key", @@ -187,7 +195,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.clear", + "id": "def-common.StubBrowserStorage.clear", "type": "Function", "tags": [], "label": "clear", @@ -203,7 +211,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.setStubbedSizeLimit", + "id": "def-common.StubBrowserStorage.setStubbedSizeLimit", "type": "Function", "tags": [], "label": "setStubbedSizeLimit", @@ -217,7 +225,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.setStubbedSizeLimit.$1", + "id": "def-common.StubBrowserStorage.setStubbedSizeLimit.$1", "type": "number", "tags": [], "label": "sizeLimit", @@ -235,7 +243,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.getStubbedSizeLimit", + "id": "def-common.StubBrowserStorage.getStubbedSizeLimit", "type": "Function", "tags": [], "label": "getStubbedSizeLimit", @@ -251,7 +259,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.StubBrowserStorage.getStubbedSize", + "id": "def-common.StubBrowserStorage.getStubbedSize", "type": "Function", "tags": [], "label": "getStubbedSize", @@ -272,7 +280,7 @@ "functions": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.clearBroadcastChannelInstances", + "id": "def-common.clearBroadcastChannelInstances", "type": "Function", "tags": [], "label": "clearBroadcastChannelInstances", @@ -291,7 +299,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.delay", + "id": "def-common.delay", "type": "Function", "tags": [], "label": "delay", @@ -305,7 +313,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.delay.$1", + "id": "def-common.delay.$1", "type": "number", "tags": [], "label": "time", @@ -324,7 +332,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.expectToBeAccessible", + "id": "def-common.expectToBeAccessible", "type": "Function", "tags": [], "label": "expectToBeAccessible", @@ -342,7 +350,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.expectToBeAccessible.$1", + "id": "def-common.expectToBeAccessible.$1", "type": "Object", "tags": [], "label": "component", @@ -361,7 +369,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.findTestSubject", + "id": "def-common.findTestSubject", "type": "Function", "tags": [], "label": "findTestSubject", @@ -383,7 +391,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.findTestSubject.$1", + "id": "def-common.findTestSubject.$1", "type": "Object", "tags": [], "label": "reactWrapper", @@ -401,7 +409,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.findTestSubject.$2", + "id": "def-common.findTestSubject.$2", "type": "Uncategorized", "tags": [], "label": "testSubjectSelector", @@ -418,7 +426,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.findTestSubject.$3", + "id": "def-common.findTestSubject.$3", "type": "CompoundType", "tags": [], "label": "matcher", @@ -439,7 +447,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getA11yViolations", + "id": "def-common.getA11yViolations", "type": "Function", "tags": [], "label": "getA11yViolations", @@ -459,7 +467,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getA11yViolations.$1", + "id": "def-common.getA11yViolations.$1", "type": "Object", "tags": [], "label": "component", @@ -478,7 +486,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getBroadcastChannelInstances", + "id": "def-common.getBroadcastChannelInstances", "type": "Function", "tags": [], "label": "getBroadcastChannelInstances", @@ -499,7 +507,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomNumber", + "id": "def-common.getRandomNumber", "type": "Function", "tags": [], "label": "getRandomNumber", @@ -513,7 +521,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomNumber.$1", + "id": "def-common.getRandomNumber.$1", "type": "Object", "tags": [], "label": "range", @@ -524,7 +532,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomNumber.$1.min", + "id": "def-common.getRandomNumber.$1.min", "type": "number", "tags": [], "label": "min", @@ -535,7 +543,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomNumber.$1.max", + "id": "def-common.getRandomNumber.$1.max", "type": "number", "tags": [], "label": "max", @@ -552,7 +560,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomString", + "id": "def-common.getRandomString", "type": "Function", "tags": [], "label": "getRandomString", @@ -566,7 +574,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.getRandomString.$1", + "id": "def-common.getRandomString.$1", "type": "Object", "tags": [], "label": "options", @@ -585,7 +593,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountHook", + "id": "def-common.mountHook", "type": "Function", "tags": [ "return" @@ -603,7 +611,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountHook.$1", + "id": "def-common.mountHook.$1", "type": "Function", "tags": [], "label": "body", @@ -620,7 +628,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountHook.$2", + "id": "def-common.mountHook.$2", "type": "CompoundType", "tags": [], "label": "WrapperComponent", @@ -637,7 +645,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountHook.$3", + "id": "def-common.mountHook.$3", "type": "Uncategorized", "tags": [], "label": "initialArgs", @@ -658,7 +666,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithI18nProvider", + "id": "def-common.mountWithI18nProvider", "type": "Function", "tags": [], "label": "mountWithI18nProvider", @@ -676,7 +684,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithI18nProvider.$1", + "id": "def-common.mountWithI18nProvider.$1", "type": "Object", "tags": [], "label": "child", @@ -695,7 +703,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl", + "id": "def-common.mountWithIntl", "type": "Function", "tags": [ "return" @@ -717,7 +725,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl.$1", + "id": "def-common.mountWithIntl.$1", "type": "Object", "tags": [], "label": "node", @@ -734,7 +742,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl.$2", + "id": "def-common.mountWithIntl.$2", "type": "Object", "tags": [], "label": "{\n context,\n childContextTypes,\n ...props\n }", @@ -745,7 +753,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl.$2.attachTo", + "id": "def-common.mountWithIntl.$2.attachTo", "type": "Object", "tags": [], "label": "attachTo", @@ -759,7 +767,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl.$2.context", + "id": "def-common.mountWithIntl.$2.context", "type": "Any", "tags": [], "label": "context", @@ -773,7 +781,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.mountWithIntl.$2.childContextTypes", + "id": "def-common.mountWithIntl.$2.childContextTypes", "type": "Object", "tags": [], "label": "childContextTypes", @@ -796,7 +804,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.nextTick", + "id": "def-common.nextTick", "type": "Function", "tags": [], "label": "nextTick", @@ -813,7 +821,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.nodeWithIntlProp", + "id": "def-common.nodeWithIntlProp", "type": "Function", "tags": [], "label": "nodeWithIntlProp", @@ -829,7 +837,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.nodeWithIntlProp.$1", + "id": "def-common.nodeWithIntlProp.$1", "type": "Object", "tags": [], "label": "node", @@ -848,7 +856,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed", + "id": "def-common.registerTestBed", "type": "Function", "tags": [], "label": "registerTestBed", @@ -861,17 +869,17 @@ "

, config: ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncTestBedConfig", + "section": "def-common.AsyncTestBedConfig", "text": "AsyncTestBedConfig" }, "

) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncSetupFunc", + "section": "def-common.AsyncSetupFunc", "text": "AsyncSetupFunc" }, ">" @@ -882,7 +890,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$1", + "id": "def-common.registerTestBed.$1", "type": "CompoundType", "tags": [], "label": "Component", @@ -900,7 +908,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$2", + "id": "def-common.registerTestBed.$2", "type": "Object", "tags": [], "label": "config", @@ -910,9 +918,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncTestBedConfig", + "section": "def-common.AsyncTestBedConfig", "text": "AsyncTestBedConfig" }, "

" @@ -928,7 +936,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed", + "id": "def-common.registerTestBed", "type": "Function", "tags": [], "label": "registerTestBed", @@ -939,17 +947,17 @@ "

, config: ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBedConfig", + "section": "def-common.TestBedConfig", "text": "TestBedConfig" }, "

| undefined) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.SyncSetupFunc", + "section": "def-common.SyncSetupFunc", "text": "SyncSetupFunc" }, ">" @@ -960,7 +968,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$1", + "id": "def-common.registerTestBed.$1", "type": "CompoundType", "tags": [], "label": "Component", @@ -976,7 +984,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$2", + "id": "def-common.registerTestBed.$2", "type": "Object", "tags": [], "label": "config", @@ -984,9 +992,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBedConfig", + "section": "def-common.TestBedConfig", "text": "TestBedConfig" }, "

| undefined" @@ -1002,7 +1010,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed", + "id": "def-common.registerTestBed", "type": "Function", "tags": [], "label": "registerTestBed", @@ -1013,25 +1021,25 @@ "

, config: ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncTestBedConfig", + "section": "def-common.AsyncTestBedConfig", "text": "AsyncTestBedConfig" }, "

| ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBedConfig", + "section": "def-common.TestBedConfig", "text": "TestBedConfig" }, "

| undefined) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.SetupFunc", + "section": "def-common.SetupFunc", "text": "SetupFunc" }, ">" @@ -1042,7 +1050,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$1", + "id": "def-common.registerTestBed.$1", "type": "CompoundType", "tags": [], "label": "Component", @@ -1058,7 +1066,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.registerTestBed.$2", + "id": "def-common.registerTestBed.$2", "type": "CompoundType", "tags": [], "label": "config", @@ -1066,17 +1074,17 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncTestBedConfig", + "section": "def-common.AsyncTestBedConfig", "text": "AsyncTestBedConfig" }, "

| ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBedConfig", + "section": "def-common.TestBedConfig", "text": "TestBedConfig" }, "

| undefined" @@ -1092,7 +1100,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.renderWithIntl", + "id": "def-common.renderWithIntl", "type": "Function", "tags": [ "return" @@ -1112,7 +1120,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.renderWithIntl.$1", + "id": "def-common.renderWithIntl.$1", "type": "Object", "tags": [], "label": "node", @@ -1129,7 +1137,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.renderWithIntl.$2", + "id": "def-common.renderWithIntl.$2", "type": "Object", "tags": [], "label": "{\n context,\n childContextTypes,\n ...props\n }", @@ -1140,7 +1148,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.renderWithIntl.$2.context", + "id": "def-common.renderWithIntl.$2.context", "type": "Any", "tags": [], "label": "context", @@ -1154,7 +1162,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.renderWithIntl.$2.childContextTypes", + "id": "def-common.renderWithIntl.$2.childContextTypes", "type": "Object", "tags": [], "label": "childContextTypes", @@ -1177,7 +1185,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementClientSizes", + "id": "def-common.setHTMLElementClientSizes", "type": "Function", "tags": [], "label": "setHTMLElementClientSizes", @@ -1191,7 +1199,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementClientSizes.$1", + "id": "def-common.setHTMLElementClientSizes.$1", "type": "number", "tags": [], "label": "width", @@ -1206,7 +1214,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementClientSizes.$2", + "id": "def-common.setHTMLElementClientSizes.$2", "type": "number", "tags": [], "label": "height", @@ -1225,7 +1233,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementOffset", + "id": "def-common.setHTMLElementOffset", "type": "Function", "tags": [], "label": "setHTMLElementOffset", @@ -1239,7 +1247,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementOffset.$1", + "id": "def-common.setHTMLElementOffset.$1", "type": "number", "tags": [], "label": "width", @@ -1254,7 +1262,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setHTMLElementOffset.$2", + "id": "def-common.setHTMLElementOffset.$2", "type": "number", "tags": [], "label": "height", @@ -1273,7 +1281,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetBBox", + "id": "def-common.setSVGElementGetBBox", "type": "Function", "tags": [], "label": "setSVGElementGetBBox", @@ -1287,7 +1295,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetBBox.$1", + "id": "def-common.setSVGElementGetBBox.$1", "type": "number", "tags": [], "label": "width", @@ -1302,7 +1310,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetBBox.$2", + "id": "def-common.setSVGElementGetBBox.$2", "type": "number", "tags": [], "label": "height", @@ -1317,7 +1325,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetBBox.$3", + "id": "def-common.setSVGElementGetBBox.$3", "type": "number", "tags": [], "label": "x", @@ -1332,7 +1340,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetBBox.$4", + "id": "def-common.setSVGElementGetBBox.$4", "type": "number", "tags": [], "label": "y", @@ -1351,7 +1359,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetComputedTextLength", + "id": "def-common.setSVGElementGetComputedTextLength", "type": "Function", "tags": [], "label": "setSVGElementGetComputedTextLength", @@ -1365,7 +1373,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.setSVGElementGetComputedTextLength.$1", + "id": "def-common.setSVGElementGetComputedTextLength.$1", "type": "number", "tags": [], "label": "width", @@ -1384,7 +1392,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithI18nProvider", + "id": "def-common.shallowWithI18nProvider", "type": "Function", "tags": [], "label": "shallowWithI18nProvider", @@ -1400,7 +1408,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithI18nProvider.$1", + "id": "def-common.shallowWithI18nProvider.$1", "type": "Object", "tags": [], "label": "child", @@ -1419,7 +1427,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithIntl", + "id": "def-common.shallowWithIntl", "type": "Function", "tags": [ "return" @@ -1441,7 +1449,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithIntl.$1", + "id": "def-common.shallowWithIntl.$1", "type": "Object", "tags": [], "label": "node", @@ -1458,7 +1466,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithIntl.$2", + "id": "def-common.shallowWithIntl.$2", "type": "Object", "tags": [], "label": "{\n context,\n childContextTypes,\n ...props\n }", @@ -1469,7 +1477,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithIntl.$2.context", + "id": "def-common.shallowWithIntl.$2.context", "type": "Any", "tags": [], "label": "context", @@ -1483,7 +1491,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.shallowWithIntl.$2.childContextTypes", + "id": "def-common.shallowWithIntl.$2.childContextTypes", "type": "Object", "tags": [], "label": "childContextTypes", @@ -1506,7 +1514,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.stubBroadcastChannel", + "id": "def-common.stubBroadcastChannel", "type": "Function", "tags": [], "label": "stubBroadcastChannel", @@ -1525,7 +1533,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.stubWebWorker", + "id": "def-common.stubWebWorker", "type": "Function", "tags": [], "label": "stubWebWorker", @@ -1542,7 +1550,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithMemoryRouter", + "id": "def-common.WithMemoryRouter", "type": "Function", "tags": [], "label": "WithMemoryRouter", @@ -1558,7 +1566,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithMemoryRouter.$1", + "id": "def-common.WithMemoryRouter.$1", "type": "Array", "tags": [], "label": "initialEntries", @@ -1574,7 +1582,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithMemoryRouter.$2", + "id": "def-common.WithMemoryRouter.$2", "type": "number", "tags": [], "label": "initialIndex", @@ -1593,7 +1601,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithRoute", + "id": "def-common.WithRoute", "type": "Function", "tags": [], "label": "WithRoute", @@ -1611,7 +1619,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithRoute.$1", + "id": "def-common.WithRoute.$1", "type": "CompoundType", "tags": [], "label": "componentRoutePath", @@ -1629,7 +1637,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithRoute.$2", + "id": "def-common.WithRoute.$2", "type": "Function", "tags": [], "label": "onRouter", @@ -1648,7 +1656,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithStore", + "id": "def-common.WithStore", "type": "Function", "tags": [], "label": "WithStore", @@ -1662,7 +1670,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.WithStore.$1", + "id": "def-common.WithStore.$1", "type": "Any", "tags": [], "label": "store", @@ -1683,7 +1691,7 @@ "interfaces": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.AsyncTestBedConfig", + "id": "def-common.AsyncTestBedConfig", "type": "Interface", "tags": [], "label": "AsyncTestBedConfig", @@ -1691,9 +1699,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.AsyncTestBedConfig", + "section": "def-common.AsyncTestBedConfig", "text": "AsyncTestBedConfig" }, " extends ", @@ -1706,7 +1714,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.AsyncTestBedConfig.doMountAsync", + "id": "def-common.AsyncTestBedConfig.doMountAsync", "type": "boolean", "tags": [], "label": "doMountAsync", @@ -1723,7 +1731,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.EuiTableMetaData", + "id": "def-common.EuiTableMetaData", "type": "Interface", "tags": [], "label": "EuiTableMetaData", @@ -1734,7 +1742,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.EuiTableMetaData.rows", + "id": "def-common.EuiTableMetaData.rows", "type": "Array", "tags": [], "label": "rows", @@ -1754,7 +1762,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.EuiTableMetaData.tableCellsValues", + "id": "def-common.EuiTableMetaData.tableCellsValues", "type": "Array", "tags": [], "label": "tableCellsValues", @@ -1773,7 +1781,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed", + "id": "def-common.TestBed", "type": "Interface", "tags": [], "label": "TestBed", @@ -1781,9 +1789,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBed", + "section": "def-common.TestBed", "text": "TestBed" }, "" @@ -1794,7 +1802,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.component", + "id": "def-common.TestBed.component", "type": "Object", "tags": [], "label": "component", @@ -1811,7 +1819,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.exists", + "id": "def-common.TestBed.exists", "type": "Function", "tags": [], "label": "exists", @@ -1827,7 +1835,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.exists.$1", + "id": "def-common.TestBed.exists.$1", "type": "Uncategorized", "tags": [], "label": "testSubject", @@ -1844,7 +1852,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.exists.$2", + "id": "def-common.TestBed.exists.$2", "type": "number", "tags": [], "label": "count", @@ -1864,7 +1872,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.find", + "id": "def-common.TestBed.find", "type": "Function", "tags": [], "label": "find", @@ -1883,7 +1891,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.find.$1", + "id": "def-common.TestBed.find.$1", "type": "Uncategorized", "tags": [], "label": "testSubject", @@ -1900,7 +1908,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.find.$2", + "id": "def-common.TestBed.find.$2", "type": "Object", "tags": [], "label": "reactWrapper", @@ -1919,7 +1927,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.setProps", + "id": "def-common.TestBed.setProps", "type": "Function", "tags": [], "label": "setProps", @@ -1935,7 +1943,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.setProps.$1", + "id": "def-common.TestBed.setProps.$1", "type": "Any", "tags": [], "label": "updatedProps", @@ -1955,7 +1963,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.form", + "id": "def-common.TestBed.form", "type": "Object", "tags": [], "label": "form", @@ -1975,7 +1983,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.table", + "id": "def-common.TestBed.table", "type": "Object", "tags": [], "label": "table", @@ -1984,9 +1992,9 @@ "{ getMetaData: (tableTestSubject: T) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.EuiTableMetaData", + "section": "def-common.EuiTableMetaData", "text": "EuiTableMetaData" }, "; }" @@ -1997,7 +2005,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBed.router", + "id": "def-common.TestBed.router", "type": "Object", "tags": [], "label": "router", @@ -2014,7 +2022,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBedConfig", + "id": "def-common.TestBedConfig", "type": "Interface", "tags": [], "label": "TestBedConfig", @@ -2022,9 +2030,9 @@ "signature": [ { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBedConfig", + "section": "def-common.TestBedConfig", "text": "TestBedConfig" }, " extends ", @@ -2037,7 +2045,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.TestBedConfig.doMountAsync", + "id": "def-common.TestBedConfig.doMountAsync", "type": "boolean", "tags": [], "label": "doMountAsync", @@ -2057,7 +2065,7 @@ "misc": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.AsyncSetupFunc", + "id": "def-common.AsyncSetupFunc", "type": "Type", "tags": [], "label": "AsyncSetupFunc", @@ -2066,9 +2074,9 @@ "(props?: P | undefined) => Promise<", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBed", + "section": "def-common.TestBed", "text": "TestBed" }, ">" @@ -2080,7 +2088,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.AsyncSetupFunc.$1", + "id": "def-common.AsyncSetupFunc.$1", "type": "Uncategorized", "tags": [], "label": "props", @@ -2097,7 +2105,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.SetupFunc", + "id": "def-common.SetupFunc", "type": "Type", "tags": [], "label": "SetupFunc", @@ -2106,17 +2114,17 @@ "(props?: P | undefined) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBed", + "section": "def-common.TestBed", "text": "TestBed" }, " | Promise<", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBed", + "section": "def-common.TestBed", "text": "TestBed" }, ">" @@ -2128,7 +2136,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.SetupFunc.$1", + "id": "def-common.SetupFunc.$1", "type": "Uncategorized", "tags": [], "label": "props", @@ -2145,7 +2153,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.SyncSetupFunc", + "id": "def-common.SyncSetupFunc", "type": "Type", "tags": [], "label": "SyncSetupFunc", @@ -2154,9 +2162,9 @@ "(props?: P | undefined) => ", { "pluginId": "@kbn/test-jest-helpers", - "scope": "server", + "scope": "common", "docId": "kibKbnTestJestHelpersPluginApi", - "section": "def-server.TestBed", + "section": "def-common.TestBed", "text": "TestBed" }, "" @@ -2168,7 +2176,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.SyncSetupFunc.$1", + "id": "def-common.SyncSetupFunc.$1", "type": "Uncategorized", "tags": [], "label": "props", @@ -2187,7 +2195,7 @@ "objects": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock", + "id": "def-common.reactRouterMock", "type": "Object", "tags": [], "label": "reactRouterMock", @@ -2198,7 +2206,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history", + "id": "def-common.reactRouterMock.history", "type": "Object", "tags": [], "label": "history", @@ -2209,7 +2217,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.push", + "id": "def-common.reactRouterMock.history.push", "type": "Function", "tags": [], "label": "push", @@ -2225,7 +2233,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.createHref", + "id": "def-common.reactRouterMock.history.createHref", "type": "Function", "tags": [], "label": "createHref", @@ -2241,7 +2249,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.createHref.$1", + "id": "def-common.reactRouterMock.history.createHref.$1", "type": "Object", "tags": [], "label": "location", @@ -2260,7 +2268,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.location", + "id": "def-common.reactRouterMock.history.location", "type": "Object", "tags": [], "label": "location", @@ -2271,7 +2279,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.location.pathname", + "id": "def-common.reactRouterMock.history.location.pathname", "type": "string", "tags": [], "label": "pathname", @@ -2282,7 +2290,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.location.search", + "id": "def-common.reactRouterMock.history.location.search", "type": "string", "tags": [], "label": "search", @@ -2293,7 +2301,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.location.state", + "id": "def-common.reactRouterMock.history.location.state", "type": "string", "tags": [], "label": "state", @@ -2304,7 +2312,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.history.location.hash", + "id": "def-common.reactRouterMock.history.location.hash", "type": "string", "tags": [], "label": "hash", @@ -2319,7 +2327,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route", + "id": "def-common.reactRouterMock.route", "type": "Object", "tags": [], "label": "route", @@ -2330,7 +2338,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route.location", + "id": "def-common.reactRouterMock.route.location", "type": "Object", "tags": [], "label": "location", @@ -2341,7 +2349,7 @@ "children": [ { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route.location.pathname", + "id": "def-common.reactRouterMock.route.location.pathname", "type": "string", "tags": [], "label": "pathname", @@ -2352,7 +2360,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route.location.search", + "id": "def-common.reactRouterMock.route.location.search", "type": "string", "tags": [], "label": "search", @@ -2363,7 +2371,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route.location.state", + "id": "def-common.reactRouterMock.route.location.state", "type": "string", "tags": [], "label": "state", @@ -2374,7 +2382,7 @@ }, { "parentPluginId": "@kbn/test-jest-helpers", - "id": "def-server.reactRouterMock.route.location.hash", + "id": "def-common.reactRouterMock.route.location.hash", "type": "string", "tags": [], "label": "hash", @@ -2391,13 +2399,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 4b269c81f3c1c..66bdf19cf3e33 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; @@ -23,20 +23,20 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 135 | 5 | 103 | 2 | -## Server +## Common ### Objects - + ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_test_subj_selector.devdocs.json b/api_docs/kbn_test_subj_selector.devdocs.json index 78c6606408451..304d53d593c86 100644 --- a/api_docs/kbn_test_subj_selector.devdocs.json +++ b/api_docs/kbn_test_subj_selector.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/test-subj-selector", - "id": "def-server.subj", + "id": "def-common.subj", "type": "Function", "tags": [], "label": "subj", @@ -29,7 +37,7 @@ "children": [ { "parentPluginId": "@kbn/test-subj-selector", - "id": "def-server.subj.$1", + "id": "def-common.subj.$1", "type": "string", "tags": [], "label": "selector", @@ -51,13 +59,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index fb4d7ab6ae34f..ca94ecf200122 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 1 | 0 | -## Server +## Common ### Functions - + diff --git a/api_docs/kbn_tooling_log.devdocs.json b/api_docs/kbn_tooling_log.devdocs.json index 22807adbce52d..95ebcb510a956 100644 --- a/api_docs/kbn_tooling_log.devdocs.json +++ b/api_docs/kbn_tooling_log.devdocs.json @@ -9,10 +9,18 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog", + "id": "def-common.ToolingLog", "type": "Class", "tags": [], "label": "ToolingLog", @@ -20,17 +28,17 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, " implements ", { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" } ], @@ -40,7 +48,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.Unnamed", + "id": "def-common.ToolingLog.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -54,7 +62,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.Unnamed.$1", + "id": "def-common.ToolingLog.Unnamed.$1", "type": "Object", "tags": [], "label": "writerConfig", @@ -62,9 +70,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogTextWriterConfig", + "section": "def-common.ToolingLogTextWriterConfig", "text": "ToolingLogTextWriterConfig" }, " | undefined" @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.Unnamed.$2", + "id": "def-common.ToolingLog.Unnamed.$2", "type": "Object", "tags": [], "label": "options", @@ -84,9 +92,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogOptions", + "section": "def-common.ToolingLogOptions", "text": "ToolingLogOptions" }, " | undefined" @@ -101,7 +109,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.getIndent", + "id": "def-common.ToolingLog.getIndent", "type": "Function", "tags": [], "label": "getIndent", @@ -119,7 +127,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.indent", + "id": "def-common.ToolingLog.indent", "type": "Function", "tags": [], "label": "indent", @@ -133,7 +141,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.indent.$1", + "id": "def-common.ToolingLog.indent.$1", "type": "number", "tags": [], "label": "delta", @@ -148,7 +156,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.indent.$2", + "id": "def-common.ToolingLog.indent.$2", "type": "Function", "tags": [], "label": "block", @@ -166,7 +174,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.verbose", + "id": "def-common.ToolingLog.verbose", "type": "Function", "tags": [], "label": "verbose", @@ -180,7 +188,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.verbose.$1", + "id": "def-common.ToolingLog.verbose.$1", "type": "Array", "tags": [], "label": "args", @@ -198,7 +206,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.debug", + "id": "def-common.ToolingLog.debug", "type": "Function", "tags": [], "label": "debug", @@ -212,7 +220,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.debug.$1", + "id": "def-common.ToolingLog.debug.$1", "type": "Array", "tags": [], "label": "args", @@ -230,7 +238,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.info", + "id": "def-common.ToolingLog.info", "type": "Function", "tags": [], "label": "info", @@ -244,7 +252,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.info.$1", + "id": "def-common.ToolingLog.info.$1", "type": "Array", "tags": [], "label": "args", @@ -262,7 +270,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.success", + "id": "def-common.ToolingLog.success", "type": "Function", "tags": [], "label": "success", @@ -276,7 +284,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.success.$1", + "id": "def-common.ToolingLog.success.$1", "type": "Array", "tags": [], "label": "args", @@ -294,7 +302,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.warning", + "id": "def-common.ToolingLog.warning", "type": "Function", "tags": [], "label": "warning", @@ -308,7 +316,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.warning.$1", + "id": "def-common.ToolingLog.warning.$1", "type": "Array", "tags": [], "label": "args", @@ -326,7 +334,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.error", + "id": "def-common.ToolingLog.error", "type": "Function", "tags": [], "label": "error", @@ -340,7 +348,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.error.$1", + "id": "def-common.ToolingLog.error.$1", "type": "CompoundType", "tags": [], "label": "error", @@ -358,7 +366,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.write", + "id": "def-common.ToolingLog.write", "type": "Function", "tags": [], "label": "write", @@ -372,7 +380,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.write.$1", + "id": "def-common.ToolingLog.write.$1", "type": "Array", "tags": [], "label": "args", @@ -390,7 +398,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.getWriters", + "id": "def-common.ToolingLog.getWriters", "type": "Function", "tags": [], "label": "getWriters", @@ -399,9 +407,9 @@ "() => ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Writer", + "section": "def-common.Writer", "text": "Writer" }, "[]" @@ -414,7 +422,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.setWriters", + "id": "def-common.ToolingLog.setWriters", "type": "Function", "tags": [], "label": "setWriters", @@ -423,9 +431,9 @@ "(writers: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Writer", + "section": "def-common.Writer", "text": "Writer" }, "[]) => void" @@ -436,7 +444,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.setWriters.$1", + "id": "def-common.ToolingLog.setWriters.$1", "type": "Array", "tags": [], "label": "writers", @@ -444,9 +452,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Writer", + "section": "def-common.Writer", "text": "Writer" }, "[]" @@ -461,7 +469,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.getWritten$", + "id": "def-common.ToolingLog.getWritten$", "type": "Function", "tags": [], "label": "getWritten$", @@ -472,9 +480,9 @@ "<", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" }, ">" @@ -487,7 +495,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.withType", + "id": "def-common.ToolingLog.withType", "type": "Function", "tags": [], "label": "withType", @@ -498,9 +506,9 @@ "(type: string) => ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" } ], @@ -510,7 +518,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLog.withType.$1", + "id": "def-common.ToolingLog.withType.$1", "type": "string", "tags": [], "label": "type", @@ -533,7 +541,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter", + "id": "def-common.ToolingLogCollectingWriter", "type": "Class", "tags": [], "label": "ToolingLogCollectingWriter", @@ -541,17 +549,17 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogCollectingWriter", + "section": "def-common.ToolingLogCollectingWriter", "text": "ToolingLogCollectingWriter" }, " extends ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogTextWriter", + "section": "def-common.ToolingLogTextWriter", "text": "ToolingLogTextWriter" } ], @@ -561,7 +569,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter.messages", + "id": "def-common.ToolingLogCollectingWriter.messages", "type": "Array", "tags": [], "label": "messages", @@ -575,7 +583,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter.Unnamed", + "id": "def-common.ToolingLogCollectingWriter.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -589,7 +597,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter.Unnamed.$1", + "id": "def-common.ToolingLogCollectingWriter.Unnamed.$1", "type": "CompoundType", "tags": [], "label": "level", @@ -607,7 +615,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter.write", + "id": "def-common.ToolingLogCollectingWriter.write", "type": "Function", "tags": [], "label": "write", @@ -618,9 +626,9 @@ "(msg: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" }, ") => boolean" @@ -631,7 +639,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogCollectingWriter.write.$1", + "id": "def-common.ToolingLogCollectingWriter.write.$1", "type": "Object", "tags": [], "label": "msg", @@ -639,9 +647,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" } ], @@ -658,7 +666,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter", + "id": "def-common.ToolingLogTextWriter", "type": "Class", "tags": [], "label": "ToolingLogTextWriter", @@ -666,17 +674,17 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogTextWriter", + "section": "def-common.ToolingLogTextWriter", "text": "ToolingLogTextWriter" }, " implements ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Writer", + "section": "def-common.Writer", "text": "Writer" } ], @@ -686,7 +694,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.level", + "id": "def-common.ToolingLogTextWriter.level", "type": "Object", "tags": [], "label": "level", @@ -700,7 +708,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.writeTo", + "id": "def-common.ToolingLogTextWriter.writeTo", "type": "Object", "tags": [], "label": "writeTo", @@ -714,7 +722,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.Unnamed", + "id": "def-common.ToolingLogTextWriter.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -728,7 +736,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.Unnamed.$1", + "id": "def-common.ToolingLogTextWriter.Unnamed.$1", "type": "Object", "tags": [], "label": "config", @@ -736,9 +744,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLogTextWriterConfig", + "section": "def-common.ToolingLogTextWriterConfig", "text": "ToolingLogTextWriterConfig" } ], @@ -752,7 +760,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write", + "id": "def-common.ToolingLogTextWriter.write", "type": "Function", "tags": [], "label": "write", @@ -761,9 +769,9 @@ "(msg: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" }, ") => boolean" @@ -774,7 +782,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write.$1", + "id": "def-common.ToolingLogTextWriter.write.$1", "type": "Object", "tags": [], "label": "msg", @@ -782,9 +790,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" } ], @@ -798,7 +806,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write", + "id": "def-common.ToolingLogTextWriter.write", "type": "Function", "tags": [], "label": "write", @@ -807,9 +815,9 @@ "(writeTo: { write(msg: string): void; }, prefix: string, msg: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" }, ") => void" @@ -820,7 +828,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write.$1", + "id": "def-common.ToolingLogTextWriter.write.$1", "type": "Object", "tags": [], "label": "writeTo", @@ -835,7 +843,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write.$2", + "id": "def-common.ToolingLogTextWriter.write.$2", "type": "string", "tags": [], "label": "prefix", @@ -850,7 +858,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriter.write.$3", + "id": "def-common.ToolingLogTextWriter.write.$3", "type": "Object", "tags": [], "label": "msg", @@ -858,9 +866,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" } ], @@ -879,7 +887,7 @@ "functions": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.getLogLevelFlagsHelp", + "id": "def-common.getLogLevelFlagsHelp", "type": "Function", "tags": [], "label": "getLogLevelFlagsHelp", @@ -893,7 +901,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.getLogLevelFlagsHelp.$1", + "id": "def-common.getLogLevelFlagsHelp.$1", "type": "string", "tags": [], "label": "defaultLogLevel", @@ -912,7 +920,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.parseLogLevel", + "id": "def-common.parseLogLevel", "type": "Function", "tags": [], "label": "parseLogLevel", @@ -926,7 +934,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.parseLogLevel.$1", + "id": "def-common.parseLogLevel.$1", "type": "CompoundType", "tags": [], "label": "name", @@ -945,7 +953,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.pickLevelFromFlags", + "id": "def-common.pickLevelFromFlags", "type": "Function", "tags": [], "label": "pickLevelFromFlags", @@ -959,7 +967,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.pickLevelFromFlags.$1", + "id": "def-common.pickLevelFromFlags.$1", "type": "Object", "tags": [], "label": "flags", @@ -974,7 +982,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.pickLevelFromFlags.$2", + "id": "def-common.pickLevelFromFlags.$2", "type": "Object", "tags": [], "label": "options", @@ -985,7 +993,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.pickLevelFromFlags.$2.default", + "id": "def-common.pickLevelFromFlags.$2.default", "type": "CompoundType", "tags": [], "label": "default", @@ -1007,7 +1015,7 @@ "interfaces": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Message", + "id": "def-common.Message", "type": "Interface", "tags": [], "label": "Message", @@ -1020,7 +1028,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Message.type", + "id": "def-common.Message.type", "type": "CompoundType", "tags": [], "label": "type", @@ -1036,7 +1044,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Message.indent", + "id": "def-common.Message.indent", "type": "number", "tags": [], "label": "indent", @@ -1049,7 +1057,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Message.source", + "id": "def-common.Message.source", "type": "string", "tags": [], "label": "source", @@ -1065,7 +1073,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Message.args", + "id": "def-common.Message.args", "type": "Array", "tags": [], "label": "args", @@ -1084,7 +1092,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogOptions", + "id": "def-common.ToolingLogOptions", "type": "Interface", "tags": [], "label": "ToolingLogOptions", @@ -1095,7 +1103,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogOptions.type", + "id": "def-common.ToolingLogOptions.type", "type": "string", "tags": [], "label": "type", @@ -1111,7 +1119,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogOptions.parent", + "id": "def-common.ToolingLogOptions.parent", "type": "Object", "tags": [], "label": "parent", @@ -1121,9 +1129,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.ToolingLog", + "section": "def-common.ToolingLog", "text": "ToolingLog" }, " | undefined" @@ -1137,7 +1145,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriterConfig", + "id": "def-common.ToolingLogTextWriterConfig", "type": "Interface", "tags": [], "label": "ToolingLogTextWriterConfig", @@ -1148,7 +1156,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriterConfig.level", + "id": "def-common.ToolingLogTextWriterConfig.level", "type": "CompoundType", "tags": [], "label": "level", @@ -1164,7 +1172,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriterConfig.ignoreSources", + "id": "def-common.ToolingLogTextWriterConfig.ignoreSources", "type": "Array", "tags": [], "label": "ignoreSources", @@ -1180,7 +1188,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ToolingLogTextWriterConfig.writeTo", + "id": "def-common.ToolingLogTextWriterConfig.writeTo", "type": "Object", "tags": [], "label": "writeTo", @@ -1199,7 +1207,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Writer", + "id": "def-common.Writer", "type": "Interface", "tags": [], "label": "Writer", @@ -1212,7 +1220,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Writer.write", + "id": "def-common.Writer.write", "type": "Function", "tags": [], "label": "write", @@ -1223,9 +1231,9 @@ "(msg: ", { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" }, ") => boolean" @@ -1236,7 +1244,7 @@ "children": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.Writer.write.$1", + "id": "def-common.Writer.write.$1", "type": "Object", "tags": [], "label": "msg", @@ -1246,9 +1254,9 @@ "signature": [ { "pluginId": "@kbn/tooling-log", - "scope": "server", + "scope": "common", "docId": "kibKbnToolingLogPluginApi", - "section": "def-server.Message", + "section": "def-common.Message", "text": "Message" } ], @@ -1268,7 +1276,7 @@ "misc": [ { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.DEFAULT_LOG_LEVEL", + "id": "def-common.DEFAULT_LOG_LEVEL", "type": "string", "tags": [], "label": "DEFAULT_LOG_LEVEL", @@ -1283,7 +1291,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.LOG_LEVEL_FLAGS", + "id": "def-common.LOG_LEVEL_FLAGS", "type": "Array", "tags": [], "label": "LOG_LEVEL_FLAGS", @@ -1298,7 +1306,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.LogLevel", + "id": "def-common.LogLevel", "type": "Type", "tags": [], "label": "LogLevel", @@ -1313,7 +1321,7 @@ }, { "parentPluginId": "@kbn/tooling-log", - "id": "def-server.ParsedLogLevel", + "id": "def-common.ParsedLogLevel", "type": "Type", "tags": [], "label": "ParsedLogLevel", @@ -1328,13 +1336,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 78c1ea59ababc..dba7783132c1c 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; @@ -23,17 +23,17 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 72 | 0 | 55 | 0 | -## Server +## Common ### Functions - + ### Classes - + ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_ts_project_linter.devdocs.json b/api_docs/kbn_ts_project_linter.devdocs.json new file mode 100644 index 0000000000000..090e6f7d015f7 --- /dev/null +++ b/api_docs/kbn_ts_project_linter.devdocs.json @@ -0,0 +1,238 @@ +{ + "id": "@kbn/ts-project-linter", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.ProjectFileMap", + "type": "Class", + "tags": [], + "label": "ProjectFileMap", + "description": [], + "path": "packages/kbn-ts-project-linter/lib/project_file_map.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.ProjectFileMap.preload", + "type": "Function", + "tags": [], + "label": "preload", + "description": [], + "signature": [ + "(projects: ", + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[]) => Promise" + ], + "path": "packages/kbn-ts-project-linter/lib/project_file_map.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.ProjectFileMap.preload.$1", + "type": "Array", + "tags": [], + "label": "projects", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[]" + ], + "path": "packages/kbn-ts-project-linter/lib/project_file_map.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.ProjectFileMap.getFiles", + "type": "Function", + "tags": [], + "label": "getFiles", + "description": [], + "signature": [ + "(project: ", + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + ") => ", + { + "pluginId": "@kbn/repo-path", + "scope": "common", + "docId": "kibKbnRepoPathPluginApi", + "section": "def-common.RepoPath", + "text": "RepoPath" + }, + "[]" + ], + "path": "packages/kbn-ts-project-linter/lib/project_file_map.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.ProjectFileMap.getFiles.$1", + "type": "Object", + "tags": [], + "label": "project", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + } + ], + "path": "packages/kbn-ts-project-linter/lib/project_file_map.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.lintProjects", + "type": "Function", + "tags": [], + "label": "lintProjects", + "description": [], + "signature": [ + "(log: ", + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + }, + ", projects: ", + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[], options: ", + "LintOptions", + ") => Promise<{ lintingErrorCount: number; }>" + ], + "path": "packages/kbn-ts-project-linter/lib/lint_projects.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.lintProjects.$1", + "type": "Object", + "tags": [], + "label": "log", + "description": [], + "signature": [ + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + } + ], + "path": "packages/kbn-ts-project-linter/lib/lint_projects.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.lintProjects.$2", + "type": "Array", + "tags": [], + "label": "projects", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[]" + ], + "path": "packages/kbn-ts-project-linter/lib/lint_projects.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ts-project-linter", + "id": "def-common.lintProjects.$3", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "LintOptions" + ], + "path": "packages/kbn-ts-project-linter/lib/lint_projects.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ts_project_linter.mdx b/api_docs/kbn_ts_project_linter.mdx new file mode 100644 index 0000000000000..3df6d029b18d8 --- /dev/null +++ b/api_docs/kbn_ts_project_linter.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnTsProjectLinterPluginApi +slug: /kibana-dev-docs/api/kbn-ts-project-linter +title: "@kbn/ts-project-linter" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ts-project-linter plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-project-linter'] +--- +import kbnTsProjectLinterObj from './kbn_ts_project_linter.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 9 | 0 | 9 | 1 | + +## Common + +### Functions + + +### Classes + + diff --git a/api_docs/kbn_ts_projects.devdocs.json b/api_docs/kbn_ts_projects.devdocs.json new file mode 100644 index 0000000000000..7445b6244e52a --- /dev/null +++ b/api_docs/kbn_ts_projects.devdocs.json @@ -0,0 +1,468 @@ +{ + "id": "@kbn/ts-projects", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project", + "type": "Class", + "tags": [], + "label": "Project", + "description": [], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.config", + "type": "Object", + "tags": [], + "label": "config", + "description": [ + "\nThe parsed config file from disk" + ], + "signature": [ + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.TsConfig", + "text": "TsConfig" + } + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.path", + "type": "string", + "tags": [], + "label": "path", + "description": [ + "absolute path to the tsconfig file defininig this project" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.repoRel", + "type": "string", + "tags": [], + "label": "repoRel", + "description": [ + "repo relative path to the tsconfig file defininig this project" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "name of this project" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.dir", + "type": "string", + "tags": [], + "label": "dir", + "description": [ + "The directory containing this ts project" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.directory", + "type": "string", + "tags": [], + "label": "directory", + "description": [ + "The directory containing this ts project" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.typeCheckConfigPath", + "type": "string", + "tags": [], + "label": "typeCheckConfigPath", + "description": [ + "absolute path to the tsconfig file that will be generated for type checking this file" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.disableTypeCheck", + "type": "boolean", + "tags": [], + "label": "disableTypeCheck", + "description": [ + "`true` if we want to explicitly exclude this entire project from type checking" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "others", + "description": [], + "signature": [ + "Map" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.Unnamed.$2", + "type": "string", + "tags": [], + "label": "path", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.Unnamed.$3", + "type": "Object", + "tags": [], + "label": "opts", + "description": [], + "signature": [ + "ProjectOptions", + " | undefined" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.reloadFromDisk", + "type": "Function", + "tags": [], + "label": "reloadFromDisk", + "description": [ + "\nupdates the project so that the tsconfig file will be\nread from disk the next time that this.config is accessed" + ], + "signature": [ + "() => void" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.overrideConfig", + "type": "Function", + "tags": [], + "label": "overrideConfig", + "description": [], + "signature": [ + "(jsonc: string) => void" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.overrideConfig.$1", + "type": "string", + "tags": [], + "label": "jsonc", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.getBase", + "type": "Function", + "tags": [], + "label": "getBase", + "description": [ + "\nGets the base config file for this tsconfig file. If the\n\"extends\" key is not defined this returns undefined" + ], + "signature": [ + "() => ", + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + " | undefined" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.getKbnRefs", + "type": "Function", + "tags": [], + "label": "getKbnRefs", + "description": [ + "\nGet the kbnRefs for this project" + ], + "signature": [ + "(pkgMap: ", + "PackageMap", + ") => ", + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[]" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.Project.getKbnRefs.$1", + "type": "Object", + "tags": [], + "label": "pkgMap", + "description": [], + "signature": [ + "PackageMap" + ], + "path": "packages/kbn-ts-projects/project.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [], + "interfaces": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig", + "type": "Interface", + "tags": [], + "label": "TsConfig", + "description": [], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.extends", + "type": "string", + "tags": [], + "label": "extends", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.compilerOptions", + "type": "Object", + "tags": [], + "label": "compilerOptions", + "description": [], + "signature": [ + "{ [key: string]: unknown; types?: string[] | undefined; } | undefined" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.include", + "type": "Array", + "tags": [], + "label": "include", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.exclude", + "type": "Array", + "tags": [], + "label": "exclude", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.kbn_references", + "type": "Array", + "tags": [], + "label": "kbn_references", + "description": [], + "signature": [ + "(string | { path: string; force?: boolean | undefined; })[] | undefined" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.TsConfig.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: unknown", + "description": [], + "signature": [ + "[key: string]: unknown" + ], + "path": "packages/kbn-ts-projects/ts_configfile.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/ts-projects", + "id": "def-common.PROJECTS", + "type": "Array", + "tags": [], + "label": "PROJECTS", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ts-projects", + "scope": "common", + "docId": "kibKbnTsProjectsPluginApi", + "section": "def-common.Project", + "text": "Project" + }, + "[]" + ], + "path": "packages/kbn-ts-projects/projects.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx new file mode 100644 index 0000000000000..8da1219800b34 --- /dev/null +++ b/api_docs/kbn_ts_projects.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnTsProjectsPluginApi +slug: /kibana-dev-docs/api/kbn-ts-projects +title: "@kbn/ts-projects" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ts-projects plugin +date: 2023-01-09 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] +--- +import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; + + + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 27 | 0 | 16 | 1 | + +## Common + +### Classes + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_type_summarizer.devdocs.json b/api_docs/kbn_type_summarizer.devdocs.json deleted file mode 100644 index 3e70eac82db20..0000000000000 --- a/api_docs/kbn_type_summarizer.devdocs.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "id": "@kbn/type-summarizer", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [ - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.summarizePackage", - "type": "Function", - "tags": [], - "label": "summarizePackage", - "description": [ - "\nProduce summary .d.ts files for a package" - ], - "signature": [ - "(log: ", - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.Logger", - "text": "Logger" - }, - ", options: ", - { - "pluginId": "@kbn/type-summarizer", - "scope": "server", - "docId": "kibKbnTypeSummarizerPluginApi", - "section": "def-server.SummarizePacakgeOptions", - "text": "SummarizePacakgeOptions" - }, - ") => Promise<", - "SourceNode", - ">" - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.summarizePackage.$1", - "type": "Object", - "tags": [], - "label": "log", - "description": [], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.Logger", - "text": "Logger" - } - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.summarizePackage.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "@kbn/type-summarizer", - "scope": "server", - "docId": "kibKbnTypeSummarizerPluginApi", - "section": "def-server.SummarizePacakgeOptions", - "text": "SummarizePacakgeOptions" - } - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.SummarizePacakgeOptions", - "type": "Interface", - "tags": [], - "label": "SummarizePacakgeOptions", - "description": [ - "\nOptions used to customize the summarizePackage function" - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.SummarizePacakgeOptions.dtsDir", - "type": "string", - "tags": [], - "label": "dtsDir", - "description": [ - "\nAbsolute path to the directory containing the .d.ts files produced by `tsc`. Maps to the\n`declarationDir` compiler option." - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.SummarizePacakgeOptions.tsconfigPath", - "type": "string", - "tags": [], - "label": "tsconfigPath", - "description": [ - "\nAbsolute path to the tsconfig.json file for the project we are summarizing" - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.SummarizePacakgeOptions.inputPath", - "type": "string", - "tags": [], - "label": "inputPath", - "description": [ - "\nArray of absolute paths to the .d.ts files which will be summarized. Each file in this\narray will cause an output .d.ts summary file to be created containing all the AST nodes\nwhich are exported or referenced by those exports." - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer", - "id": "def-server.SummarizePacakgeOptions.repoRelativePackageDir", - "type": "string", - "tags": [], - "label": "repoRelativePackageDir", - "description": [ - "\nRepo-relative path to the package source, for example `packages/kbn-type-summarizer-core` for\nthis package. This is used to provide the correct `sourceRoot` path in the resulting source\nmap files." - ], - "path": "packages/kbn-type-summarizer/src/summarize_package.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - } -} \ No newline at end of file diff --git a/api_docs/kbn_type_summarizer.mdx b/api_docs/kbn_type_summarizer.mdx deleted file mode 100644 index 4cda05cca2dc1..0000000000000 --- a/api_docs/kbn_type_summarizer.mdx +++ /dev/null @@ -1,33 +0,0 @@ ---- -#### -#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. -#### Reach out in #docs-engineering for more info. -#### -id: kibKbnTypeSummarizerPluginApi -slug: /kibana-dev-docs/api/kbn-type-summarizer -title: "@kbn/type-summarizer" -image: https://source.unsplash.com/400x175/?github -description: API docs for the @kbn/type-summarizer plugin -date: 2022-12-22 -tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer'] ---- -import kbnTypeSummarizerObj from './kbn_type_summarizer.devdocs.json'; - - - -Contact [Owner missing] for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 8 | 0 | 2 | 0 | - -## Server - -### Functions - - -### Interfaces - - diff --git a/api_docs/kbn_type_summarizer_core.devdocs.json b/api_docs/kbn_type_summarizer_core.devdocs.json deleted file mode 100644 index 26dee36a72a01..0000000000000 --- a/api_docs/kbn_type_summarizer_core.devdocs.json +++ /dev/null @@ -1,1992 +0,0 @@ -{ - "id": "@kbn/type-summarizer-core", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError", - "type": "Class", - "tags": [], - "label": "CliError", - "description": [ - "\nAn error type with specicial behavior when it bubbles up all the way to the root of the CLI" - ], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.CliError", - "text": "CliError" - }, - " extends Error" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError.exitCode", - "type": "number", - "tags": [], - "label": "exitCode", - "description": [], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError.showHelp", - "type": "boolean", - "tags": [], - "label": "showHelp", - "description": [], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [], - "signature": [ - "any" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError.Unnamed.$1", - "type": "string", - "tags": [], - "label": "message", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliError.Unnamed.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.CliErrorOptions", - "text": "CliErrorOptions" - } - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog", - "type": "Class", - "tags": [], - "label": "CliLog", - "description": [ - "\nLogger which writes messages in a text format designed for CLIs" - ], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.CliLog", - "text": "CliLog" - }, - " implements ", - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.Logger", - "text": "Logger" - } - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.parseLogLevel", - "type": "Function", - "tags": [], - "label": "parseLogLevel", - "description": [], - "signature": [ - "(level: \"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\") => LogLevelMap" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.parseLogLevel.$1", - "type": "CompoundType", - "tags": [], - "label": "level", - "description": [], - "signature": [ - "\"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\"" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.pickLogLevelFromFlags", - "type": "Function", - "tags": [], - "label": "pickLogLevelFromFlags", - "description": [], - "signature": [ - "(flags: ", - "ParsedOptions", - ", defaultLogLevl?: \"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\") => \"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\"" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.pickLogLevelFromFlags.$1", - "type": "Object", - "tags": [], - "label": "flags", - "description": [], - "signature": [ - "ParsedOptions" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.pickLogLevelFromFlags.$2", - "type": "CompoundType", - "tags": [], - "label": "defaultLogLevl", - "description": [], - "signature": [ - "\"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\"" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [], - "signature": [ - "any" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.Unnamed.$1", - "type": "CompoundType", - "tags": [], - "label": "level", - "description": [], - "signature": [ - "\"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\"" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.Unnamed.$2", - "type": "Object", - "tags": [], - "label": "writeTo", - "description": [], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.LogWriter", - "text": "LogWriter" - } - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.Unnamed.$3", - "type": "boolean", - "tags": [], - "label": "writeTimes", - "description": [], - "signature": [ - "boolean" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.info", - "type": "Function", - "tags": [], - "label": "info", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.info.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.info.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.warn", - "type": "Function", - "tags": [], - "label": "warn", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.warn.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.warn.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.error", - "type": "Function", - "tags": [], - "label": "error", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.error.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.error.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.debug", - "type": "Function", - "tags": [], - "label": "debug", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.debug.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.debug.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verbose", - "type": "Function", - "tags": [], - "label": "verbose", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verbose.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verbose.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.success", - "type": "Function", - "tags": [], - "label": "success", - "description": [], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.success.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.success.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.step", - "type": "Function", - "tags": [], - "label": "step", - "description": [], - "signature": [ - "(name: string, desc: string | ", - "Symbol", - " | ", - "Node", - " | null, block: () => T) => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.step.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.step.$2", - "type": "CompoundType", - "tags": [], - "label": "desc", - "description": [], - "signature": [ - "string | ", - "Symbol", - " | ", - "Node", - " | null" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.step.$3", - "type": "Function", - "tags": [], - "label": "block", - "description": [], - "signature": [ - "() => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verboseStep", - "type": "Function", - "tags": [], - "label": "verboseStep", - "description": [], - "signature": [ - "(name: string, desc: string | ", - "Symbol", - " | ", - "Node", - " | null, block: () => T) => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verboseStep.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verboseStep.$2", - "type": "CompoundType", - "tags": [], - "label": "desc", - "description": [], - "signature": [ - "string | ", - "Symbol", - " | ", - "Node", - " | null" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliLog.verboseStep.$3", - "type": "Function", - "tags": [], - "label": "block", - "description": [], - "signature": [ - "() => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap", - "type": "Class", - "tags": [], - "label": "SetMap", - "description": [ - "\nA class for collecting items (V) based on some key (K)" - ], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.SetMap", - "text": "SetMap" - }, - "" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.has", - "type": "Function", - "tags": [], - "label": "has", - "description": [ - "\nIs there a group for the `key`?" - ], - "signature": [ - "(key: K) => boolean" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.has.$1", - "type": "Uncategorized", - "tags": [], - "label": "key", - "description": [], - "signature": [ - "K" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.add", - "type": "Function", - "tags": [], - "label": "add", - "description": [ - "\nAdd a value to the group with `key`, if the group doesn't exist\nyet it is created." - ], - "signature": [ - "(key: K, value: V) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.add.$1", - "type": "Uncategorized", - "tags": [], - "label": "key", - "description": [], - "signature": [ - "K" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.add.$2", - "type": "Uncategorized", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "V" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.get", - "type": "Function", - "tags": [], - "label": "get", - "description": [ - "\nGet the group for the `key`, if the group doesn't exist then\n`undefined` is returned." - ], - "signature": [ - "(key: K) => Set | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.get.$1", - "type": "Uncategorized", - "tags": [], - "label": "key", - "description": [], - "signature": [ - "K" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.SetMap.values", - "type": "Function", - "tags": [], - "label": "values", - "description": [ - "\nReturns an iterator for the [K, V] entries stored in the SetMap" - ], - "signature": [ - "() => IterableIterator>" - ], - "path": "packages/kbn-type-summarizer-core/src/set_map.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.TestLog", - "type": "Class", - "tags": [], - "label": "TestLog", - "description": [ - "\nLogger which collects messages in memory for testing" - ], - "signature": [ - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.TestLog", - "text": "TestLog" - }, - " extends ", - { - "pluginId": "@kbn/type-summarizer-core", - "scope": "server", - "docId": "kibKbnTypeSummarizerCorePluginApi", - "section": "def-server.CliLog", - "text": "CliLog" - } - ], - "path": "packages/kbn-type-summarizer-core/src/log/test_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.TestLog.messages", - "type": "Array", - "tags": [], - "label": "messages", - "description": [], - "signature": [ - "string[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/test_log.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.TestLog.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [], - "signature": [ - "any" - ], - "path": "packages/kbn-type-summarizer-core/src/log/test_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "functions": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeNode", - "type": "Function", - "tags": [], - "label": "describeNode", - "description": [ - "\nTurn a Node instance into a string which describes the type, name, filename, and position of the node" - ], - "signature": [ - "(node: ", - "Node", - ", cwd: string | undefined) => string" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeNode.$1", - "type": "Object", - "tags": [], - "label": "node", - "description": [], - "signature": [ - "Node" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeNode.$2", - "type": "string", - "tags": [], - "label": "cwd", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeSymbol", - "type": "Function", - "tags": [], - "label": "describeSymbol", - "description": [ - "\nGet a human readable string describing a symbol, requires that symbols have a declaration\nwhich will be passed to describeNode()" - ], - "signature": [ - "(symbol: ", - "Symbol", - ", cwd: string | undefined) => string" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeSymbol.$1", - "type": "Object", - "tags": [], - "label": "symbol", - "description": [], - "signature": [ - "Symbol" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.describeSymbol.$2", - "type": "string", - "tags": [], - "label": "cwd", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.getKindName", - "type": "Function", - "tags": [], - "label": "getKindName", - "description": [ - "\nGet a human readable name of the syntax \"kind\". TS nodes use enums for their \"kind\" field\nwhich makes it tricky to know what you're looking at, and the `ts.SyntaxKind` map is lossy\nbecause many enum members have the same numeric value. To get around this we convert the\nts.SyntaxKind map into a `SetMap` which puts all the syntax kind names for a given number\ninto a set and allows us to report all possible type names from `getKindName()`" - ], - "signature": [ - "(node: ", - "Node", - ") => string" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.getKindName.$1", - "type": "Object", - "tags": [], - "label": "node", - "description": [], - "signature": [ - "Node" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.hasIdentifierName", - "type": "Function", - "tags": [], - "label": "hasIdentifierName", - "description": [ - "\nDoes this AST node have a name which is an identifier?" - ], - "signature": [ - "(node: any) => boolean" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.hasIdentifierName.$1", - "type": "Any", - "tags": [], - "label": "node", - "description": [], - "signature": [ - "any" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.isAliasSymbol", - "type": "Function", - "tags": [], - "label": "isAliasSymbol", - "description": [ - "\nIs this symbol pointing to another symbol?" - ], - "signature": [ - "(symbol: ", - "Symbol", - ") => boolean" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.isAliasSymbol.$1", - "type": "Object", - "tags": [], - "label": "symbol", - "description": [], - "signature": [ - "Symbol" - ], - "path": "packages/kbn-type-summarizer-core/src/ts_helpers.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.isSystemError", - "type": "Function", - "tags": [], - "label": "isSystemError", - "description": [ - "\nIs this error instance a Node.js system error which has an error code attached?" - ], - "signature": [ - "(error: Error) => boolean" - ], - "path": "packages/kbn-type-summarizer-core/src/error.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.isSystemError.$1", - "type": "Object", - "tags": [], - "label": "error", - "description": [], - "signature": [ - "Error" - ], - "path": "packages/kbn-type-summarizer-core/src/error.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.parseJson", - "type": "Function", - "tags": [], - "label": "parseJson", - "description": [ - "\nParse JSON, but thrown a more meaningful error message when parsing fails" - ], - "signature": [ - "(json: string, from: string | undefined) => any" - ], - "path": "packages/kbn-type-summarizer-core/src/json.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.parseJson.$1", - "type": "string", - "tags": [], - "label": "json", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/json.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.parseJson.$2", - "type": "string", - "tags": [], - "label": "from", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/json.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.toError", - "type": "Function", - "tags": [], - "label": "toError", - "description": [ - "\nConvert an unknown thrown value to an Error instance if it isn't alread" - ], - "signature": [ - "(thrown: unknown) => Error" - ], - "path": "packages/kbn-type-summarizer-core/src/error.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.toError.$1", - "type": "Unknown", - "tags": [], - "label": "thrown", - "description": [], - "signature": [ - "unknown" - ], - "path": "packages/kbn-type-summarizer-core/src/error.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile", - "type": "Function", - "tags": [], - "label": "tryReadFile", - "description": [ - "\nRead a file, if the file doesn't exist return undefined. If any other\nerror occurs they will be thrown." - ], - "signature": [ - "(path: string, encoding: \"utf8\" | \"utf-8\") => Promise" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile.$1", - "type": "string", - "tags": [], - "label": "path", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile.$2", - "type": "CompoundType", - "tags": [], - "label": "encoding", - "description": [], - "signature": [ - "\"utf8\" | \"utf-8\"" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile", - "type": "Function", - "tags": [], - "label": "tryReadFile", - "description": [ - "\nRead a file, if the file doesn't exist return undefined. If any other\nerror occurs they will be thrown." - ], - "signature": [ - "(path: string, encoding: BufferEncoding | undefined) => Promise" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile.$1", - "type": "string", - "tags": [], - "label": "path", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.tryReadFile.$2", - "type": "CompoundType", - "tags": [], - "label": "encoding", - "description": [], - "signature": [ - "BufferEncoding | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/fs.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliErrorOptions", - "type": "Interface", - "tags": [], - "label": "CliErrorOptions", - "description": [ - "\nOptions for customizing CliError instances" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliErrorOptions.exitCode", - "type": "number", - "tags": [], - "label": "exitCode", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.CliErrorOptions.showHelp", - "type": "CompoundType", - "tags": [], - "label": "showHelp", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "packages/kbn-type-summarizer-core/src/cli_error.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger", - "type": "Interface", - "tags": [], - "label": "Logger", - "description": [ - "\nLogger interface used by @kbn/type-summarizer-* packages" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.info", - "type": "Function", - "tags": [], - "label": "info", - "description": [ - "\nWrite a message to the log with the level \"info\"" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.info.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.info.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.warn", - "type": "Function", - "tags": [], - "label": "warn", - "description": [ - "\nWrite a message to the log with the level \"warn\"" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.warn.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.warn.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.error", - "type": "Function", - "tags": [], - "label": "error", - "description": [ - "\nWrite a message to the log with the level \"error\"" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.error.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.error.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.debug", - "type": "Function", - "tags": [], - "label": "debug", - "description": [ - "\nWrite a message to the log with the level \"debug\"" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.debug.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.debug.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verbose", - "type": "Function", - "tags": [], - "label": "verbose", - "description": [ - "\nWrite a message to the log with the level \"verbose\"" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verbose.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verbose.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.success", - "type": "Function", - "tags": [], - "label": "success", - "description": [ - "\nWrite a message to the log, only excluded in silent mode" - ], - "signature": [ - "(msg: string, ...args: any[]) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.success.$1", - "type": "string", - "tags": [], - "label": "msg", - "description": [ - "any message" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.success.$2", - "type": "Array", - "tags": [], - "label": "args", - "description": [ - "any serializeable values you would like to be appended to the log message" - ], - "signature": [ - "any[]" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.step", - "type": "Function", - "tags": [], - "label": "step", - "description": [ - "\nWrite a message to the log indicating the beginning of a step, then run the passed\nblock, any log output produced inside that step will be indented and at the end the\nduration of the step will be written. If the log level is below verbose then any\n\"verbose steps\" executed inside this step will be summaried by this step at the end\nas well." - ], - "signature": [ - "(name: string, desc: string | ", - "Symbol", - " | ", - "Node", - " | null, block: () => T) => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.step.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "a common name for steps of a specific type" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.step.$2", - "type": "CompoundType", - "tags": [], - "label": "desc", - "description": [ - "a specific name to describe the unique information about this step" - ], - "signature": [ - "string | ", - "Symbol", - " | ", - "Node", - " | null" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.step.$3", - "type": "Function", - "tags": [], - "label": "block", - "description": [ - "the function body which defines this step" - ], - "signature": [ - "() => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verboseStep", - "type": "Function", - "tags": [], - "label": "verboseStep", - "description": [ - "\nJust like step(), except that unless the logging level is set to verbose the steps with\nthe same name will be summaried at the end of the containing step, rather than logged\ndirectly." - ], - "signature": [ - "(name: string, desc: string | ", - "Symbol", - " | ", - "Node", - " | null, block: () => T) => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verboseStep.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "a common name for steps of a specific type" - ], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verboseStep.$2", - "type": "CompoundType", - "tags": [], - "label": "desc", - "description": [ - "a specific name to describe the unique information about this step" - ], - "signature": [ - "string | ", - "Symbol", - " | ", - "Node", - " | null" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.Logger.verboseStep.$3", - "type": "Function", - "tags": [], - "label": "block", - "description": [ - "the function body which defines this step" - ], - "signature": [ - "() => T" - ], - "path": "packages/kbn-type-summarizer-core/src/log/logger.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.LogWriter", - "type": "Interface", - "tags": [], - "label": "LogWriter", - "description": [ - "\nInterface of objects which receive log messages, often times points to stdout, but\nreplaced with a log message collector in tests" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.LogWriter.write", - "type": "Function", - "tags": [], - "label": "write", - "description": [], - "signature": [ - "(chunk: string) => void" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.LogWriter.write.$1", - "type": "string", - "tags": [], - "label": "chunk", - "description": [], - "signature": [ - "string" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "enums": [], - "misc": [ - { - "parentPluginId": "@kbn/type-summarizer-core", - "id": "def-server.LogLevel", - "type": "Type", - "tags": [], - "label": "LogLevel", - "description": [ - "\nLevel that the logger is running at, any message logged \"above\" this level will be dropped" - ], - "signature": [ - "\"info\" | \"debug\" | \"silent\" | \"verbose\" | \"quiet\"" - ], - "path": "packages/kbn-type-summarizer-core/src/log/cli_log.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - } -} \ No newline at end of file diff --git a/api_docs/kbn_type_summarizer_core.mdx b/api_docs/kbn_type_summarizer_core.mdx deleted file mode 100644 index 310261611e374..0000000000000 --- a/api_docs/kbn_type_summarizer_core.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -#### -#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. -#### Reach out in #docs-engineering for more info. -#### -id: kibKbnTypeSummarizerCorePluginApi -slug: /kibana-dev-docs/api/kbn-type-summarizer-core -title: "@kbn/type-summarizer-core" -image: https://source.unsplash.com/400x175/?github -description: API docs for the @kbn/type-summarizer-core plugin -date: 2022-12-22 -tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer-core'] ---- -import kbnTypeSummarizerCoreObj from './kbn_type_summarizer_core.devdocs.json'; - - - -Contact [Owner missing] for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 113 | 1 | 65 | 0 | - -## Server - -### Functions - - -### Classes - - -### Interfaces - - -### Consts, variables and types - - diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 7b792dc86ccce..3390e960d7ee9 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.devdocs.json b/api_docs/kbn_ui_shared_deps_src.devdocs.json index d2f3014cbaeae..e2bd3bbca50a9 100644 --- a/api_docs/kbn_ui_shared_deps_src.devdocs.json +++ b/api_docs/kbn_ui_shared_deps_src.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.cssDistFilename", + "id": "def-common.cssDistFilename", "type": "string", "tags": [], "label": "cssDistFilename", @@ -33,7 +41,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.distDir", + "id": "def-common.distDir", "type": "string", "tags": [], "label": "distDir", @@ -47,7 +55,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.jsFilename", + "id": "def-common.jsFilename", "type": "string", "tags": [], "label": "jsFilename", @@ -66,7 +74,7 @@ "objects": [ { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals", + "id": "def-common.externals", "type": "Object", "tags": [], "label": "externals", @@ -79,7 +87,7 @@ "children": [ { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnuitheme", + "id": "def-common.externals.kbnuitheme", "type": "string", "tags": [], "label": "'@kbn/ui-theme'", @@ -92,7 +100,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbni18n", + "id": "def-common.externals.kbni18n", "type": "string", "tags": [], "label": "'@kbn/i18n'", @@ -103,7 +111,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbni18nreact", + "id": "def-common.externals.kbni18nreact", "type": "string", "tags": [], "label": "'@kbn/i18n-react'", @@ -114,7 +122,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.emotioncache", + "id": "def-common.externals.emotioncache", "type": "string", "tags": [], "label": "'@emotion/cache'", @@ -125,7 +133,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.emotionreact", + "id": "def-common.externals.emotionreact", "type": "string", "tags": [], "label": "'@emotion/react'", @@ -136,7 +144,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.jquery", + "id": "def-common.externals.jquery", "type": "string", "tags": [], "label": "jquery", @@ -147,7 +155,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.moment", + "id": "def-common.externals.moment", "type": "string", "tags": [], "label": "moment", @@ -158,7 +166,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.momenttimezone", + "id": "def-common.externals.momenttimezone", "type": "string", "tags": [], "label": "'moment-timezone'", @@ -169,7 +177,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.react", + "id": "def-common.externals.react", "type": "string", "tags": [], "label": "react", @@ -180,7 +188,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.reactdom", + "id": "def-common.externals.reactdom", "type": "string", "tags": [], "label": "'react-dom'", @@ -191,7 +199,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.reactdomserver", + "id": "def-common.externals.reactdomserver", "type": "string", "tags": [], "label": "'react-dom/server'", @@ -202,7 +210,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.reactrouter", + "id": "def-common.externals.reactrouter", "type": "string", "tags": [], "label": "'react-router'", @@ -213,7 +221,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.reactrouterdom", + "id": "def-common.externals.reactrouterdom", "type": "string", "tags": [], "label": "'react-router-dom'", @@ -224,7 +232,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.styledcomponents", + "id": "def-common.externals.styledcomponents", "type": "string", "tags": [], "label": "'styled-components'", @@ -235,7 +243,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnmonaco", + "id": "def-common.externals.kbnmonaco", "type": "string", "tags": [], "label": "'@kbn/monaco'", @@ -246,7 +254,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.monacoeditoresmvseditoreditor.api", + "id": "def-common.externals.monacoeditoresmvseditoreditor.api", "type": "string", "tags": [], "label": "'monaco-editor/esm/vs/editor/editor.api'", @@ -259,7 +267,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.rxjs", + "id": "def-common.externals.rxjs", "type": "string", "tags": [], "label": "rxjs", @@ -272,7 +280,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.rxjsoperators", + "id": "def-common.externals.rxjsoperators", "type": "string", "tags": [], "label": "'rxjs/operators'", @@ -283,7 +291,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.numeral", + "id": "def-common.externals.numeral", "type": "string", "tags": [], "label": "numeral", @@ -294,7 +302,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticnumeral", + "id": "def-common.externals.elasticnumeral", "type": "string", "tags": [], "label": "'@elastic/numeral'", @@ -305,7 +313,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticcharts", + "id": "def-common.externals.elasticcharts", "type": "string", "tags": [], "label": "'@elastic/charts'", @@ -316,7 +324,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbndatemath", + "id": "def-common.externals.kbndatemath", "type": "string", "tags": [], "label": "'@kbn/datemath'", @@ -327,7 +335,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticeui", + "id": "def-common.externals.elasticeui", "type": "string", "tags": [], "label": "'@elastic/eui'", @@ -338,7 +346,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticeuilibservices", + "id": "def-common.externals.elasticeuilibservices", "type": "string", "tags": [], "label": "'@elastic/eui/lib/services'", @@ -349,7 +357,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticeuilibservicesformat", + "id": "def-common.externals.elasticeuilibservicesformat", "type": "string", "tags": [], "label": "'@elastic/eui/lib/services/format'", @@ -360,7 +368,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.elasticeuidisteui_charts_theme", + "id": "def-common.externals.elasticeuidisteui_charts_theme", "type": "string", "tags": [], "label": "'@elastic/eui/dist/eui_charts_theme'", @@ -371,7 +379,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.reactbeautifuldnd", + "id": "def-common.externals.reactbeautifuldnd", "type": "string", "tags": [], "label": "'react-beautiful-dnd'", @@ -384,7 +392,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.lodash", + "id": "def-common.externals.lodash", "type": "string", "tags": [], "label": "lodash", @@ -395,7 +403,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.lodashfp", + "id": "def-common.externals.lodashfp", "type": "string", "tags": [], "label": "'lodash/fp'", @@ -406,7 +414,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.fflate", + "id": "def-common.externals.fflate", "type": "string", "tags": [], "label": "fflate", @@ -417,7 +425,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.tslib", + "id": "def-common.externals.tslib", "type": "string", "tags": [], "label": "tslib", @@ -430,7 +438,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnanalytics", + "id": "def-common.externals.kbnanalytics", "type": "string", "tags": [], "label": "'@kbn/analytics'", @@ -441,7 +449,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnesquery", + "id": "def-common.externals.kbnesquery", "type": "string", "tags": [], "label": "'@kbn/es-query'", @@ -452,7 +460,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnstd", + "id": "def-common.externals.kbnstd", "type": "string", "tags": [], "label": "'@kbn/std'", @@ -463,7 +471,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnsaferlodashset", + "id": "def-common.externals.kbnsaferlodashset", "type": "string", "tags": [], "label": "'@kbn/safer-lodash-set'", @@ -474,7 +482,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.kbnrison", + "id": "def-common.externals.kbnrison", "type": "string", "tags": [], "label": "'@kbn/rison'", @@ -485,7 +493,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.history", + "id": "def-common.externals.history", "type": "string", "tags": [], "label": "history", @@ -496,7 +504,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.classnames", + "id": "def-common.externals.classnames", "type": "string", "tags": [], "label": "classnames", @@ -507,7 +515,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.tanstackreactquery", + "id": "def-common.externals.tanstackreactquery", "type": "string", "tags": [], "label": "'@tanstack/react-query'", @@ -518,7 +526,7 @@ }, { "parentPluginId": "@kbn/ui-shared-deps-src", - "id": "def-server.externals.tanstackreactquerydevtools", + "id": "def-common.externals.tanstackreactquerydevtools", "type": "string", "tags": [], "label": "'@tanstack/react-query-devtools'", @@ -531,13 +539,5 @@ "initialIsOpen": false } ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 8bac58382ead8..c50c0e47d65e6 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 44 | 0 | 35 | 0 | -## Server +## Common ### Objects - + ### Consts, variables and types - + diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index cc2deffd49e70..6ecc82f0cc75d 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 863ea1e0c8f32..5b263bacfed52 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.devdocs.json b/api_docs/kbn_utility_types.devdocs.json index bd2863aa5599c..e76a2b33aaff8 100644 --- a/api_docs/kbn_utility_types.devdocs.json +++ b/api_docs/kbn_utility_types.devdocs.json @@ -9,12 +9,20 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [ { "parentPluginId": "@kbn/utility-types", - "id": "def-server.DeepPartialArray", + "id": "def-common.DeepPartialArray", "type": "Interface", "tags": [], "label": "DeepPartialArray", @@ -22,17 +30,17 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, " extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartial", + "section": "def-common.DeepPartial", "text": "DeepPartial" }, "[]" @@ -45,7 +53,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.JsonArray", + "id": "def-common.JsonArray", "type": "Interface", "tags": [], "label": "JsonArray", @@ -53,17 +61,17 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonArray", + "section": "def-common.JsonArray", "text": "JsonArray" }, " extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" }, "[]" @@ -76,7 +84,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.JsonObject", + "id": "def-common.JsonObject", "type": "Interface", "tags": [], "label": "JsonObject", @@ -87,7 +95,7 @@ "children": [ { "parentPluginId": "@kbn/utility-types", - "id": "def-server.JsonObject.Unnamed", + "id": "def-common.JsonObject.Unnamed", "type": "IndexSignature", "tags": [], "label": "[key: string]: JsonValue", @@ -96,9 +104,9 @@ "[key: string]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonValue", + "section": "def-common.JsonValue", "text": "JsonValue" } ], @@ -111,7 +119,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.ObservableLike", + "id": "def-common.ObservableLike", "type": "Interface", "tags": [], "label": "ObservableLike", @@ -121,9 +129,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, "" @@ -134,7 +142,7 @@ "children": [ { "parentPluginId": "@kbn/utility-types", - "id": "def-server.ObservableLike.subscribe", + "id": "def-common.ObservableLike.subscribe", "type": "Function", "tags": [], "label": "subscribe", @@ -148,7 +156,7 @@ "children": [ { "parentPluginId": "@kbn/utility-types", - "id": "def-server.ObservableLike.subscribe.$1", + "id": "def-common.ObservableLike.subscribe.$1", "type": "Function", "tags": [], "label": "observer", @@ -169,7 +177,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.RecursiveReadonlyArray", + "id": "def-common.RecursiveReadonlyArray", "type": "Interface", "tags": [], "label": "RecursiveReadonlyArray", @@ -177,17 +185,17 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " extends readonly ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "[]" @@ -200,7 +208,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.SerializableRecord", + "id": "def-common.SerializableRecord", "type": "Interface", "tags": [], "label": "SerializableRecord", @@ -208,17 +216,17 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " extends Record" @@ -234,7 +242,7 @@ "misc": [ { "parentPluginId": "@kbn/utility-types", - "id": "def-server.$Values", + "id": "def-common.$Values", "type": "Type", "tags": [ "desc", @@ -254,7 +262,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Assign", + "id": "def-common.Assign", "type": "Type", "tags": [ "desc" @@ -273,7 +281,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.AugmentedRequired", + "id": "def-common.AugmentedRequired", "type": "Type", "tags": [ "desc" @@ -293,7 +301,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.AwaitedProperties", + "id": "def-common.AwaitedProperties", "type": "Type", "tags": [], "label": "AwaitedProperties", @@ -310,7 +318,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Class", + "id": "def-common.Class", "type": "Type", "tags": [ "desc", @@ -330,7 +338,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.DedotObject", + "id": "def-common.DedotObject", "type": "Type", "tags": [], "label": "DedotObject", @@ -353,7 +361,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.DeepPartial", + "id": "def-common.DeepPartial", "type": "Type", "tags": [], "label": "DeepPartial", @@ -364,17 +372,17 @@ "T extends any[] ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialArray", + "section": "def-common.DeepPartialArray", "text": "DeepPartialArray" }, " : T extends object ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartialObject", + "section": "def-common.DeepPartialObject", "text": "DeepPartialObject" }, " : T" @@ -386,7 +394,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.DeepPartialObject", + "id": "def-common.DeepPartialObject", "type": "Type", "tags": [], "label": "DeepPartialObject", @@ -395,9 +403,9 @@ "{ [P in keyof T]+?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.DeepPartial", + "section": "def-common.DeepPartial", "text": "DeepPartial" }, " | undefined; }" @@ -409,7 +417,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.DotObject", + "id": "def-common.DotObject", "type": "Type", "tags": [], "label": "DotObject", @@ -428,7 +436,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Ensure", + "id": "def-common.Ensure", "type": "Type", "tags": [], "label": "Ensure", @@ -445,7 +453,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.JsonValue", + "id": "def-common.JsonValue", "type": "Type", "tags": [], "label": "JsonValue", @@ -454,17 +462,17 @@ "string | number | boolean | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" }, " | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonArray", + "section": "def-common.JsonArray", "text": "JsonArray" }, " | null" @@ -476,7 +484,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.MaybePromise", + "id": "def-common.MaybePromise", "type": "Type", "tags": [], "label": "MaybePromise", @@ -493,7 +501,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.MethodKeysOf", + "id": "def-common.MethodKeysOf", "type": "Type", "tags": [], "label": "MethodKeysOf", @@ -510,7 +518,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.OneOf", + "id": "def-common.OneOf", "type": "Type", "tags": [], "label": "OneOf", @@ -527,7 +535,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Optional", + "id": "def-common.Optional", "type": "Type", "tags": [ "desc" @@ -547,7 +555,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.PublicContract", + "id": "def-common.PublicContract", "type": "Type", "tags": [], "label": "PublicContract", @@ -564,7 +572,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.PublicKeys", + "id": "def-common.PublicKeys", "type": "Type", "tags": [], "label": "PublicKeys", @@ -581,7 +589,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.PublicMethodsOf", + "id": "def-common.PublicMethodsOf", "type": "Type", "tags": [], "label": "PublicMethodsOf", @@ -592,9 +600,9 @@ "{ [P in ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.MethodKeysOf", + "section": "def-common.MethodKeysOf", "text": "MethodKeysOf" }, "]: T[P]; }" @@ -606,7 +614,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.RecursiveReadonly", + "id": "def-common.RecursiveReadonly", "type": "Type", "tags": [], "label": "RecursiveReadonly", @@ -615,17 +623,17 @@ "T extends (...args: any) => any ? T : T extends any[] ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonlyArray", + "section": "def-common.RecursiveReadonlyArray", "text": "RecursiveReadonlyArray" }, " : T extends object ? Readonly<{ [K in keyof T]: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.RecursiveReadonly", + "section": "def-common.RecursiveReadonly", "text": "RecursiveReadonly" }, "; }> : T" @@ -637,7 +645,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Serializable", + "id": "def-common.Serializable", "type": "Type", "tags": [], "label": "Serializable", @@ -646,9 +654,9 @@ "string | number | boolean | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | ", @@ -662,7 +670,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.ShallowPromise", + "id": "def-common.ShallowPromise", "type": "Type", "tags": [], "label": "ShallowPromise", @@ -679,7 +687,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.UnionToIntersection", + "id": "def-common.UnionToIntersection", "type": "Type", "tags": [], "label": "UnionToIntersection", @@ -696,7 +704,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.UnwrapObservable", + "id": "def-common.UnwrapObservable", "type": "Type", "tags": [], "label": "UnwrapObservable", @@ -707,9 +715,9 @@ "T extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.ObservableLike", + "section": "def-common.ObservableLike", "text": "ObservableLike" }, " ? U : never" @@ -721,7 +729,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Values", + "id": "def-common.Values", "type": "Type", "tags": [], "label": "Values", @@ -738,7 +746,7 @@ }, { "parentPluginId": "@kbn/utility-types", - "id": "def-server.Writable", + "id": "def-common.Writable", "type": "Type", "tags": [], "label": "Writable", @@ -755,13 +763,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index cd9f481b02244..6de6961a25f45 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 34 | 0 | 14 | 1 | -## Server +## Common ### Interfaces - + ### Consts, variables and types - + diff --git a/api_docs/kbn_utility_types_jest.devdocs.json b/api_docs/kbn_utility_types_jest.devdocs.json index 7f01820f6e3bc..70e9e3e42ae4e 100644 --- a/api_docs/kbn_utility_types_jest.devdocs.json +++ b/api_docs/kbn_utility_types_jest.devdocs.json @@ -9,6 +9,14 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [], "interfaces": [], @@ -16,7 +24,7 @@ "misc": [ { "parentPluginId": "@kbn/utility-types-jest", - "id": "def-server.DeeplyMockedKeys", + "id": "def-common.DeeplyMockedKeys", "type": "Type", "tags": [], "label": "DeeplyMockedKeys", @@ -25,9 +33,9 @@ "{ [P in keyof T]: T[P] extends (...args: any[]) => any ? jest.MockInstance, Parameters> : ", { "pluginId": "@kbn/utility-types-jest", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesJestPluginApi", - "section": "def-server.DeeplyMockedKeys", + "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, "; } & T" @@ -39,7 +47,7 @@ }, { "parentPluginId": "@kbn/utility-types-jest", - "id": "def-server.MockedKeys", + "id": "def-common.MockedKeys", "type": "Type", "tags": [], "label": "MockedKeys", @@ -54,13 +62,5 @@ } ], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 2b48b4f007a7e..1b7d28310ac4e 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; @@ -23,8 +23,8 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 2 | 0 | 2 | 0 | -## Server +## Common ### Consts, variables and types - + diff --git a/api_docs/kbn_utils.devdocs.json b/api_docs/kbn_utils.devdocs.json index 7ae7fb00b67b8..c2f4eefd1be61 100644 --- a/api_docs/kbn_utils.devdocs.json +++ b/api_docs/kbn_utils.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.concatStreamProviders", + "id": "def-common.concatStreamProviders", "type": "Function", "tags": [ "return" @@ -36,7 +44,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.concatStreamProviders.$1", + "id": "def-common.concatStreamProviders.$1", "type": "Array", "tags": [], "label": "sourceProviders", @@ -53,7 +61,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.concatStreamProviders.$2", + "id": "def-common.concatStreamProviders.$2", "type": "Object", "tags": [], "label": "options", @@ -77,7 +85,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createConcatStream", + "id": "def-common.createConcatStream", "type": "Function", "tags": [ "return" @@ -96,7 +104,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createConcatStream.$1", + "id": "def-common.createConcatStream.$1", "type": "Uncategorized", "tags": [], "label": "initial", @@ -117,7 +125,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createFilterStream", + "id": "def-common.createFilterStream", "type": "Function", "tags": [], "label": "createFilterStream", @@ -132,7 +140,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createFilterStream.$1", + "id": "def-common.createFilterStream.$1", "type": "Function", "tags": [], "label": "fn", @@ -151,7 +159,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createIntersperseStream", + "id": "def-common.createIntersperseStream", "type": "Function", "tags": [ "return" @@ -170,7 +178,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createIntersperseStream.$1", + "id": "def-common.createIntersperseStream.$1", "type": "CompoundType", "tags": [], "label": "intersperseChunk", @@ -189,7 +197,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createListStream", + "id": "def-common.createListStream", "type": "Function", "tags": [ "return" @@ -208,7 +216,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createListStream.$1", + "id": "def-common.createListStream.$1", "type": "CompoundType", "tags": [], "label": "items", @@ -229,7 +237,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createMapStream", + "id": "def-common.createMapStream", "type": "Function", "tags": [], "label": "createMapStream", @@ -244,7 +252,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createMapStream.$1", + "id": "def-common.createMapStream.$1", "type": "Function", "tags": [], "label": "fn", @@ -263,7 +271,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createPromiseFromStreams", + "id": "def-common.createPromiseFromStreams", "type": "Function", "tags": [], "label": "createPromiseFromStreams", @@ -281,7 +289,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createPromiseFromStreams.$1", + "id": "def-common.createPromiseFromStreams.$1", "type": "Object", "tags": [], "label": "streams", @@ -304,7 +312,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createReduceStream", + "id": "def-common.createReduceStream", "type": "Function", "tags": [ "return" @@ -323,7 +331,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createReduceStream.$1", + "id": "def-common.createReduceStream.$1", "type": "Function", "tags": [], "label": "reducer", @@ -338,7 +346,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createReduceStream.$2", + "id": "def-common.createReduceStream.$2", "type": "Uncategorized", "tags": [], "label": "initial", @@ -359,7 +367,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createReplaceStream", + "id": "def-common.createReplaceStream", "type": "Function", "tags": [], "label": "createReplaceStream", @@ -374,7 +382,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createReplaceStream.$1", + "id": "def-common.createReplaceStream.$1", "type": "string", "tags": [], "label": "toReplace", @@ -389,7 +397,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createReplaceStream.$2", + "id": "def-common.createReplaceStream.$2", "type": "CompoundType", "tags": [], "label": "replacement", @@ -408,7 +416,7 @@ }, { "parentPluginId": "@kbn/utils", - "id": "def-server.createSplitStream", + "id": "def-common.createSplitStream", "type": "Function", "tags": [ "return" @@ -427,7 +435,7 @@ "children": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.createSplitStream.$1", + "id": "def-common.createSplitStream.$1", "type": "CompoundType", "tags": [], "label": "splitChunk", @@ -443,56 +451,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/utils", - "id": "def-server.fromRoot", - "type": "Function", - "tags": [], - "label": "fromRoot", - "description": [], - "signature": [ - "(...paths: string[]) => string" - ], - "path": "packages/kbn-utils/src/repo_root.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/utils", - "id": "def-server.fromRoot.$1", - "type": "Array", - "tags": [], - "label": "paths", - "description": [], - "signature": [ - "string[]" - ], - "path": "packages/kbn-utils/src/repo_root.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/utils", - "id": "def-server.isKibanaDistributable", - "type": "Function", - "tags": [], - "label": "isKibanaDistributable", - "description": [], - "signature": [ - "() => boolean" - ], - "path": "packages/kbn-utils/src/package_json/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [], @@ -500,7 +458,7 @@ "misc": [ { "parentPluginId": "@kbn/utils", - "id": "def-server.PathConfigType", + "id": "def-common.PathConfigType", "type": "Type", "tags": [], "label": "PathConfigType", @@ -512,56 +470,8 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/utils", - "id": "def-server.REPO_ROOT", - "type": "string", - "tags": [], - "label": "REPO_ROOT", - "description": [], - "path": "packages/kbn-utils/src/repo_root.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/utils", - "id": "def-server.UPSTREAM_BRANCH", - "type": "string", - "tags": [], - "label": "UPSTREAM_BRANCH", - "description": [], - "path": "packages/kbn-utils/src/repo_root.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false } ], - "objects": [ - { - "parentPluginId": "@kbn/utils", - "id": "def-server.kibanaPackageJson", - "type": "Object", - "tags": [], - "label": "kibanaPackageJson", - "description": [], - "signature": [ - "KibanaPackageJson" - ], - "path": "packages/kbn-utils/src/package_json/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 20be18400257a..80adf4bbc18dc 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; @@ -21,16 +21,13 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 30 | 0 | 20 | 0 | +| 24 | 0 | 14 | 0 | -## Server - -### Objects - +## Common ### Functions - + ### Consts, variables and types - + diff --git a/api_docs/kbn_yarn_lock_validator.devdocs.json b/api_docs/kbn_yarn_lock_validator.devdocs.json index 856739993086c..a23de912a27b9 100644 --- a/api_docs/kbn_yarn_lock_validator.devdocs.json +++ b/api_docs/kbn_yarn_lock_validator.devdocs.json @@ -9,11 +9,19 @@ "objects": [] }, "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { "classes": [], "functions": [ { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.readYarnLock", + "id": "def-common.readYarnLock", "type": "Function", "tags": [], "label": "readYarnLock", @@ -24,9 +32,9 @@ "() => Promise<", { "pluginId": "@kbn/yarn-lock-validator", - "scope": "server", + "scope": "common", "docId": "kibKbnYarnLockValidatorPluginApi", - "section": "def-server.YarnLock", + "section": "def-common.YarnLock", "text": "YarnLock" }, ">" @@ -40,7 +48,7 @@ }, { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.validateDependencies", + "id": "def-common.validateDependencies", "type": "Function", "tags": [], "label": "validateDependencies", @@ -51,17 +59,17 @@ "(log: ", { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" }, ", yarnLock: ", { "pluginId": "@kbn/yarn-lock-validator", - "scope": "server", + "scope": "common", "docId": "kibKbnYarnLockValidatorPluginApi", - "section": "def-server.YarnLock", + "section": "def-common.YarnLock", "text": "YarnLock" }, ") => Promise" @@ -72,7 +80,7 @@ "children": [ { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.validateDependencies.$1", + "id": "def-common.validateDependencies.$1", "type": "Object", "tags": [], "label": "log", @@ -80,9 +88,9 @@ "signature": [ { "pluginId": "@kbn/some-dev-log", - "scope": "server", + "scope": "common", "docId": "kibKbnSomeDevLogPluginApi", - "section": "def-server.SomeDevLog", + "section": "def-common.SomeDevLog", "text": "SomeDevLog" } ], @@ -93,7 +101,7 @@ }, { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.validateDependencies.$2", + "id": "def-common.validateDependencies.$2", "type": "Object", "tags": [], "label": "yarnLock", @@ -101,9 +109,9 @@ "signature": [ { "pluginId": "@kbn/yarn-lock-validator", - "scope": "server", + "scope": "common", "docId": "kibKbnYarnLockValidatorPluginApi", - "section": "def-server.YarnLock", + "section": "def-common.YarnLock", "text": "YarnLock" } ], @@ -120,7 +128,7 @@ "interfaces": [ { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.YarnLock", + "id": "def-common.YarnLock", "type": "Interface", "tags": [], "label": "YarnLock", @@ -133,7 +141,7 @@ "children": [ { "parentPluginId": "@kbn/yarn-lock-validator", - "id": "def-server.YarnLock.Unnamed", + "id": "def-common.YarnLock.Unnamed", "type": "IndexSignature", "tags": [], "label": "[key: string]: { version: string; resolved: string; integrity: string; dependencies?: { [key: string]: string; } | undefined; optionalDependencies?: { [key: string]: string; } | undefined; }", @@ -154,13 +162,5 @@ "enums": [], "misc": [], "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index d88c067abe78a..138653d6f1eea 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; @@ -23,11 +23,11 @@ Contact [Owner missing] for questions regarding this plugin. |-------------------|-----------|------------------------|-----------------| | 6 | 0 | 2 | 0 | -## Server +## Common ### Functions - + ### Interfaces - + diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 08d45604b9d13..44f182b9ed2df 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json index e3de685660b54..31f204ea0bfb6 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -3175,7 +3175,7 @@ "Omit<", "EuiPageProps", ", \"paddingSize\"> & { template?: \"default\" | \"empty\" | \"centeredBody\" | \"centeredContent\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; pageSideBar?: React.ReactNode; pageSideBarProps?: ", - "EuiPageSideBarProps", + "EuiPageSideBarProps_Deprecated", " | undefined; pageHeader?: ", "EuiPageHeaderProps", " | undefined; pageBodyProps?: ", diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 1a37e79028a7a..6185ebc07d145 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.devdocs.json b/api_docs/kibana_utils.devdocs.json index 824750dc9726f..6f0caeb2b3c77 100644 --- a/api_docs/kibana_utils.devdocs.json +++ b/api_docs/kibana_utils.devdocs.json @@ -2730,54 +2730,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.createStateHash", - "type": "Function", - "tags": [], - "label": "createStateHash", - "description": [], - "signature": [ - "(json: string, existingJsonProvider: ((hash: string) => string | null) | undefined) => string" - ], - "path": "src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaUtils", - "id": "def-public.createStateHash.$1", - "type": "string", - "tags": [], - "label": "json", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.createStateHash.$2", - "type": "Function", - "tags": [], - "label": "existingJsonProvider", - "description": [], - "signature": [ - "((hash: string) => string | null) | undefined" - ], - "path": "src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "kibanaUtils", "id": "def-public.createUrlTracker", @@ -3279,39 +3231,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.isStateHash", - "type": "Function", - "tags": [], - "label": "isStateHash", - "description": [], - "signature": [ - "(str: string) => boolean" - ], - "path": "src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaUtils", - "id": "def-public.isStateHash.$1", - "type": "string", - "tags": [], - "label": "str", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "kibanaUtils", "id": "def-public.of", @@ -3729,118 +3648,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlHashQuery", - "type": "Function", - "tags": [], - "label": "replaceUrlHashQuery", - "description": [], - "signature": [ - "(rawUrl: string, queryReplacer: (query: ", - "ParsedQuery", - ") => ", - "ParsedQuery", - ") => string" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlHashQuery.$1", - "type": "string", - "tags": [], - "label": "rawUrl", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlHashQuery.$2", - "type": "Function", - "tags": [], - "label": "queryReplacer", - "description": [], - "signature": [ - "(query: ", - "ParsedQuery", - ") => ", - "ParsedQuery", - "" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlQuery", - "type": "Function", - "tags": [], - "label": "replaceUrlQuery", - "description": [], - "signature": [ - "(rawUrl: string, queryReplacer: (query: ", - "ParsedQuery", - ") => ", - "ParsedQuery", - ") => string" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlQuery.$1", - "type": "string", - "tags": [], - "label": "rawUrl", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.replaceUrlQuery.$2", - "type": "Function", - "tags": [], - "label": "queryReplacer", - "description": [], - "signature": [ - "(query: ", - "ParsedQuery", - ") => ", - "ParsedQuery", - "" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/format.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "kibanaUtils", "id": "def-public.retrieveState", @@ -3881,10 +3688,12 @@ "tags": [], "label": "setStateToKbnUrl", "description": [ - "\nSets state to the url by key and returns a new url string.\nDoesn't actually updates history\n\ne.g.:\ngiven a url: http://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:indexedFields)&_b=(f:test,i:'',l:'')\nkey: '_a'\nand state: {tab: 'other'}\n\nwill return url:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:other)&_b=(f:test,i:'',l:'')\n\nBy default due to Kibana legacy reasons assumed that state is stored in a query inside a hash part of the URL:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a={STATE}\n\n{ storeInHashQuery: false } option should be used in you want to store you state in a main query (not in a hash):\nhttp://localhost:5601/oxf/app/kibana?_a={STATE}#/yourApp" + "\nSets state to the url by key and returns a new url string.\nDoesn't actually updates history\n\ne.g.:\ngiven a url: http://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:indexedFields)&_b=(f:test,i:'',l:'')\nkey: '_a'\nand state: {tab: 'other'}\n\nwill return url:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:other)&_b=(f:test,i:'',l:'')\n\nBy default due to Kibana legacy reasons assumed that state is stored in a query inside a hash part of the URL:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a={STATE}\n\n{ storeInHashQuery: false } option should be used in you want to store your state in a main query (not in a hash):\nhttp://localhost:5601/oxf/app/kibana?_a={STATE}#/yourApp" ], "signature": [ - "(key: string, state: State, { useHash = false, storeInHashQuery = true }: { useHash: boolean; storeInHashQuery?: boolean | undefined; }, rawUrl: string) => string" + "(key: string, state: State, { useHash = false, storeInHashQuery = true }: ", + "SetStateToKbnUrlHashOptions", + ", rawUrl: string) => string" ], "path": "src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts", "deprecated": false, @@ -3927,36 +3736,13 @@ "tags": [], "label": "{ useHash = false, storeInHashQuery = true }", "description": [], + "signature": [ + "SetStateToKbnUrlHashOptions" + ], "path": "src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaUtils", - "id": "def-public.setStateToKbnUrl.$3.useHash", - "type": "boolean", - "tags": [], - "label": "useHash", - "description": [], - "path": "src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "kibanaUtils", - "id": "def-public.setStateToKbnUrl.$3.storeInHashQuery", - "type": "CompoundType", - "tags": [], - "label": "storeInHashQuery", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "isRequired": true }, { "parentPluginId": "kibanaUtils", @@ -6692,17 +6478,17 @@ "{ [K in keyof T]: ReturnType<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Ensure", + "section": "def-common.Ensure", "text": "Ensure" }, "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Ensure", + "section": "def-common.Ensure", "text": "Ensure" }, " ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, "" @@ -7863,9 +7649,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" } ], @@ -9553,9 +9339,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">) => S" @@ -9603,9 +9389,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Serializable", + "section": "def-common.Serializable", "text": "Serializable" }, ">" @@ -9675,6 +9461,144 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.replaceUrlHashQuery", + "type": "Function", + "tags": [], + "label": "replaceUrlHashQuery", + "description": [], + "signature": [ + "(rawUrl: string, queryReplacer: (query: ", + "ParsedQuery", + ") => ", + "ParsedQuery", + ") => string" + ], + "path": "src/plugins/kibana_utils/common/state_management/format.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "kibanaUtils", + "id": "def-common.replaceUrlHashQuery.$1", + "type": "string", + "tags": [], + "label": "rawUrl", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/kibana_utils/common/state_management/format.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.replaceUrlHashQuery.$2", + "type": "Function", + "tags": [], + "label": "queryReplacer", + "description": [], + "signature": [ + "(query: ", + "ParsedQuery", + ") => ", + "ParsedQuery", + "" + ], + "path": "src/plugins/kibana_utils/common/state_management/format.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.setStateToKbnUrl", + "type": "Function", + "tags": [], + "label": "setStateToKbnUrl", + "description": [ + "\nCommon version of setStateToKbnUrl which doesn't use session storage.\n\nSets state to the url by key and returns a new url string.\n\ne.g.:\ngiven a url: http://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:indexedFields)&_b=(f:test,i:'',l:'')\nkey: '_a'\nand state: {tab: 'other'}\n\nwill return url:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:other)&_b=(f:test,i:'',l:'')\n\nBy default due to Kibana legacy reasons assumed that state is stored in a query inside a hash part of the URL:\nhttp://localhost:5601/oxf/app/kibana#/yourApp?_a={STATE}\n\n{ storeInHashQuery: true } option should be used in you want to store you state in a main query (not in a hash):\nhttp://localhost:5601/oxf/app/kibana?_a={STATE}#/yourApp" + ], + "signature": [ + "(key: string, state: State, hashOptions: ", + "SetStateToKbnUrlHashOptions", + ", rawUrl: string) => string" + ], + "path": "src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "kibanaUtils", + "id": "def-common.setStateToKbnUrl.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.setStateToKbnUrl.$2", + "type": "Uncategorized", + "tags": [], + "label": "state", + "description": [], + "signature": [ + "State" + ], + "path": "src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.setStateToKbnUrl.$3", + "type": "Object", + "tags": [], + "label": "hashOptions", + "description": [], + "signature": [ + "SetStateToKbnUrlHashOptions" + ], + "path": "src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-common.setStateToKbnUrl.$4", + "type": "string", + "tags": [], + "label": "rawUrl", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "kibanaUtils", "id": "def-common.useContainerSelector", @@ -11531,17 +11455,17 @@ "(state: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ", version: string) => ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -11560,9 +11484,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -11635,17 +11559,17 @@ "{ [K in keyof T]: ReturnType<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Ensure", + "section": "def-common.Ensure", "text": "Ensure" }, "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.Ensure", + "section": "def-common.Ensure", "text": "Ensure" }, " | undefined) => ", @@ -12587,9 +12587,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 4701da937ce8f..aece2377a7e0a 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.devdocs.json b/api_docs/license_api_guard.devdocs.json index 2b91cf1351314..9ced61d953edc 100644 --- a/api_docs/license_api_guard.devdocs.json +++ b/api_docs/license_api_guard.devdocs.json @@ -96,9 +96,9 @@ "(handler: ", @@ -112,41 +112,41 @@ ") => (ctx: Context, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", response: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaResponseFactory", + "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, ") => ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, " | Promise<", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.IKibanaResponse", + "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, ">" @@ -173,9 +173,9 @@ "" diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 1691a6a739541..8c1dcfe2ae8f6 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 46c82f945b88c..26bbf896c2636 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.devdocs.json b/api_docs/licensing.devdocs.json index b7edc44aa48b7..63edd4a1238be 100644 --- a/api_docs/licensing.devdocs.json +++ b/api_docs/licensing.devdocs.json @@ -981,9 +981,9 @@ ") => ", @@ -997,9 +997,9 @@ "" @@ -1047,9 +1047,9 @@ "" @@ -2352,9 +2352,9 @@ "(clusterClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" }, ", pollingFrequency: number) => { license$: ", @@ -2379,9 +2379,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.IClusterClient", + "section": "def-common.IClusterClient", "text": "IClusterClient" } ], diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index e96c1cd283214..8832fead82b68 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.devdocs.json b/api_docs/lists.devdocs.json index cdc75b1af7966..6233f803836c3 100644 --- a/api_docs/lists.devdocs.json +++ b/api_docs/lists.devdocs.json @@ -1491,9 +1491,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsOpenPointInTimeResponse", + "section": "def-common.SavedObjectsOpenPointInTimeResponse", "text": "SavedObjectsOpenPointInTimeResponse" }, ">" @@ -1537,9 +1537,9 @@ ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClosePointInTimeResponse", + "section": "def-common.SavedObjectsClosePointInTimeResponse", "text": "SavedObjectsClosePointInTimeResponse" }, ">" @@ -3899,9 +3899,9 @@ "(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", user: string, enableServerExtensionPoints?: boolean | undefined) => ", @@ -3928,9 +3928,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -3976,9 +3976,9 @@ "(esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ", spaceId: string, user: string) => ", diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index f3a98946e18ae..5206ee34cd476 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 4e12fbfccb520..73b11afa98558 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index a3e0dd0ec4b8e..1322c192f1e3a 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.devdocs.json b/api_docs/maps_ems.devdocs.json index f04f373af459e..41caee0f1889f 100644 --- a/api_docs/maps_ems.devdocs.json +++ b/api_docs/maps_ems.devdocs.json @@ -435,9 +435,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -464,9 +464,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { dark: string; bright: string; desaturated: string; }>; }>>" @@ -499,9 +499,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { dark: string; bright: string; desaturated: string; }>; }>>" @@ -525,9 +525,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: MapsEmsSetupServerDependencies) => { config: Readonly<{} & { tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { dark: string; bright: string; desaturated: string; }>; }>; createEMSSettings: () => ", @@ -554,9 +554,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index bf26509dcf524..6b2f10d29a123 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.devdocs.json b/api_docs/ml.devdocs.json index 386d3a6690d77..21a43aea4fd8a 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -3141,17 +3141,17 @@ " & { alertingServiceProvider(savedObjectsClient: ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" }, ", request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "): { preview: (args_0: Readonly<{} & { timeRange: string; alertParams: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>; sampleSize: number; }>) => Promise; execute: (params: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>) => Promise<{ context: ", diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 27e17b2afaffc..6e858f7ee3336 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.devdocs.json b/api_docs/monitoring.devdocs.json index cf4b2efaf9269..b25450597f36e 100644 --- a/api_docs/monitoring.devdocs.json +++ b/api_docs/monitoring.devdocs.json @@ -66,9 +66,9 @@ "(esClient: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, ") => void" @@ -87,9 +87,9 @@ "signature": [ { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" } ], diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 76fe0878a61f5..e9b2f79cc147c 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.devdocs.json b/api_docs/monitoring_collection.devdocs.json index bafd6078f836f..85367a10bd5bc 100644 --- a/api_docs/monitoring_collection.devdocs.json +++ b/api_docs/monitoring_collection.devdocs.json @@ -111,9 +111,9 @@ "T & ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" } ], diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 65fd46cffddcb..6032c8c8df2f8 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 831789cf3e393..6b88671558f1f 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index 95e46ad43c334..54ae76a2e6ec8 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index bdb3076239c61..d27e8e7836f44 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 803e3e02bdbd8..842fb62711ef1 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -1320,9 +1320,9 @@ " | undefined; name: string; }) => { data: ", { "pluginId": "@kbn/es-types", - "scope": "server", + "scope": "common", "docId": "kibKbnEsTypesPluginApi", - "section": "def-server.ESSearchResponse", + "section": "def-common.ESSearchResponse", "text": "ESSearchResponse" }, "; loading: boolean | undefined; }" @@ -3645,9 +3645,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; setAnonymousAccessServiceProvider: (provider: () => ", @@ -3849,9 +3849,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; }" @@ -4761,160 +4761,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-public.SLO", - "type": "Interface", - "tags": [], - "label": "SLO", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.SLO.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLO.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLO.timeWindow", - "type": "Object", - "tags": [], - "label": "timeWindow", - "description": [], - "signature": [ - "{ duration: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Duration", - "text": "Duration" - }, - "; }" - ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLO.objective", - "type": "Object", - "tags": [], - "label": "objective", - "description": [], - "signature": [ - "{ target: number; }" - ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLO.summary", - "type": "Object", - "tags": [], - "label": "summary", - "description": [], - "signature": [ - "{ sliValue: number; errorBudget: { remaining: number; }; }" - ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLOList", - "type": "Interface", - "tags": [], - "label": "SLOList", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.SLOList.results", - "type": "Array", - "tags": [], - "label": "results", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.SLO", - "text": "SLO" - }, - "[]" - ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLOList.page", - "type": "number", - "tags": [], - "label": "page", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLOList.perPage", - "type": "number", - "tags": [], - "label": "perPage", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SLOList.total", - "type": "number", - "tags": [], - "label": "total", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-public.Stat", @@ -6239,7 +6085,23 @@ "label": "ObservabilityPublicStart", "description": [], "signature": [ - "{ navigation: { PageTemplate: (pageTemplateProps: ", + "{ observabilityRuleTypeRegistry: { register: (type: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeModel", + "text": "ObservabilityRuleTypeModel" + }, + ") => void; getFormatter: (typeId: string) => ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeFormatter", + "text": "ObservabilityRuleTypeFormatter" + }, + " | undefined; list: () => string[]; }; navigation: { PageTemplate: (pageTemplateProps: ", "WrappedPageTemplateProps", ") => JSX.Element; }; createExploratoryViewUrl: ({ reportType, allSeries }: { reportType: ", "ReportViewType", @@ -6381,17 +6243,17 @@ " | undefined; }; client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => Promise" @@ -7665,9 +7527,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -7694,17 +7556,17 @@ "; client: ", { "pluginId": "@kbn/core-elasticsearch-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-server.ElasticsearchClient", + "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => Promise<", @@ -8950,9 +8812,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -8989,9 +8851,9 @@ "; esResponse: any; kibanaRequest: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "; operationName: string; startTime: number; }) => ", @@ -9091,9 +8953,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -9430,17 +9292,17 @@ "{ start: () => Promise<", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ">; setup: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "; }" @@ -9499,9 +9361,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -9520,9 +9382,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { licensing: Promise<", @@ -9544,9 +9406,9 @@ ">; core: Promise<", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.CoreRequestHandlerContext", + "section": "def-common.CoreRequestHandlerContext", "text": "CoreRequestHandlerContext" }, ">; }" @@ -9565,9 +9427,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -9592,17 +9454,17 @@ "{ [x: string]: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, ">; }" @@ -9657,9 +9519,9 @@ "{ \"GET /api/observability/slos\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/observability/slos\", ", @@ -9668,19 +9530,19 @@ "PartialC", "<{ name: ", "StringC", - "; indicator_types: ", + "; indicatorTypes: ", "Type", "; page: ", "StringC", - "; per_page: ", + "; perPage: ", "StringC", - "; sort_by: ", + "; sortBy: ", "UnionC", "<[", "LiteralC", "<\"name\">, ", "LiteralC", - "<\"indicator_type\">]>; sort_direction: ", + "<\"indicatorType\">]>; sortDirection: ", "UnionC", "<[", "LiteralC", @@ -9694,7 +9556,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { page: number; per_page: number; total: number; results: { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; summary: { sli_value: number; error_budget: { initial: number; consumed: number; remaining: number; is_estimated: boolean; }; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; revision: number; created_at: string; updated_at: string; }[]; }, ", + ", { page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }, ", { "pluginId": "observability", "scope": "server", @@ -9705,9 +9567,9 @@ "> | undefined; \"DELETE /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /api/observability/slos/{id}\", ", @@ -9735,9 +9597,9 @@ "> | undefined; \"GET /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/observability/slos/{id}\", ", @@ -9754,7 +9616,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; summary: { sli_value: number; error_budget: { initial: number; consumed: number; remaining: number; is_estimated: boolean; }; }; revision: number; created_at: string; updated_at: string; }, ", + ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }, ", { "pluginId": "observability", "scope": "server", @@ -9765,9 +9627,9 @@ "> | undefined; \"PUT /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"PUT /api/observability/slos/{id}\", ", @@ -9788,7 +9650,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_duration\">; params: ", + "<\"sli.apm.transactionDuration\">; params: ", "IntersectionC", "<[", "TypeC", @@ -9804,13 +9666,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -9826,7 +9688,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_error_rate\">; params: ", + "<\"sli.apm.transactionErrorRate\">; params: ", "IntersectionC", "<[", "TypeC", @@ -9842,13 +9704,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -9856,7 +9718,7 @@ "StringC", "]>; }>, ", "PartialC", - "<{ good_status_codes: ", + "<{ goodStatusCodes: ", "ArrayC", "<", "UnionC", @@ -9884,33 +9746,45 @@ "StringC", "; total: ", "StringC", - "; }>; }>]>; time_window: ", + "; }>; }>]>; timeWindow: ", "UnionC", "<[", "TypeC", "<{ duration: ", "Type", "<", - "Duration", - ", string, unknown>; is_rolling: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", "LiteralC", "; }>, ", "TypeC", "<{ duration: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; calendar: ", "TypeC", - "<{ start_time: ", + "<{ startTime: ", "Type", - "; }>; }>]>; budgeting_method: ", + "; }>; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", - ", ", + "<\"occurrences\">, ", "LiteralC", - "]>; objective: ", + "<\"timeslices\">]>; objective: ", "IntersectionC", "<[", "TypeC", @@ -9918,24 +9792,42 @@ "NumberC", "; }>, ", "PartialC", - "<{ timeslice_target: ", + "<{ timesliceTarget: ", "NumberC", - "; timeslice_window: ", + "; timesliceWindow: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>]>; settings: ", "TypeC", - "<{ timestamp_field: ", + "<{ timestampField: ", "StringC", - "; sync_delay: ", + "; syncDelay: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; frequency: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>; }>; }>, ", { "pluginId": "observability", @@ -9944,7 +9836,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; created_at: string; updated_at: string; }, ", + ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; }, ", { "pluginId": "observability", "scope": "server", @@ -9955,9 +9847,9 @@ "> | undefined; \"POST /api/observability/slos\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/observability/slos\", ", @@ -9976,7 +9868,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_duration\">; params: ", + "<\"sli.apm.transactionDuration\">; params: ", "IntersectionC", "<[", "TypeC", @@ -9992,13 +9884,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10014,7 +9906,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_error_rate\">; params: ", + "<\"sli.apm.transactionErrorRate\">; params: ", "IntersectionC", "<[", "TypeC", @@ -10030,13 +9922,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10044,7 +9936,7 @@ "StringC", "]>; }>, ", "PartialC", - "<{ good_status_codes: ", + "<{ goodStatusCodes: ", "ArrayC", "<", "UnionC", @@ -10072,33 +9964,45 @@ "StringC", "; total: ", "StringC", - "; }>; }>]>; time_window: ", + "; }>; }>]>; timeWindow: ", "UnionC", "<[", "TypeC", "<{ duration: ", "Type", "<", - "Duration", - ", string, unknown>; is_rolling: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", "LiteralC", "; }>, ", "TypeC", "<{ duration: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; calendar: ", "TypeC", - "<{ start_time: ", + "<{ startTime: ", "Type", - "; }>; }>]>; budgeting_method: ", + "; }>; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", - ", ", + "<\"occurrences\">, ", "LiteralC", - "]>; objective: ", + "<\"timeslices\">]>; objective: ", "IntersectionC", "<[", "TypeC", @@ -10106,26 +10010,44 @@ "NumberC", "; }>, ", "PartialC", - "<{ timeslice_target: ", + "<{ timesliceTarget: ", "NumberC", - "; timeslice_window: ", + "; timesliceWindow: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>]>; }>, ", "PartialC", "<{ settings: ", "PartialC", - "<{ timestamp_field: ", + "<{ timestampField: ", "StringC", - "; sync_delay: ", + "; syncDelay: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; frequency: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>; }>]>; }>, ", { "pluginId": "observability", @@ -10145,9 +10067,9 @@ "> | undefined; \"GET /api/observability/rules/alerts/dynamic_index_pattern\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/observability/rules/alerts/dynamic_index_pattern\", ", @@ -10179,9 +10101,9 @@ ">; }[TEndpoint] extends ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "; page: ", "StringC", - "; per_page: ", + "; perPage: ", "StringC", - "; sort_by: ", + "; sortBy: ", "UnionC", "<[", "LiteralC", "<\"name\">, ", "LiteralC", - "<\"indicator_type\">]>; sort_direction: ", + "<\"indicatorType\">]>; sortDirection: ", "UnionC", "<[", "LiteralC", @@ -10256,7 +10178,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { page: number; per_page: number; total: number; results: { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; summary: { sli_value: number; error_budget: { initial: number; consumed: number; remaining: number; is_estimated: boolean; }; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; revision: number; created_at: string; updated_at: string; }[]; }, ", + ", { page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }, ", { "pluginId": "observability", "scope": "server", @@ -10267,9 +10189,9 @@ "> | undefined; \"DELETE /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"DELETE /api/observability/slos/{id}\", ", @@ -10297,9 +10219,9 @@ "> | undefined; \"GET /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/observability/slos/{id}\", ", @@ -10316,7 +10238,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; summary: { sli_value: number; error_budget: { initial: number; consumed: number; remaining: number; is_estimated: boolean; }; }; revision: number; created_at: string; updated_at: string; }, ", + ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; } & { summary: { status: \"NO_DATA\" | \"HEALTHY\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }, ", { "pluginId": "observability", "scope": "server", @@ -10327,9 +10249,9 @@ "> | undefined; \"PUT /api/observability/slos/{id}\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"PUT /api/observability/slos/{id}\", ", @@ -10350,7 +10272,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_duration\">; params: ", + "<\"sli.apm.transactionDuration\">; params: ", "IntersectionC", "<[", "TypeC", @@ -10366,13 +10288,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10388,7 +10310,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_error_rate\">; params: ", + "<\"sli.apm.transactionErrorRate\">; params: ", "IntersectionC", "<[", "TypeC", @@ -10404,13 +10326,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10418,7 +10340,7 @@ "StringC", "]>; }>, ", "PartialC", - "<{ good_status_codes: ", + "<{ goodStatusCodes: ", "ArrayC", "<", "UnionC", @@ -10446,33 +10368,45 @@ "StringC", "; total: ", "StringC", - "; }>; }>]>; time_window: ", + "; }>; }>]>; timeWindow: ", "UnionC", "<[", "TypeC", "<{ duration: ", "Type", "<", - "Duration", - ", string, unknown>; is_rolling: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", "LiteralC", "; }>, ", "TypeC", "<{ duration: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; calendar: ", "TypeC", - "<{ start_time: ", + "<{ startTime: ", "Type", - "; }>; }>]>; budgeting_method: ", + "; }>; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", - ", ", + "<\"occurrences\">, ", "LiteralC", - "]>; objective: ", + "<\"timeslices\">]>; objective: ", "IntersectionC", "<[", "TypeC", @@ -10480,24 +10414,42 @@ "NumberC", "; }>, ", "PartialC", - "<{ timeslice_target: ", + "<{ timesliceTarget: ", "NumberC", - "; timeslice_window: ", + "; timesliceWindow: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>]>; settings: ", "TypeC", - "<{ timestamp_field: ", + "<{ timestampField: ", "StringC", - "; sync_delay: ", + "; syncDelay: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; frequency: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>; }>; }>, ", { "pluginId": "observability", @@ -10506,7 +10458,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transaction_duration\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transaction_error_rate\"; params: { environment: string; service: string; transaction_type: string; transaction_name: string; } & { good_status_codes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; time_window: { duration: string; is_rolling: boolean; } | { duration: string; calendar: { start_time: string; }; }; budgeting_method: string; objective: { target: number; } & { timeslice_target?: number | undefined; timeslice_window?: string | undefined; }; settings: { timestamp_field: string; sync_delay: string; frequency: string; }; created_at: string; updated_at: string; }, ", + ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; 'threshold.us': number; } & { index?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; } & { goodStatusCodes?: (\"2xx\" | \"3xx\" | \"4xx\" | \"5xx\")[] | undefined; index?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; calendar: { startTime: string; }; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { timestampField: string; syncDelay: string; frequency: string; }; createdAt: string; updatedAt: string; }, ", { "pluginId": "observability", "scope": "server", @@ -10517,9 +10469,9 @@ "> | undefined; \"POST /api/observability/slos\"?: ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"POST /api/observability/slos\", ", @@ -10538,7 +10490,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_duration\">; params: ", + "<\"sli.apm.transactionDuration\">; params: ", "IntersectionC", "<[", "TypeC", @@ -10554,13 +10506,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10576,7 +10528,7 @@ "TypeC", "<{ type: ", "LiteralC", - "<\"sli.apm.transaction_error_rate\">; params: ", + "<\"sli.apm.transactionErrorRate\">; params: ", "IntersectionC", "<[", "TypeC", @@ -10592,13 +10544,13 @@ "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_type: ", + "]>; transactionType: ", "UnionC", "<[", "LiteralC", "<\"*\">, ", "StringC", - "]>; transaction_name: ", + "]>; transactionName: ", "UnionC", "<[", "LiteralC", @@ -10606,7 +10558,7 @@ "StringC", "]>; }>, ", "PartialC", - "<{ good_status_codes: ", + "<{ goodStatusCodes: ", "ArrayC", "<", "UnionC", @@ -10634,33 +10586,45 @@ "StringC", "; total: ", "StringC", - "; }>; }>]>; time_window: ", + "; }>; }>]>; timeWindow: ", "UnionC", "<[", "TypeC", "<{ duration: ", "Type", "<", - "Duration", - ", string, unknown>; is_rolling: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; isRolling: ", "LiteralC", "; }>, ", "TypeC", "<{ duration: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; calendar: ", "TypeC", - "<{ start_time: ", + "<{ startTime: ", "Type", - "; }>; }>]>; budgeting_method: ", + "; }>; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", - ", ", + "<\"occurrences\">, ", "LiteralC", - "]>; objective: ", + "<\"timeslices\">]>; objective: ", "IntersectionC", "<[", "TypeC", @@ -10668,26 +10632,44 @@ "NumberC", "; }>, ", "PartialC", - "<{ timeslice_target: ", + "<{ timesliceTarget: ", "NumberC", - "; timeslice_window: ", + "; timesliceWindow: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>]>; }>, ", "PartialC", "<{ settings: ", "PartialC", - "<{ timestamp_field: ", + "<{ timestampField: ", "StringC", - "; sync_delay: ", + "; syncDelay: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; frequency: ", "Type", "<", - "Duration", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, ", string, unknown>; }>; }>]>; }>, ", { "pluginId": "observability", @@ -10707,9 +10689,9 @@ "> | undefined; \"GET /api/observability/rules/alerts/dynamic_index_pattern\": ", { "pluginId": "@kbn/server-route-repository", - "scope": "common", + "scope": "public", "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", + "section": "def-public.ServerRoute", "text": "ServerRoute" }, "<\"GET /api/observability/rules/alerts/dynamic_index_pattern\", ", @@ -10858,9 +10840,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -10962,9 +10944,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11063,9 +11045,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11153,9 +11135,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11254,9 +11236,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11350,9 +11332,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "<", @@ -11566,9 +11548,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11709,9 +11691,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11785,9 +11767,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -11854,138 +11836,6 @@ } ] }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab", - "type": "Object", - "tags": [], - "label": "[apmOperationsTab]", - "description": [], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.category", - "type": "Array", - "tags": [], - "label": "category", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.name", - "type": "Any", - "tags": [], - "label": "name", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.description", - "type": "Any", - "tags": [], - "label": "description", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.schema", - "type": "Object", - "tags": [], - "label": "schema", - "description": [], - "signature": [ - { - "pluginId": "@kbn/config-schema", - "scope": "server", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", - "text": "Type" - }, - "" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.value", - "type": "boolean", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "true" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.requiresPageReload", - "type": "boolean", - "tags": [], - "label": "requiresPageReload", - "description": [], - "signature": [ - "true" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "\"boolean\"" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmOperationsTab.showInLabs", - "type": "boolean", - "tags": [], - "label": "showInLabs", - "description": [], - "signature": [ - "false" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, { "parentPluginId": "observability", "id": "def-server.uiSettings.apmLabsButton", @@ -12049,9 +11899,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12181,9 +12031,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12257,9 +12107,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12389,9 +12239,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12546,25 +12396,25 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{ arm: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; x86_64: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "; }>" @@ -12635,9 +12485,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12711,9 +12561,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -12795,9 +12645,9 @@ "{ getAlertDetailsConfig(): Readonly<{} & { metrics: Readonly<{} & { enabled: boolean; }>; apm: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; uptime: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: ", { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { licensing: Promise<", @@ -12811,9 +12661,9 @@ ">; }, request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<{ readonly index: string; create: (createParams: { annotation: { type: string; }; '@timestamp': string; message: string; } & { tags?: string[] | undefined; service?: { name?: string | undefined; environment?: string | undefined; version?: string | undefined; } | undefined; }) => Promise<{ _id: string; _index: string; _source: ", @@ -13017,21 +12867,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.apmOperationsTab", - "type": "string", - "tags": [], - "label": "apmOperationsTab", - "description": [], - "signature": [ - "\"observability:apmOperationsTab\"" - ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.apmProgressiveLoading", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 6c692cc7f4fe7..148df74b3e762 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Observability UI](https://github.com/orgs/elastic/teams/observability-u | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 592 | 40 | 588 | 32 | +| 571 | 38 | 567 | 31 | ## Client diff --git a/api_docs/osquery.devdocs.json b/api_docs/osquery.devdocs.json index 9ec19fc8e2d46..afb316f5ab7a5 100644 --- a/api_docs/osquery.devdocs.json +++ b/api_docs/osquery.devdocs.json @@ -43,7 +43,7 @@ "((props: ", "OsqueryActionProps", " & { ecsData?: ", - "AlertEcsData", + "Ecs", " | undefined; }) => JSX.Element) | undefined" ], "path": "x-pack/plugins/osquery/public/types.ts", @@ -190,6 +190,46 @@ "trackAdoption": false } ] + }, + { + "parentPluginId": "osquery", + "id": "def-public.OsqueryPluginStart.fetchAllLiveQueries", + "type": "Function", + "tags": [], + "label": "fetchAllLiveQueries", + "description": [], + "signature": [ + "(config: ", + "UseAllLiveQueriesConfig", + ") => ", + "UseQueryResult", + "<{ data: Omit<", + "ActionsStrategyResponse", + ", \"edges\"> & { items: ", + "SearchHit", + "[]; }; }, Error>" + ], + "path": "x-pack/plugins/osquery/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "osquery", + "id": "def-public.OsqueryPluginStart.fetchAllLiveQueries.$1", + "type": "Object", + "tags": [], + "label": "config", + "description": [], + "signature": [ + "UseAllLiveQueriesConfig" + ], + "path": "x-pack/plugins/osquery/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "lifecycle": "start", @@ -222,7 +262,15 @@ "label": "osqueryCreateAction", "description": [], "signature": [ - "(payload: { agent_ids?: string[] | undefined; agent_all?: boolean | undefined; agent_platforms?: string[] | undefined; agent_policy_ids?: string[] | undefined; query?: string | undefined; queries?: { id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; }[] | { [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; }; } | undefined; saved_query_id?: string | undefined; ecs_mapping?: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; pack_id?: string | undefined; alert_ids?: string[] | undefined; case_ids?: string[] | undefined; event_ids?: string[] | undefined; metadata?: object | undefined; }) => void" + "(payload: { agent_ids?: string[] | undefined; agent_all?: boolean | undefined; agent_platforms?: string[] | undefined; agent_policy_ids?: string[] | undefined; query?: string | undefined; queries?: { id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }[] | undefined; saved_query_id?: string | undefined; ecs_mapping?: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; pack_id?: string | undefined; alert_ids?: string[] | undefined; case_ids?: string[] | undefined; event_ids?: string[] | undefined; metadata?: object | undefined; }, ecsData?: ", + { + "pluginId": "@kbn/ecs", + "scope": "common", + "docId": "kibKbnEcsPluginApi", + "section": "def-common.Ecs", + "text": "Ecs" + }, + " | undefined) => void" ], "path": "x-pack/plugins/osquery/server/types.ts", "deprecated": false, @@ -236,12 +284,34 @@ "label": "payload", "description": [], "signature": [ - "{ agent_ids?: string[] | undefined; agent_all?: boolean | undefined; agent_platforms?: string[] | undefined; agent_policy_ids?: string[] | undefined; query?: string | undefined; queries?: { id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; }[] | { [x: string]: { query: string; id: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; saved_query_id: string | undefined; }; } | undefined; saved_query_id?: string | undefined; ecs_mapping?: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; pack_id?: string | undefined; alert_ids?: string[] | undefined; case_ids?: string[] | undefined; event_ids?: string[] | undefined; metadata?: object | undefined; }" + "{ agent_ids?: string[] | undefined; agent_all?: boolean | undefined; agent_platforms?: string[] | undefined; agent_policy_ids?: string[] | undefined; query?: string | undefined; queries?: { id: string; query: string; ecs_mapping: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; version: string | undefined; platform: string | undefined; removed: boolean | undefined; snapshot: boolean | undefined; }[] | undefined; saved_query_id?: string | undefined; ecs_mapping?: { [x: string]: { field?: string | undefined; value?: string | string[] | undefined; }; } | undefined; pack_id?: string | undefined; alert_ids?: string[] | undefined; case_ids?: string[] | undefined; event_ids?: string[] | undefined; metadata?: object | undefined; }" ], "path": "x-pack/plugins/osquery/server/types.ts", "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "osquery", + "id": "def-server.OsqueryPluginSetup.osqueryCreateAction.$2", + "type": "CompoundType", + "tags": [], + "label": "ecsData", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ecs", + "scope": "common", + "docId": "kibKbnEcsPluginApi", + "section": "def-common.Ecs", + "text": "Ecs" + }, + " | undefined" + ], + "path": "x-pack/plugins/osquery/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index dd14f8c113478..107defad71e0a 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Security asset management](https://github.com/orgs/elastic/teams/securi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 21 | 0 | 21 | 5 | +| 24 | 0 | 24 | 7 | ## Client diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 6d3cd9f71a366..a697f82929b5a 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,22 +15,22 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 531 | 443 | 42 | +| 544 | 450 | 42 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 33973 | 522 | 23697 | 1162 | +| 34131 | 521 | 23848 | 1178 | ## Plugin Directory | Plugin name           | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports | |--------------|----------------|-----------|--------------|----------|---------------|--------| -| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 226 | 8 | 221 | 24 | +| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 220 | 8 | 215 | 24 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 36 | 1 | 32 | 2 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 12 | 0 | 1 | 2 | -| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 427 | 0 | 418 | 37 | +| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 429 | 0 | 420 | 37 | | | [APM UI](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 42 | 0 | 42 | 58 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 9 | 0 | 9 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 89 | 1 | 74 | 2 | @@ -47,21 +47,21 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | cloudLinks | [Kibana Core](https://github.com/orgs/elastic/teams/@kibana-core) | Adds the links to the Elastic Cloud console | 0 | 0 | 0 | 0 | | | [Cloud Security Posture](https://github.com/orgs/elastic/teams/cloud-posture-security) | The cloud security posture plugin | 17 | 0 | 2 | 2 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 13 | 0 | 13 | 1 | -| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 271 | 0 | 262 | 10 | -| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2809 | 17 | 1014 | 0 | +| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 264 | 0 | 260 | 9 | +| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2818 | 17 | 1018 | 0 | | crossClusterReplication | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | customBranding | [global-experience](https://github.com/orgs/elastic/teams/kibana-global-experience) | Enables customization of Kibana | 0 | 0 | 0 | 0 | | | [Fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 107 | 0 | 88 | 1 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 113 | 0 | 109 | 2 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 52 | 0 | 51 | 0 | -| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3296 | 119 | 2578 | 27 | +| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3300 | 119 | 2578 | 27 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | -| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Reusable data view field editor across Kibana | 60 | 0 | 30 | 0 | +| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Data view management app | 2 | 0 | 2 | 0 | -| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1024 | 0 | 230 | 2 | -| | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 28 | 3 | 24 | 1 | +| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1032 | 0 | 231 | 2 | +| | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 29 | 3 | 25 | 1 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 10 | 0 | 8 | 2 | -| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 100 | 0 | 82 | 4 | +| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 107 | 0 | 88 | 7 | | | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds embeddables service to Kibana | 524 | 8 | 423 | 4 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Extends embeddable plugin with more functionality | 14 | 0 | 14 | 0 | @@ -89,7 +89,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 62 | 0 | 62 | 2 | | | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/team:AppServicesUx) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 252 | 1 | 45 | 5 | | | [@elastic/kibana-global-experience](https://github.com/orgs/elastic/teams/@elastic/kibana-global-experience) | Simple UI for managing files in Kibana | 2 | 1 | 2 | 0 | -| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1029 | 3 | 924 | 20 | +| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1032 | 3 | 926 | 20 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | globalSearchProviders | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | @@ -108,7 +108,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 184 | 1 | 151 | 5 | | kibanaUsageCollection | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 0 | 0 | 0 | 0 | -| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 624 | 3 | 424 | 8 | +| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 619 | 3 | 418 | 9 | | | [Security Team](https://github.com/orgs/elastic/teams/security-team) | - | 3 | 0 | 3 | 1 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 695 | 0 | 599 | 50 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 8 | 0 | 8 | 0 | @@ -125,8 +125,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 34 | 0 | 34 | 2 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 2 | 0 | 2 | 1 | -| | [Observability UI](https://github.com/orgs/elastic/teams/observability-ui) | - | 592 | 40 | 588 | 32 | -| | [Security asset management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 21 | 0 | 21 | 5 | +| | [Observability UI](https://github.com/orgs/elastic/teams/observability-ui) | - | 571 | 38 | 567 | 31 | +| | [Security asset management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 24 | 0 | 24 | 7 | | painlessLab | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 231 | 7 | 175 | 11 | | | [profiling](https://github.com/orgs/elastic/teams/profiling-ui) | - | 15 | 2 | 15 | 0 | @@ -144,8 +144,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 32 | 0 | 13 | 0 | | | [Kibana Reporting Services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Kibana Screenshotting Plugin | 27 | 0 | 8 | 4 | | searchprofiler | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | -| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 251 | 0 | 91 | 1 | -| | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 113 | 0 | 76 | 28 | +| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 269 | 0 | 89 | 0 | +| | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 113 | 0 | 76 | 29 | | | [Security Team](https://github.com/orgs/elastic/teams/security-team) | - | 7 | 0 | 7 | 1 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds URL Service and sharing capabilities to Kibana | 115 | 0 | 56 | 10 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 22 | 1 | 22 | 1 | @@ -165,9 +165,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 579 | 11 | 550 | 53 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds UI Actions service to Kibana | 140 | 2 | 97 | 12 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Extends UI Actions plugin with more functionality | 206 | 0 | 142 | 9 | -| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 269 | 0 | 244 | 7 | +| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 270 | 0 | 245 | 7 | | | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | The `unifiedHistogram` plugin provides UI components to create a layout including a resizable histogram and a main display. | 52 | 0 | 15 | 0 | -| | [Visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 134 | 2 | 105 | 18 | +| | [Visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 134 | 2 | 99 | 20 | | upgradeAssistant | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | urlDrilldown | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds drilldown implementations to Kibana | 0 | 0 | 0 | 0 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 12 | 0 | 12 | 0 | @@ -205,7 +205,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 21 | 0 | 0 | 0 | | | Kibana Core | - | 18 | 0 | 2 | 0 | | | [Owner missing] | - | 17 | 0 | 17 | 0 | -| | [Owner missing] | Elastic APM trace data generator | 77 | 0 | 77 | 15 | +| | [Owner missing] | Elastic APM trace data generator | 27 | 0 | 27 | 3 | +| | [Owner missing] | Elastic APM trace data generator | 152 | 0 | 152 | 16 | | | [Owner missing] | - | 11 | 0 | 11 | 0 | | | [Owner missing] | - | 10 | 0 | 10 | 0 | | | [Owner missing] | - | 4 | 0 | 3 | 0 | @@ -271,7 +272,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 5 | 0 | 5 | 0 | | | Kibana Core | - | 9 | 0 | 2 | 0 | | | Kibana Core | - | 4 | 0 | 4 | 0 | -| | Kibana Core | - | 111 | 4 | 37 | 0 | +| | Kibana Core | - | 109 | 4 | 35 | 0 | | | Kibana Core | - | 10 | 0 | 10 | 1 | | | Kibana Core | - | 16 | 0 | 16 | 0 | | | Kibana Core | - | 4 | 0 | 0 | 0 | @@ -282,7 +283,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 7 | 0 | 7 | 0 | | | Kibana Core | - | 25 | 5 | 25 | 1 | | | Kibana Core | - | 7 | 0 | 7 | 1 | -| | Kibana Core | - | 392 | 1 | 154 | 0 | +| | Kibana Core | - | 403 | 1 | 160 | 0 | | | Kibana Core | - | 54 | 0 | 48 | 6 | | | Kibana Core | - | 41 | 0 | 40 | 0 | | | Kibana Core | - | 4 | 0 | 2 | 0 | @@ -370,12 +371,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 7 | 0 | 7 | 0 | | | [Owner missing] | - | 13 | 0 | 7 | 0 | | | [Owner missing] | - | 10 | 0 | 10 | 0 | +| | [Owner missing] | - | 2 | 0 | 2 | 0 | | | [Owner missing] | elasticsearch datemath parser, used in kibana | 44 | 0 | 43 | 0 | | | [Owner missing] | - | 9 | 1 | 9 | 0 | | | [Owner missing] | - | 101 | 0 | 85 | 0 | | | [Owner missing] | - | 15 | 0 | 9 | 0 | -| | [Owner missing] | - | 30 | 2 | 26 | 0 | -| | [Owner missing] | - | 67 | 0 | 67 | 2 | +| | [Owner missing] | - | 28 | 2 | 25 | 0 | +| | [Owner missing] | - | 68 | 0 | 68 | 2 | | | [Owner missing] | - | 1 | 0 | 1 | 0 | | | [Owner missing] | - | 19 | 0 | 11 | 0 | | | Kibana Core | - | 5 | 0 | 4 | 37 | @@ -391,38 +393,42 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Owner missing] | - | 1 | 0 | 0 | 0 | | | [Owner missing] | - | 3 | 0 | 0 | 0 | | | [Owner missing] | - | 23 | 0 | 21 | 1 | -| | [Owner missing] | - | 17 | 1 | 8 | 0 | +| | [Owner missing] | - | 19 | 1 | 12 | 0 | | | [Owner missing] | - | 3 | 0 | 3 | 0 | | | Kibana Core | - | 1 | 0 | 1 | 0 | | | [Owner missing] | - | 32 | 0 | 22 | 0 | | | [Owner missing] | - | 8 | 0 | 2 | 2 | | | Kibana Core | - | 51 | 0 | 48 | 0 | | | Kibana Core | - | 61 | 0 | 1 | 0 | -| | [Owner missing] | - | 43 | 0 | 36 | 0 | -| | Visualizations | - | 52 | 12 | 41 | 0 | +| | [Owner missing] | - | 45 | 0 | 37 | 0 | +| | Visualizations | - | 52 | 12 | 43 | 0 | | | [Owner missing] | - | 24 | 0 | 24 | 3 | | | [Owner missing] | - | 13 | 0 | 13 | 0 | | | [Owner missing] | - | 64 | 0 | 59 | 5 | -| | [Owner missing] | - | 96 | 0 | 95 | 0 | +| | [Owner missing] | - | 86 | 0 | 85 | 0 | | | [Owner missing] | - | 7 | 0 | 5 | 0 | | | Kibana Core | - | 27 | 0 | 1 | 2 | | | Kibana Core | - | 8 | 0 | 8 | 0 | | | [Owner missing] | - | 6 | 0 | 1 | 1 | | | [Owner missing] | - | 534 | 1 | 1 | 0 | | | Machine Learning UI | This package includes utility functions related to creating elasticsearch aggregation queries, data manipulation and verification. | 82 | 2 | 58 | 0 | +| | [Owner missing] | - | 2 | 0 | 1 | 0 | | | Machine Learning UI | A type guard to check record like object structures. | 3 | 0 | 2 | 0 | +| | Machine Learning UI | Utilities to combine url state management with local storage. | 5 | 0 | 3 | 0 | +| | Machine Learning UI | TypeScript-aware utility functions to get/set attributes from objects. | 8 | 2 | 8 | 0 | | | Machine Learning UI | Creates a deterministic number based hash out of a string. | 2 | 0 | 1 | 0 | -| | [Owner missing] | - | 62 | 0 | 60 | 2 | -| | [Owner missing] | - | 47 | 0 | 46 | 10 | +| | Machine Learning UI | Url state management utilities. | 31 | 1 | 24 | 1 | +| | [Owner missing] | - | 71 | 0 | 69 | 3 | +| | [Owner missing] | - | 45 | 0 | 45 | 10 | | | [Owner missing] | - | 51 | 5 | 34 | 0 | | | [Owner missing] | io ts utilities and types to be shared with plugins from the osquery project | 62 | 0 | 62 | 0 | -| | [Owner missing] | - | 21 | 1 | 10 | 0 | | | [Owner missing] | A library to convert APM traces into JSON format for performance testing. | 3 | 0 | 3 | 1 | | | [Owner missing] | - | 1 | 0 | 1 | 0 | | | [Owner missing] | Just some helpers for kibana plugin devs. | 1 | 0 | 1 | 0 | | | [Owner missing] | - | 21 | 0 | 10 | 0 | +| | [Owner missing] | - | 11 | 0 | 8 | 0 | | | [Owner missing] | - | 6 | 0 | 6 | 1 | -| | [Owner missing] | - | 11 | 2 | 7 | 0 | +| | [Owner missing] | - | 13 | 2 | 8 | 0 | | | [Owner missing] | - | 97 | 0 | 94 | 0 | | | [Owner missing] | Security Solution auto complete | 56 | 1 | 41 | 1 | | | [Owner missing] | security solution elastic search utilities to use across plugins such lists, security_solution, cases, etc... | 67 | 0 | 61 | 1 | @@ -441,7 +447,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Owner missing] | security solution utilities to use across plugins such lists, security_solution, cases, etc... | 31 | 2 | 29 | 0 | | | Kibana Core | - | 53 | 0 | 50 | 1 | | | [Owner missing] | - | 25 | 0 | 24 | 1 | -| | [Owner missing] | - | 2 | 0 | 0 | 0 | +| | [Owner missing] | - | 2 | 0 | 2 | 0 | | | [Owner missing] | - | 3 | 0 | 2 | 2 | | | [Owner missing] | - | 40 | 0 | 3 | 0 | | | [Owner missing] | - | 8 | 0 | 4 | 0 | @@ -479,24 +485,25 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Owner missing] | - | 2 | 0 | 0 | 0 | | | [Owner missing] | - | 15 | 0 | 4 | 0 | | | [Owner missing] | - | 9 | 0 | 3 | 0 | +| | [Owner missing] | SLO io-ts schema definition and common models shared between public and server. | 65 | 0 | 65 | 0 | | | [Owner missing] | - | 20 | 0 | 12 | 0 | | | [Owner missing] | - | 2 | 0 | 2 | 0 | | | Kibana Core | - | 97 | 1 | 64 | 1 | | | [Owner missing] | - | 4 | 0 | 2 | 0 | | | Operations | - | 41 | 2 | 21 | 0 | | | Kibana Core | - | 2 | 0 | 2 | 0 | -| | Operations | - | 265 | 4 | 221 | 11 | +| | Operations | - | 269 | 4 | 225 | 12 | | | [Owner missing] | - | 135 | 5 | 103 | 2 | | | [Owner missing] | - | 2 | 0 | 1 | 0 | | | [Owner missing] | - | 72 | 0 | 55 | 0 | -| | [Owner missing] | - | 8 | 0 | 2 | 0 | -| | [Owner missing] | - | 113 | 1 | 65 | 0 | +| | [Owner missing] | - | 9 | 0 | 9 | 1 | +| | [Owner missing] | - | 27 | 0 | 16 | 1 | | | [Owner missing] | - | 83 | 0 | 83 | 1 | | | [Owner missing] | - | 44 | 0 | 35 | 0 | | | [Owner missing] | - | 7 | 0 | 6 | 0 | | | [Owner missing] | - | 58 | 0 | 5 | 0 | | | [Owner missing] | - | 34 | 0 | 14 | 1 | | | [Owner missing] | - | 2 | 0 | 2 | 0 | -| | [Owner missing] | - | 30 | 0 | 20 | 0 | +| | [Owner missing] | - | 24 | 0 | 14 | 0 | | | [Owner missing] | - | 6 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.devdocs.json b/api_docs/presentation_util.devdocs.json index 3c39d2ff5f862..ecaa494366ee7 100644 --- a/api_docs/presentation_util.devdocs.json +++ b/api_docs/presentation_util.devdocs.json @@ -3197,9 +3197,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">) => any" diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index be7fcb8f59940..ba76ab22302ee 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index f26a955f03dae..5ad31e51db80b 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 3ea31873b492f..78e3ef59625e5 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.devdocs.json b/api_docs/reporting.devdocs.json index a2e41bd90be70..aa51073df2dd2 100644 --- a/api_docs/reporting.devdocs.json +++ b/api_docs/reporting.devdocs.json @@ -615,9 +615,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">[]; }" @@ -684,9 +684,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">[]; }" diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 2daa1708eeccf..0ba680ce495e3 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 558f40d1bc82f..3d0b9a0fa58e2 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.devdocs.json b/api_docs/rule_registry.devdocs.json index 30b6b233f61c0..c53e8b6368295 100644 --- a/api_docs/rule_registry.devdocs.json +++ b/api_docs/rule_registry.devdocs.json @@ -1492,17 +1492,17 @@ "(logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, ", ruleDataClient: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicContract", + "section": "def-common.PublicContract", "text": "PublicContract" }, "<", @@ -1565,9 +1565,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -1586,9 +1586,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.PublicContract", + "section": "def-common.PublicContract", "text": "PublicContract" }, "<", @@ -1621,9 +1621,9 @@ "({ logger, ruleDataClient }: { logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; ruleDataClient: ", @@ -1693,9 +1693,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -1748,9 +1748,9 @@ "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => (request: TSearchRequest) => Promise<", { "pluginId": "@kbn/es-types", - "scope": "server", + "scope": "common", "docId": "kibKbnEsTypesPluginApi", - "section": "def-server.ESSearchResponse", + "section": "def-common.ESSearchResponse", "text": "ESSearchResponse" }, "> & OutputOf>>, TSearchRequest, { restTotalHitsAsInt: false; }>>" @@ -3461,9 +3461,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], @@ -3548,9 +3548,9 @@ "; logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; }) => " @@ -4138,9 +4138,9 @@ "({ logger, ruleDataClient }: { logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; ruleDataClient: ", @@ -4201,9 +4201,9 @@ "{ logger: ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, "; ruleDataClient: ", @@ -4269,9 +4269,9 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -4298,9 +4298,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 3ecff31302572..6b993f220bda6 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index f5e44eb91738b..38a129be1d77a 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 48b0f25ae82b8..0d16830dcc99c 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index d2e15bd7223ac..9000fc7b91ea0 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.devdocs.json b/api_docs/saved_objects_management.devdocs.json index c51e3b00daf11..79c0a5fb5865f 100644 --- a/api_docs/saved_objects_management.devdocs.json +++ b/api_docs/saved_objects_management.devdocs.json @@ -1686,9 +1686,9 @@ " | undefined; }) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[] | undefined" diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index db1c40ed6cd35..e3c723291457d 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.devdocs.json b/api_docs/saved_objects_tagging.devdocs.json index c96f8e416e0cd..d5236cb492edd 100644 --- a/api_docs/saved_objects_tagging.devdocs.json +++ b/api_docs/saved_objects_tagging.devdocs.json @@ -114,9 +114,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -148,9 +148,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 7e8bc6ddf00eb..7d3ecae3665ed 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.devdocs.json b/api_docs/saved_objects_tagging_oss.devdocs.json index 05bc556ebdf99..ee8c84bcf2b50 100644 --- a/api_docs/saved_objects_tagging_oss.devdocs.json +++ b/api_docs/saved_objects_tagging_oss.devdocs.json @@ -212,9 +212,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[]" @@ -233,9 +233,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, "[]" @@ -661,9 +661,9 @@ "(tagName: string) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, " | undefined" @@ -787,9 +787,9 @@ " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, ")[]) => string[]" @@ -817,9 +817,9 @@ " | ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsFindOptionsReference", + "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, ")[]" diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 0167bf617bd3f..43febb7894ba6 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index e62678d28f77e..3a668bf2061ef 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.devdocs.json b/api_docs/screenshot_mode.devdocs.json index db7b35d90a2a6..322f5e1d73132 100644 --- a/api_docs/screenshot_mode.devdocs.json +++ b/api_docs/screenshot_mode.devdocs.json @@ -141,9 +141,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.RequestHandlerContext", + "section": "def-common.RequestHandlerContext", "text": "RequestHandlerContext" }, " & { screenshotMode: Promise<{ isScreenshot: boolean; }>; }" @@ -282,9 +282,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -303,9 +303,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index e1c8b17fd4130..cd7f0dc88773f 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.devdocs.json b/api_docs/screenshotting.devdocs.json index 4f98923fc0a73..64c08e6ab7e51 100644 --- a/api_docs/screenshotting.devdocs.json +++ b/api_docs/screenshotting.devdocs.json @@ -21,17 +21,17 @@ "> | undefined; zoom?: number | undefined; } extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & { id?: Id | undefined; dimensions?: { width: number; height: number; } | undefined; selectors?: Partial<", @@ -506,17 +506,17 @@ "> | undefined; zoom?: number | undefined; } extends ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " ? ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " & { id?: Id | undefined; dimensions?: { width: number; height: number; } | undefined; selectors?: Partial<", diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index d5ab33c33c4b7..64ffa67bafcd4 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.devdocs.json b/api_docs/security.devdocs.json index ec61dc141f3b7..6f77c2eda08bc 100644 --- a/api_docs/security.devdocs.json +++ b/api_docs/security.devdocs.json @@ -1229,9 +1229,9 @@ " extends ", { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.LogMeta", + "section": "def-common.LogMeta", "text": "LogMeta" } ], @@ -1245,7 +1245,9 @@ "type": "string", "tags": [], "label": "message", - "description": [], + "description": [ + "\nLog message" + ], "path": "x-pack/plugins/security/server/audit/audit_events.ts", "deprecated": false, "trackAdoption": false @@ -1256,9 +1258,251 @@ "type": "Object", "tags": [], "label": "kibana", - "description": [], + "description": [ + "\nKibana specific fields" + ], + "signature": [ + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.AuditKibana", + "text": "AuditKibana" + }, + " | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditEvent.http", + "type": "Object", + "tags": [], + "label": "http", + "description": [ + "\nFields describing an HTTP request" + ], + "signature": [ + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.AuditHttp", + "text": "AuditHttp" + }, + " | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditHttp", + "type": "Interface", + "tags": [], + "label": "AuditHttp", + "description": [ + "\nAudit http schema using ECS format" + ], + "signature": [ + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.AuditHttp", + "text": "AuditHttp" + }, + " extends ", + "EcsHttp" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-server.AuditHttp.request", + "type": "Object", + "tags": [], + "label": "request", + "description": [ + "\nHTTP request details" + ], + "signature": [ + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.AuditRequest", + "text": "AuditRequest" + }, + " | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana", + "type": "Interface", + "tags": [], + "label": "AuditKibana", + "description": [ + "\nAudit kibana schema using ECS format" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.space_id", + "type": "string", + "tags": [], + "label": "space_id", + "description": [ + "\nThe ID of the space associated with this event." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.session_id", + "type": "string", + "tags": [], + "label": "session_id", + "description": [ + "\nThe ID of the user session associated with this event. Each login attempt\nresults in a unique session id." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.saved_object", + "type": "Object", + "tags": [], + "label": "saved_object", + "description": [ + "\nSaved object that was created, changed, deleted or accessed as part of this event." + ], + "signature": [ + "{ type: string; id: string; } | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.authentication_provider", + "type": "string", + "tags": [], + "label": "authentication_provider", + "description": [ + "\nName of authentication provider associated with a login event." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.authentication_type", + "type": "string", + "tags": [], + "label": "authentication_type", + "description": [ + "\nType of authentication provider associated with a login event." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.authentication_realm", + "type": "string", + "tags": [], + "label": "authentication_realm", + "description": [ + "\nName of Elasticsearch realm that has authenticated the user." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.lookup_realm", + "type": "string", + "tags": [], + "label": "lookup_realm", + "description": [ + "\nName of Elasticsearch realm where the user details were retrieved from." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.add_to_spaces", + "type": "Object", + "tags": [], + "label": "add_to_spaces", + "description": [ + "\nSet of space IDs that a saved object was shared to." + ], "signature": [ - "{ space_id?: string | undefined; session_id?: string | undefined; saved_object?: { type: string; id: string; } | undefined; authentication_provider?: string | undefined; authentication_type?: string | undefined; authentication_realm?: string | undefined; lookup_realm?: string | undefined; add_to_spaces?: readonly string[] | undefined; delete_from_spaces?: readonly string[] | undefined; } | undefined" + "readonly string[] | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.AuditKibana.delete_from_spaces", + "type": "Object", + "tags": [], + "label": "delete_from_spaces", + "description": [ + "\nSet of space IDs that a saved object was removed from." + ], + "signature": [ + "readonly string[] | undefined" ], "path": "x-pack/plugins/security/server/audit/audit_events.ts", "deprecated": false, @@ -1343,6 +1587,48 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "security", + "id": "def-server.AuditRequest", + "type": "Interface", + "tags": [], + "label": "AuditRequest", + "description": [ + "\nAudit request schema using ECS format" + ], + "signature": [ + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.AuditRequest", + "text": "AuditRequest" + }, + " extends Request" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-server.AuditRequest.headers", + "type": "Object", + "tags": [], + "label": "headers", + "description": [ + "\nHTTP request headers" + ], + "signature": [ + "{ 'x-forwarded-for'?: string | undefined; } | undefined" + ], + "path": "x-pack/plugins/security/server/audit/audit_events.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "security", "id": "def-server.AuditServiceSetup", @@ -1367,9 +1653,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1395,9 +1681,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1598,13 +1884,19 @@ "description": [], "signature": [ "{ validate: (apiKeyPrams: ", - "ValidateAPIKeyParams", + { + "pluginId": "security", + "scope": "server", + "docId": "kibSecurityPluginApi", + "section": "def-server.ValidateAPIKeyParams", + "text": "ValidateAPIKeyParams" + }, ") => Promise; create: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", createParams: ", @@ -1626,9 +1918,9 @@ " | null>; areAPIKeysEnabled: () => Promise; invalidate: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", params: ", @@ -1650,9 +1942,9 @@ " | null>; grantAsInternalUser: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", createParams: ", @@ -1704,9 +1996,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1733,9 +2025,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2103,9 +2395,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2502,6 +2794,48 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "security", + "id": "def-server.ValidateAPIKeyParams", + "type": "Interface", + "tags": [], + "label": "ValidateAPIKeyParams", + "description": [ + "\nRepresents the parameters for validating API Key credentials." + ], + "path": "x-pack/plugins/security/server/authentication/api_keys/api_keys.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-server.ValidateAPIKeyParams.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nUnique id for this API key" + ], + "path": "x-pack/plugins/security/server/authentication/api_keys/api_keys.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "security", + "id": "def-server.ValidateAPIKeyParams.api_key", + "type": "string", + "tags": [], + "label": "api_key", + "description": [ + "\nGenerated API Key (secret)" + ], + "path": "x-pack/plugins/security/server/authentication/api_keys/api_keys.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false } ], "enums": [], @@ -2595,9 +2929,9 @@ "{ getCurrentUser: (request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -3427,9 +3761,9 @@ "signature": [ { "pluginId": "@kbn/core-deprecations-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreDeprecationsServerPluginApi", - "section": "def-server.GetDeprecationsContext", + "section": "def-common.GetDeprecationsContext", "text": "GetDeprecationsContext" } ], diff --git a/api_docs/security.mdx b/api_docs/security.mdx index cb83aa58471c0..dd977aafaab27 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Platform Security](https://github.com/orgs/elastic/teams/kibana-securit | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 251 | 0 | 91 | 1 | +| 269 | 0 | 89 | 0 | ## Client diff --git a/api_docs/security_solution.devdocs.json b/api_docs/security_solution.devdocs.json index 9b5c2ba0d6745..8e51ac05f833a 100644 --- a/api_docs/security_solution.devdocs.json +++ b/api_docs/security_solution.devdocs.json @@ -1445,9 +1445,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -1500,9 +1500,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -1584,9 +1584,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", plugins: ", @@ -1614,9 +1614,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -1686,9 +1686,9 @@ "signature": [ { "pluginId": "@kbn/core-http-request-handler-context-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-server.CoreRequestHandlerContext", + "section": "def-common.CoreRequestHandlerContext", "text": "CoreRequestHandlerContext" } ], @@ -1846,9 +1846,9 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -1875,9 +1875,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -1942,9 +1942,9 @@ "(req: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -1964,9 +1964,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -2007,7 +2007,9 @@ "label": "ConfigType", "description": [], "signature": [ - "Readonly<{} & { signalsIndex: string; maxRuleImportExportSize: number; maxRuleImportPayloadBytes: number; maxTimelineImportExportSize: number; maxTimelineImportPayloadBytes: number; alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; alertIgnoreFields: string[]; enableExperimental: string[]; packagerTaskInterval: string; }> & { experimentalFeatures: Readonly<{ tGridEnabled: boolean; tGridEventRenderedViewEnabled: boolean; excludePoliciesInFilterEnabled: boolean; kubernetesEnabled: boolean; disableIsolationUIPendingStatuses: boolean; pendingActionResponsesWithAck: boolean; policyListEnabled: boolean; policyResponseInFleetEnabled: boolean; chartEmbeddablesEnabled: boolean; previewTelemetryUrlEnabled: boolean; responseActionsConsoleEnabled: boolean; insightsRelatedAlertsByProcessAncestry: boolean; extendedRuleExecutionLoggingEnabled: boolean; socTrendsEnabled: boolean; responseActionsEnabled: boolean; endpointRbacEnabled: boolean; endpointRbacV1Enabled: boolean; alertDetailsPageEnabled: boolean; responseActionGetFileEnabled: boolean; alertsPageChartsEnabled: boolean; riskyHostsEnabled: boolean; riskyUsersEnabled: boolean; }>; }" + "Readonly<{} & { signalsIndex: string; maxRuleImportExportSize: number; maxRuleImportPayloadBytes: number; maxTimelineImportExportSize: number; maxTimelineImportPayloadBytes: number; alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; alertIgnoreFields: string[]; enableExperimental: string[]; packagerTaskInterval: string; }> & { experimentalFeatures: ", + "ExperimentalFeatures", + "; }" ], "path": "x-pack/plugins/security_solution/server/config.ts", "deprecated": false, diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 5b58abaa2024c..8e75bb1d52d7d 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Security solution](https://github.com/orgs/elastic/teams/security-solut | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 113 | 0 | 76 | 28 | +| 113 | 0 | 76 | 29 | ## Client diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 762e9d1c5c6fe..d582cf2d75a65 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.devdocs.json b/api_docs/share.devdocs.json index 457aabea0bb79..effab6c42e299 100644 --- a/api_docs/share.devdocs.json +++ b/api_docs/share.devdocs.json @@ -139,9 +139,9 @@ "

(locator: ", @@ -1342,9 +1342,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; setAnonymousAccessServiceProvider: (provider: () => ", @@ -1392,9 +1392,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">): void; }" @@ -1527,9 +1527,9 @@ "

(locator: ", diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 6f13957e8a078..f1a2b3c1b7fd0 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index e07ad4f8759c4..b06a27b9e49ce 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.devdocs.json b/api_docs/spaces.devdocs.json index a3bdd9ae6a2d1..b343b7665dcc1 100644 --- a/api_docs/spaces.devdocs.json +++ b/api_docs/spaces.devdocs.json @@ -621,9 +621,9 @@ "(objects: SavedObjectTarget[]) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsCollectMultiNamespaceReferencesResponse", + "section": "def-common.SavedObjectsCollectMultiNamespaceReferencesResponse", "text": "SavedObjectsCollectMultiNamespaceReferencesResponse" }, ">" @@ -3390,9 +3390,9 @@ "(id: string) => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsPointInTimeFinder", + "section": "def-common.ISavedObjectsPointInTimeFinder", "text": "ISavedObjectsPointInTimeFinder" }, "" @@ -3732,9 +3732,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => string" @@ -3755,9 +3755,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3871,9 +3871,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => ", @@ -3901,9 +3901,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3929,9 +3929,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => string" @@ -3952,9 +3952,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -3980,9 +3980,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => boolean" @@ -4003,9 +4003,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4031,9 +4031,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ") => Promise<", @@ -4062,9 +4062,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4187,25 +4187,25 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", savedObjectsStart: ", { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" }, ") => ", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.ISavedObjectsRepository", + "section": "def-common.ISavedObjectsRepository", "text": "ISavedObjectsRepository" } ], @@ -4224,9 +4224,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" @@ -4245,9 +4245,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-server.SavedObjectsServiceStart", + "section": "def-common.SavedObjectsServiceStart", "text": "SavedObjectsServiceStart" } ], @@ -4273,9 +4273,9 @@ "(request: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", baseClient: ", @@ -4310,9 +4310,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 12d0ec6d18fa0..c0315f4fd599b 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.devdocs.json b/api_docs/stack_alerts.devdocs.json index d8c83f2daef2f..1243c76a73329 100644 --- a/api_docs/stack_alerts.devdocs.json +++ b/api_docs/stack_alerts.devdocs.json @@ -56,9 +56,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ObjectType", + "section": "def-common.ObjectType", "text": "ObjectType" }, "<{}>" diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 2a2c0b3012efe..3460f2aa4cb2f 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 1cf0aab2a70b7..8d0c6770518e4 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.devdocs.json b/api_docs/task_manager.devdocs.json index 451919e575a12..d907d2ef1abfd 100644 --- a/api_docs/task_manager.devdocs.json +++ b/api_docs/task_manager.devdocs.json @@ -28,9 +28,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -79,9 +79,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "" @@ -105,9 +105,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", plugins: { usageCollection?: ", @@ -141,9 +141,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -198,12 +198,12 @@ "label": "start", "description": [], "signature": [ - "({ savedObjects, elasticsearch, executionContext, }: ", + "({ savedObjects, elasticsearch, executionContext, docLinks, }: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ") => ", @@ -224,14 +224,14 @@ "id": "def-server.TaskManagerPlugin.start.$1", "type": "Object", "tags": [], - "label": "{\n savedObjects,\n elasticsearch,\n executionContext,\n }", + "label": "{\n savedObjects,\n elasticsearch,\n executionContext,\n docLinks,\n }", "description": [], "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -1537,9 +1537,9 @@ ", \"get\" | \"aggregate\" | \"fetch\" | \"remove\"> & { removeIfExists: (id: string) => Promise; } & { bulkRemoveIfExist: (ids: string[]) => Promise<", { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsBulkDeleteResponse", + "section": "def-common.SavedObjectsBulkDeleteResponse", "text": "SavedObjectsBulkDeleteResponse" }, " | undefined>; } & { supportsEphemeralTasks: () => boolean; getRegisteredTypes: () => string[]; }" diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 22cdeef08c7d6..0cd86f3bcc273 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 40d836f37af3f..27584775ffd9b 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.devdocs.json b/api_docs/telemetry_collection_manager.devdocs.json index 463bb6bd0b0b8..6473c51a8d6bf 100644 --- a/api_docs/telemetry_collection_manager.devdocs.json +++ b/api_docs/telemetry_collection_manager.devdocs.json @@ -1278,9 +1278,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -1323,9 +1323,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" }, " | Console" diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 993cd2c1369a8..f1195314db4bc 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 52f0280a74468..bf9b9ca42aaaa 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index e3417ab8e6357..6e2f61a625b8f 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 1d067fbcfeff4..39748981da0d1 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index affca9f590a94..2f347aa6d81a6 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -2911,9 +2911,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" }, " | undefined" @@ -3275,9 +3275,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.JsonObject", + "section": "def-common.JsonObject", "text": "JsonObject" }, " | undefined" diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 2aa34bbd4b700..add1032a306fc 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index eb35a3c58f66a..4be6a50ed7261 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index 3f247ede8db90..4a0e980f905a4 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -8837,9 +8837,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8860,9 +8860,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8883,9 +8883,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8906,9 +8906,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8929,9 +8929,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8952,9 +8952,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8975,9 +8975,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -8998,9 +8998,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -9021,9 +9021,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" @@ -9044,9 +9044,9 @@ "signature": [ { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", + "section": "def-common.Type", "text": "Type" }, "" diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 0a4d9124a1ed7..0b26c32a445ec 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.devdocs.json b/api_docs/ui_actions.devdocs.json index 2bb150c251d4d..578779b3a4c18 100644 --- a/api_docs/ui_actions.devdocs.json +++ b/api_docs/ui_actions.devdocs.json @@ -2245,9 +2245,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">> | undefined; runtimeFieldMap?: Record, triggers: string[]) => Promise" @@ -1715,9 +1715,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -1768,9 +1768,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">, triggers: string[]) => Promise" @@ -1816,9 +1816,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -2012,9 +2012,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }[]>" @@ -3350,9 +3350,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ", object, ", @@ -3509,9 +3509,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -3594,9 +3594,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -3760,9 +3760,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -3836,9 +3836,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, ", { embeddable }: SetupDependencies) => { registerActionFactory: (definition: ", @@ -3873,9 +3873,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "" @@ -4105,9 +4105,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -4175,9 +4175,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -4300,9 +4300,9 @@ "signature": [ { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" } ], @@ -4370,9 +4370,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index d84eb4173ccae..f81e623fa3f73 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.devdocs.json b/api_docs/unified_field_list.devdocs.json index 19bf10e13212d..4b58ce1785a44 100644 --- a/api_docs/unified_field_list.devdocs.json +++ b/api_docs/unified_field_list.devdocs.json @@ -2680,6 +2680,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.localStorageKeyPrefix", + "type": "string", + "tags": [], + "label": "localStorageKeyPrefix", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.FieldListGroupedProps.datatestsubj", diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index 8219c6ee2092f..afbd1e1598768 100644 --- a/api_docs/unified_field_list.mdx +++ b/api_docs/unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedFieldList title: "unifiedFieldList" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedFieldList plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 269 | 0 | 244 | 7 | +| 270 | 0 | 245 | 7 | ## Client diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 31114a87ab3af..d276f90bb9ac7 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.devdocs.json b/api_docs/unified_search.devdocs.json index d8ea7d3f81b71..a18eb699a0f2a 100644 --- a/api_docs/unified_search.devdocs.json +++ b/api_docs/unified_search.devdocs.json @@ -9,33 +9,34 @@ "type": "Function", "tags": [], "label": "DataViewPicker", - "description": [], + "description": [ + "\nA `DataViewPicker` component that is wrapped by the `withSuspense` HOC. This component can\nbe used directly by consumers and will load the `DataViewPickerLazy` component lazily with\na predefined fallback and error boundary." + ], "signature": [ - "({ isMissingCurrent, currentDataViewId, adHocDataViews, savedDataViews, onChangeDataView, onEditDataView, onAddField, onDataViewCreated, trigger, selectableProps, textBasedLanguages, onSaveTextLanguageQuery, onTextLangQuerySubmit, textBasedLanguage, onCreateDefaultAdHocDataView, isDisabled, }: ", + "React.ForwardRefExoticComponent<", "DataViewPickerPropsExtended", - ") => JSX.Element" + " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "unifiedSearch", "id": "def-public.DataViewPicker.$1", - "type": "Object", + "type": "Uncategorized", "tags": [], - "label": "{\n isMissingCurrent,\n currentDataViewId,\n adHocDataViews,\n savedDataViews,\n onChangeDataView,\n onEditDataView,\n onAddField,\n onDataViewCreated,\n trigger,\n selectableProps,\n textBasedLanguages,\n onSaveTextLanguageQuery,\n onTextLangQuerySubmit,\n textBasedLanguage,\n onCreateDefaultAdHocDataView,\n isDisabled,\n}", + "label": "props", "description": [], "signature": [ - "DataViewPickerPropsExtended" + "P" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "node_modules/@types/react/index.d.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { @@ -44,31 +45,34 @@ "type": "Function", "tags": [], "label": "DataViewSelector", - "description": [], + "description": [ + "\nA `DataViewSelector` component that is wrapped by the `withSuspense` HOC. This component can\nbe used directly by consumers and will load the `DataViewSelectorLazy` component lazily with\na predefined fallback and error boundary." + ], "signature": [ - "({ currentDataViewId, searchListInputId, dataViewsList, selectableProps, isTextBasedLangSelected, setPopoverIsOpen, onChangeDataView, onCreateDefaultAdHocDataView, }: DataViewSelectorProps) => JSX.Element" + "React.ForwardRefExoticComponent<", + "DataViewSelectorProps", + " & React.RefAttributes<{}>>" ], - "path": "src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "unifiedSearch", "id": "def-public.DataViewSelector.$1", - "type": "Object", + "type": "Uncategorized", "tags": [], - "label": "{\n currentDataViewId,\n searchListInputId,\n dataViewsList,\n selectableProps,\n isTextBasedLangSelected,\n setPopoverIsOpen,\n onChangeDataView,\n onCreateDefaultAdHocDataView,\n}", + "label": "props", "description": [], "signature": [ - "DataViewSelectorProps" + "P" ], - "path": "src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx", + "path": "node_modules/@types/react/index.d.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { @@ -77,33 +81,34 @@ "type": "Function", "tags": [], "label": "DataViewsList", - "description": [], + "description": [ + "\nA `DataViewsList` component that is wrapped by the `withSuspense` HOC. This component can\nbe used directly by consumers and will load the `DataViewsLazy` component lazily with\na predefined fallback and error boundary." + ], "signature": [ - "({\n dataViewsList,\n onChangeDataView,\n isTextBasedLangSelected,\n currentDataViewId,\n selectableProps,\n searchListInputId,\n}: ", + "React.ForwardRefExoticComponent<", "DataViewsListProps", - ") => JSX.Element" + " & React.RefAttributes<{}>>" ], - "path": "src/plugins/unified_search/public/dataview_picker/dataview_list.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "unifiedSearch", "id": "def-public.DataViewsList.$1", - "type": "Object", + "type": "Uncategorized", "tags": [], - "label": "{\n dataViewsList,\n onChangeDataView,\n isTextBasedLangSelected,\n currentDataViewId,\n selectableProps,\n searchListInputId,\n}", + "label": "props", "description": [], "signature": [ - "DataViewsListProps" + "P" ], - "path": "src/plugins/unified_search/public/dataview_picker/dataview_list.tsx", + "path": "node_modules/@types/react/index.d.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { @@ -152,9 +157,11 @@ "\nRenders a single filter pill" ], "signature": [ - "(props: ", + "(props: Omit<", "FilterItemProps", - ") => JSX.Element" + ", keyof ", + "WithCloseFilterEditorConfirmModalProps", + ">) => JSX.Element" ], "path": "src/plugins/unified_search/public/filter_bar/index.tsx", "deprecated": false, @@ -168,7 +175,11 @@ "label": "props", "description": [], "signature": [ - "FilterItemProps" + "Omit<", + "FilterItemProps", + ", keyof ", + "WithCloseFilterEditorConfirmModalProps", + ">" ], "path": "src/plugins/unified_search/public/filter_bar/index.tsx", "deprecated": false, @@ -586,7 +597,7 @@ "tags": [], "label": "DataViewPickerProps", "description": [], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -603,7 +614,7 @@ "EuiButtonProps", " & { label: string; title?: string | undefined; }" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -619,7 +630,7 @@ "signature": [ "boolean | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -635,7 +646,7 @@ "signature": [ "(newId: string) => void" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -649,7 +660,7 @@ "signature": [ "string" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -677,7 +688,7 @@ }, ") => void) | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -697,7 +708,7 @@ "text": "DataView" } ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -717,7 +728,7 @@ "signature": [ "string | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -740,7 +751,7 @@ }, "[] | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -763,7 +774,7 @@ }, "[] | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -780,7 +791,7 @@ "EuiSelectableProps", "<{}> | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -796,7 +807,7 @@ "signature": [ "(() => void) | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [], @@ -814,7 +825,7 @@ "signature": [ "(() => void) | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [], @@ -830,7 +841,7 @@ "signature": [ "((pattern: string) => void) | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -844,7 +855,7 @@ "signature": [ "string" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -865,7 +876,7 @@ "TextBasedLanguages", "[] | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false }, @@ -883,7 +894,7 @@ "OnSaveTextLanguageQueryProps", ") => void) | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -897,7 +908,7 @@ "signature": [ "OnSaveTextLanguageQueryProps" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -917,7 +928,7 @@ "signature": [ "boolean | undefined" ], - "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", + "path": "src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx", "deprecated": false, "trackAdoption": false } @@ -2125,9 +2136,9 @@ " implements ", { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.Plugin", + "section": "def-common.Plugin", "text": "Plugin" }, "<", @@ -2168,9 +2179,9 @@ "signature": [ { "pluginId": "@kbn/core-plugins-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCorePluginsServerPluginApi", - "section": "def-server.PluginInitializerContext", + "section": "def-common.PluginInitializerContext", "text": "PluginInitializerContext" }, "; valueSuggestions: Readonly<{} & { timeout: moment.Duration; enabled: boolean; tiers: string[]; terminateAfter: moment.Duration; }>; }>; }>>" @@ -2194,9 +2205,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -2216,25 +2227,25 @@ " moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -2242,25 +2253,25 @@ " | undefined) => string; }>; }>; }>>; get: () => Readonly<{ elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -2283,9 +2294,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreSetup", + "section": "def-common.CoreSetup", "text": "CoreSetup" }, "<", @@ -2334,9 +2345,9 @@ "(core: ", { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" }, ", {}: ", @@ -2357,9 +2368,9 @@ "signature": [ { "pluginId": "@kbn/core-lifecycle-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreLifecycleServerPluginApi", - "section": "def-server.CoreStart", + "section": "def-common.CoreStart", "text": "CoreStart" } ], @@ -2449,25 +2460,25 @@ " moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", @@ -2475,25 +2486,25 @@ " | undefined) => string; }>; }>; }>>; get: () => Readonly<{ elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: moment.unitOfTime.DurationConstructor | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; format: moment.Format; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isLessThan: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; isEqualTo: (other: ", { "pluginId": "@kbn/config-schema", - "scope": "server", + "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.ByteSizeValue", + "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: ", diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 15fd0eec6cb7c..91f88d1bc3c08 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Visualizations](https://github.com/orgs/elastic/teams/kibana-visualizat | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 134 | 2 | 105 | 18 | +| 134 | 2 | 99 | 20 | ## Client diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index ba112cfde4ee2..94ebb1bf531a3 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Visualizations](https://github.com/orgs/elastic/teams/kibana-visualizat | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 134 | 2 | 105 | 18 | +| 134 | 2 | 99 | 20 | ## Client diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 2b5bf18bb9fd1..3b98d214a2e62 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.devdocs.json b/api_docs/usage_collection.devdocs.json index 294bf5fbdb23a..00963f3e24367 100644 --- a/api_docs/usage_collection.devdocs.json +++ b/api_docs/usage_collection.devdocs.json @@ -1549,9 +1549,9 @@ "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-server.SavedObjectsClientContract", + "section": "def-common.SavedObjectsClientContract", "text": "SavedObjectsClientContract" } ], @@ -1597,9 +1597,9 @@ "signature": [ { "pluginId": "@kbn/logging", - "scope": "server", + "scope": "common", "docId": "kibKbnLoggingPluginApi", - "section": "def-server.Logger", + "section": "def-common.Logger", "text": "Logger" } ], diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index f37baaedf3be5..8465f448402f9 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index ede43e4c3bdc1..e5ac4adf0bbcc 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index e9d8d0c61e612..1b43811ead118 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 32d36f0753ded..753209d1409ef 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index b9fd5b14a8d22..2005588d77a94 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.devdocs.json b/api_docs/vis_type_pie.devdocs.json index 18bc8c20b058c..ab5b8d96b0c5f 100644 --- a/api_docs/vis_type_pie.devdocs.json +++ b/api_docs/vis_type_pie.devdocs.json @@ -97,9 +97,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; }" diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 4b609a673cacc..2cf6d1f050956 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 9e4ca60146504..19cddded0cb1f 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index f95a326a47915..4cfae7b2b112e 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.devdocs.json b/api_docs/vis_type_timeseries.devdocs.json index e6e809524ee15..3cd9f764e850c 100644 --- a/api_docs/vis_type_timeseries.devdocs.json +++ b/api_docs/vis_type_timeseries.devdocs.json @@ -136,9 +136,9 @@ ", fakeRequest: ", { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, ", options: any) => Promise<", @@ -180,9 +180,9 @@ "signature": [ { "pluginId": "@kbn/core-http-server", - "scope": "server", + "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-server.KibanaRequest", + "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, "" diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 1f7e3558b638e..adc05ae437aa6 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index 9efa9a6608efc..b366f5fd42147 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 16b9eb97cb6ba..470be3eab03b9 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index bffbafde926f0..146642c3e898d 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index e9c297ee1fe68..504fa443dabb0 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -2231,17 +2231,17 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; source?: string | undefined; sourceParams?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }; id: string; name: string; }[]; type: \"datatable\"; meta?: ", @@ -2341,9 +2341,9 @@ "<", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">" @@ -3515,9 +3515,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[]" @@ -3569,17 +3569,17 @@ "[] | undefined; highlight?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", @@ -6065,9 +6065,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">; }" @@ -6118,9 +6118,9 @@ "{ title: string; type: string; params: TVisParams; aggs: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[]; }" @@ -7470,9 +7470,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined) => { id?: string | undefined; params?: Record | undefined; } | undefined" @@ -7543,9 +7543,9 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined" @@ -7974,17 +7974,17 @@ "<{}, ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, "> | undefined; source?: string | undefined; sourceParams?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }; id: string; name: string; }[]; type: \"datatable\"; meta?: ", @@ -8116,9 +8116,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -9335,9 +9335,9 @@ "{ id?: string | undefined; params?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; }" @@ -11456,9 +11456,9 @@ "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[]" @@ -11510,17 +11510,17 @@ "[] | undefined; highlight?: ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", @@ -13967,9 +13967,9 @@ ", ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, ">>" @@ -14787,9 +14787,9 @@ "{ title: string; type: string; params: TVisParams; aggs: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", - "scope": "server", + "scope": "common", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", + "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, " | undefined; schema?: string | undefined; }[]; }" diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index b37e7e3f06aa7..910f7ff56c769 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2022-12-22 +date: 2023-01-09 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/dev_docs/operations/operations_landing.mdx b/dev_docs/operations/operations_landing.mdx index b38570ea44d13..702313906c9e2 100644 --- a/dev_docs/operations/operations_landing.mdx +++ b/dev_docs/operations/operations_landing.mdx @@ -36,8 +36,7 @@ layout: landing { pageId: "kibDevDocsOpsKbnPm" }, { pageId: "kibDevDocsOpsOptimizer" }, { pageId: "kibDevDocsOpsBabelPreset" }, - { pageId: "kibDevDocsOpsTypeSummarizer" }, - { pageId: "kibDevDocsOpsBabelPluginSyntheticPackages" }, + { pageId: "kibDevDocsOpsBabelPluginPackageImports" }, { pageId: "kibDevDocsOpsUiSharedDepsNpm" }, { pageId: "kibDevDocsOpsUiSharedDepsSrc" }, { pageId: "kibDevDocsOpsPluginDiscovery" }, diff --git a/dev_docs/tutorials/adding_performance_metrics.mdx b/dev_docs/tutorials/adding_performance_metrics.mdx index 56ed044e327df..0ef9064c67adc 100644 --- a/dev_docs/tutorials/adding_performance_metrics.mdx +++ b/dev_docs/tutorials/adding_performance_metrics.mdx @@ -192,7 +192,7 @@ from performance runs and visualize the duration of events (or their breakdowns) Run the test locally for troubleshooting purposes by running ``` -node scripts/functional_test_runner --config x-pack/test/performance/journeys/$YOUR_JOURNEY_NAME/config.ts +node scripts/functional_tests --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts ``` #### Analyzing journey results diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 814beb270c7fd..06666957c9ee4 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -6,7 +6,7 @@ NOTE: node scripts/build_plugin_list_docs - You can update the template within node_modules/@kbn/dev-utils/target_node/src/plugin_list/generate_plugin_list.js + You can update the template within packages/kbn-dev-utils/src/plugin_list/generate_plugin_list.ts //// diff --git a/docs/management/cases/manage-cases.asciidoc b/docs/management/cases/manage-cases.asciidoc index 08a57240799d0..fd0926893cfd5 100644 --- a/docs/management/cases/manage-cases.asciidoc +++ b/docs/management/cases/manage-cases.asciidoc @@ -54,6 +54,42 @@ go back to your case. After a visualization has been added to a case, you can modify or interact with it by clicking the *Open Visualization* option in the comment menu. +[[add-case-notifications]] +=== Add email notifications + +// tag::case-notifications[] +You can configure email notifications that occur when users are assigned to +cases. + +For hosted {kib} on {ess}: + +. Add the email addresses to the monitoring email allowlist. Follow the steps in +{cloud}/ec-watcher.html#ec-watcher-allowlist[Send alerts by email]. ++ +-- +You do not need to take any more steps to configure an email connector or update +{kib} user settings, since the preconfigured Elastic-Cloud-SMTP connector is +used by default. +-- + +For self-managed {kib}: + +. Create a preconfigured email connector. ++ +-- +NOTE: At this time, email notifications support only preconfigured connectors, +which are defined in the `kibana.yml` file. For examples, refer to +{kibana-ref}/email-action-type.html#preconfigured-email-configuration[Preconfigured email connector] +and {kibana-ref}/email-action-type.html#configuring-email[Configuring email connectors for well-known services]. +-- +. Set the `notifications.connectors.default.email` {kib} setting to the name of +your email connector. +. If you want the email notifications to contain links back to the case, you +must configure the {kibana-ref}/settings.html#server-publicBaseUrl[server.publicBaseUrl] setting. + +When you subsequently add assignees to cases, they receive an email. +// end::case-notifications[] + [[manage-case]] === Manage cases diff --git a/docs/management/connectors/action-types/tines.asciidoc b/docs/management/connectors/action-types/tines.asciidoc index b9060943adf57..ff98cd6c50ecb 100644 --- a/docs/management/connectors/action-types/tines.asciidoc +++ b/docs/management/connectors/action-types/tines.asciidoc @@ -84,7 +84,7 @@ image::management/connectors/images/tines-webhook-url-fallback.png[Tines Webhook [float] [[tines-story-library]] -=== Tines Story Libary +=== Tines story library In order to simplify the integration with Elastic, Tines offers a set of pre-defined Elastic stories in the Story library. They can be found by searching for "Elastic" in the Tines Story library: diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 92a6ab2729c82..0f7763379e560 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -199,6 +199,22 @@ Specifies the time allowed for requests to external resources. Requests that tak + For example, `20m`, `24h`, `7d`, `1w`. Default: `60s`. +`xpack.actions.run.maxAttempts` {ess-icon}:: +Specifies the maximum number of times an action can be attempted to run. Can be minimum 1 and maximum 10. + +`xpack.actions.run.connectorTypeOverrides` {ess-icon}:: +Overrides the configs under `xpack.actions.run` for the connector type with the given ID. List the connector type identifier and its settings in an array of objects. ++ +For example: +[source,yaml] +-- +xpack.actions.run: + maxAttempts: 1 + connectorTypeOverrides: + - id: '.server-log' + maxAttempts: 5 +-- + [float] [[alert-settings]] ==== Alerting settings diff --git a/docs/user/alerting/create-and-manage-rules.asciidoc b/docs/user/alerting/create-and-manage-rules.asciidoc index 08a60008bd384..c71a6f1218864 100644 --- a/docs/user/alerting/create-and-manage-rules.asciidoc +++ b/docs/user/alerting/create-and-manage-rules.asciidoc @@ -14,6 +14,7 @@ central place to: [role="screenshot"] image:images/rules-ui.png[Example rule listing in {rules-ui}] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. For more information on alerting concepts and the types of rules and connectors available, go to <>. @@ -182,6 +183,7 @@ individual rules. For example, you can change the state of a rule: [role="screenshot"] image:images/individual-enable-disable.png[Use the rule status dropdown to enable or disable an individual rule] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. When you snooze a rule, the rule checks continue to run on a schedule but the alert will not trigger any actions. You can snooze for a specified period of @@ -189,6 +191,7 @@ time, indefinitely, or schedule single or recurring downtimes: [role="screenshot"] image:images/snooze-panel.png[Snooze notifications for a rule] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. When a rule is in a `snoozed` state, you can cancel or change the duration of this state. @@ -198,11 +201,9 @@ this state. A rule can have one of the following statuses: -`active`:: The conditions for the rule have been met, and the associated actions should be invoked. -`ok`:: The conditions for the rule have not been met, and the associated actions are not invoked. -`error`:: An error was encountered by the rule. -`pending`:: The rule has not yet run. The rule was either just created, or enabled after being disabled. -`unknown`:: A problem occurred when calculating the status. Most likely, something went wrong with the alerting code. +`failed`:: The rule ran with errors. +`succeeded`:: The rule ran without errors. +`warning`:: The rule ran with some non-critical errors. [float] [[importing-and-exporting-rules]] diff --git a/docs/user/alerting/images/individual-enable-disable.png b/docs/user/alerting/images/individual-enable-disable.png index 14a06b7cbe657..dc0420feb7d47 100644 Binary files a/docs/user/alerting/images/individual-enable-disable.png and b/docs/user/alerting/images/individual-enable-disable.png differ diff --git a/docs/user/alerting/images/rules-ui.png b/docs/user/alerting/images/rules-ui.png index cfe4670254ee6..d83bd28c699e6 100644 Binary files a/docs/user/alerting/images/rules-ui.png and b/docs/user/alerting/images/rules-ui.png differ diff --git a/docs/user/alerting/images/snooze-panel.png b/docs/user/alerting/images/snooze-panel.png index 55d3e372c4436..353f848200d9d 100644 Binary files a/docs/user/alerting/images/snooze-panel.png and b/docs/user/alerting/images/snooze-panel.png differ diff --git a/docs/user/dashboard/create-panels-with-editors.asciidoc b/docs/user/dashboard/create-panels-with-editors.asciidoc index 4b60b808a15a6..ff61e03b381fe 100644 --- a/docs/user/dashboard/create-panels-with-editors.asciidoc +++ b/docs/user/dashboard/create-panels-with-editors.asciidoc @@ -469,7 +469,7 @@ Pipeline aggregations are dependent on the outputs calculated from other aggrega | Bucket script | -| +| ✓ | ✓ | ✓ diff --git a/docs/user/dashboard/dashboard.asciidoc b/docs/user/dashboard/dashboard.asciidoc index c59d2a612f2da..5f147f48d7659 100644 --- a/docs/user/dashboard/dashboard.asciidoc +++ b/docs/user/dashboard/dashboard.asciidoc @@ -37,6 +37,9 @@ Panels display your data in charts, tables, maps, and more, which allow you to c | <> | Add context to your panels with *Text*. +| <> +| Personalize your dashboard with a custom image. + |=== [float] @@ -237,6 +240,27 @@ To save the panel to the dashboard: .. Enter the *Panel title*, then click *Save*. +[float] +[[add-image]] +== Add image panels + +To personalize your dashboards, add your own logos and graphics with the *Image* panel. You can upload images from your computer, select previously uploaded images, or add images from an external link. + +. On the dashboard, click image:images/dashboard_createNewImageButton_8.7.0.png[Create New Image button in dashboard toolbar]. +. Use the editor to add an image. + +[role="screenshot"] +image::images/dashboard_addImageEditor_8.7.0.png[Add image editor] + +To manage your uploaded image files, open the main menu, then click *Stack Management > Kibana > Files*. + + +[WARNING] +============================================================================ +When you export a dashboard, the uploaded image files are not exported. +When importing a dashboard with an image panel, and the image file is unavailable, the image panel displays a `not found` warning. Such panels have to be fixed manually by re-uploading the image using the panel's image editor. +============================================================================ + [float] [[arrange-panels]] [[moving-containers]] diff --git a/docs/user/dashboard/images/dashboard_addImageEditor_8.7.0.png b/docs/user/dashboard/images/dashboard_addImageEditor_8.7.0.png new file mode 100644 index 0000000000000..c7471bca266b2 Binary files /dev/null and b/docs/user/dashboard/images/dashboard_addImageEditor_8.7.0.png differ diff --git a/docs/user/dashboard/images/dashboard_createNewImageButton_8.7.0.png b/docs/user/dashboard/images/dashboard_createNewImageButton_8.7.0.png new file mode 100644 index 0000000000000..c6522f38dbb57 Binary files /dev/null and b/docs/user/dashboard/images/dashboard_createNewImageButton_8.7.0.png differ diff --git a/docs/user/security/audit-logging.asciidoc b/docs/user/security/audit-logging.asciidoc index 5f6fe746814e5..91d39da28be4e 100644 --- a/docs/user/security/audit-logging.asciidoc +++ b/docs/user/security/audit-logging.asciidoc @@ -90,6 +90,24 @@ Refer to the corresponding {es} logs for potential write errors. | `unknown` | User is creating a space. | `failure` | User is not authorized to create a space. +.2+| `case_create` +| `unknown` | User is creating a case. +| `failure` | User is not authorized to create a case. + +.2+| `case_configuration_create` +| `unknown` | User is creating a case configuration. +| `failure` | User is not authorized to create a case configuration. + +.2+| `case_comment_create` +| `unknown` | User is creating a case comment. +| `failure` | User is not authorized to create a case comment. + +.1+| `case_user_action_create_comment` +| `success` | User has created a case comment. + +.1+| `case_user_action_create_case` +| `success` | User has created a case. + 3+a| ====== Type: change @@ -165,6 +183,48 @@ Refer to the corresponding {es} logs for potential write errors. | `unknown` | User is unsnoozing a rule. | `failure` | User is not authorized to unsnooze a rule. +.2+| `case_update` +| `unknown` | User is updating a case. +| `failure` | User is not authorized to update a case. + +.2+| `case_push` +| `unknown` | User is pushing a case to an external service. +| `failure` | User is not authorized to push a case to an external service. + +.2+| `case_configuration_update` +| `unknown` | User is updating a case configuration. +| `failure` | User is not authorized to update a case configuration. + +.2+| `case_comment_update` +| `unknown` | User is updating a case comment. +| `failure` | User is not authorized to update a case comment. + +.1+| `case_user_action_add_case_assignees` +| `success` | User has added a case assignee. + +.1+| `case_user_action_update_case_connector` +| `success` | User has updated a case connector. + +.1+| `case_user_action_update_case_description` +| `success` | User has updated a case description. + +.1+| `case_user_action_update_case_settings` +| `success` | User has updated the case settings. + +.1+| `case_user_action_update_case_severity` +| `success` | User has updated the case severity. + +.1+| `case_user_action_update_case_status` +| `success` | User has updated the case status. + +.1+| `case_user_action_pushed_case` +| `success` | User has pushed a case to an external service. + +.1+| `case_user_action_add_case_tags` +| `success` | User has added tags to a case. + +.1+| `case_user_action_update_case_title` +| `success` | User has updated the case title. 3+a| ====== Type: deletion @@ -193,6 +253,30 @@ Refer to the corresponding {es} logs for potential write errors. | `unknown` | User is deleting a space. | `failure` | User is not authorized to delete a space. +.2+| `case_delete` +| `unknown` | User is deleting a case. +| `failure` | User is not authorized to delete a case. + +.2+| `case_comment_delete_all` +| `unknown` | User is deleting all comments associated with a case. +| `failure` | User is not authorized to delete all comments associated with a case. + +.2+| `case_comment_delete` +| `unknown` | User is deleting a case comment. +| `failure` | User is not authorized to delete a case comment. + +.1+| `case_user_action_delete_case_assignees` +| `success` | User has removed a case assignee. + +.1+| `case_user_action_delete_comment` +| `success` | User has deleted a case comment. + +.1+| `case_user_action_delete_case` +| `success` | User has deleted a case. + +.1+| `case_user_action_delete_case_tags` +| `success` | User has removed tags from a case. + 3+a| ====== Type: access @@ -248,6 +332,74 @@ Refer to the corresponding {es} logs for potential write errors. | `success` | User has accessed an alert as part of a search operation. | `failure` | User is not authorized to access alerts. +.2+| `case_get` +| `success` | User has accessed a case. +| `failure` | User is not authorized to access a case. + +.2+| `case_resolve` +| `success` | User has accessed a case. +| `failure` | User is not authorized to access a case. + +.2+| `case_find` +| `success` | User has accessed a case as part of a search operation. +| `failure` | User is not authorized to search for cases. + +.2+| `case_ids_by_alert_id_get` +| `success` | User has accessed cases. +| `failure` | User is not authorized to access cases. + +.2+| `case_get_metrics` +| `success` | User has accessed metrics for a case. +| `failure` | User is not authorized to access metrics for a case. + +.2+| `cases_get_metrics` +| `success` | User has accessed metrics for cases. +| `failure` | User is not authorized to access metrics for cases. + +.2+| `case_configuration_find` +| `success` | User has accessed a case configuration as part of a search operation. +| `failure` | User is not authorized to search for case configurations. + +.2+| `case_comment_get_metrics` +| `success` | User has accessed metrics for case comments. +| `failure` | User is not authorized to access metrics for case comments. + +.2+| `case_comment_alerts_attach_to_case` +| `success` | User has accessed case alerts. +| `failure` | User is not authorized to access case alerts. + +.2+| `case_comment_get` +| `success` | User has accessed a case comment. +| `failure` | User is not authorized to access a case comment. + +.2+| `case_comment_get_all` +| `success` | User has accessed case comments. +| `failure` | User is not authorized to access case comments. + +.2+| `case_comment_find` +| `success` | User has accessed a case comment as part of a search operation. +| `failure` | User is not authorized to search for case comments. + +.2+| `case_tags_get` +| `success` | User has accessed a case. +| `failure` | User is not authorized to access a case. + +.2+| `case_reporters_get` +| `success` | User has accessed a case. +| `failure` | User is not authorized to access a case. + +.2+| `case_find_statuses` +| `success` | User has accessed a case as part of a search operation. +| `failure` | User is not authorized to search for cases. + +.2+| `case_user_actions_get` +| `success` | User has accessed the user activity of a case. +| `failure` | User is not authorized to access the user activity of a case. + +.2+| `case_user_action_get_metrics` +| `success` | User has accessed metrics for the user activity of a case. +| `failure` | User is not authorized to access metrics for the user activity of a case. + 3+a| ===== Category: web @@ -313,7 +465,11 @@ Possible values: `deletion` | [[field-event-outcome]] `event.outcome` -| Denotes whether the event represents a success or failure. +a| Denotes whether the event represents a success or failure: + +* Any actions that the user is not authorized to perform are logged with outcome: `failure` +* Authorized read operations are only logged after successfully fetching the data from {es} with outcome: `success` +* Authorized create, update, or delete operations are logged before attempting the operation in {es} with outcome: `unknown` Possible values: `success`, @@ -407,11 +563,19 @@ Example: `[marketing]` | *Field* | *Description* +| `client.ip` +| Client IP address. + | `http.request.method` | HTTP request method. Example: `get`, `post`, `put`, `delete` +| `http.request.headers.x-forwarded-for` +| `X-Forwarded-For` request header used to identify the originating client IP address when connecting through proxy servers. + +Example: `161.66.20.177, 236.198.214.101` + | `url.domain` | Domain of the URL. diff --git a/examples/bfetch_explorer/tsconfig.json b/examples/bfetch_explorer/tsconfig.json index 42e691f7ad155..94a4f021199d7 100644 --- a/examples/bfetch_explorer/tsconfig.json +++ b/examples/bfetch_explorer/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "index.ts", @@ -10,11 +10,13 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/bfetch/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/bfetch-plugin", + "@kbn/kibana-react-plugin", ] } diff --git a/examples/controls_example/public/app.tsx b/examples/controls_example/public/app.tsx index e33ea69a0ef65..6b1f9ddb711df 100644 --- a/examples/controls_example/public/app.tsx +++ b/examples/controls_example/public/app.tsx @@ -14,6 +14,7 @@ import { AppMountParameters } from '@kbn/core/public'; import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; import { ControlsExampleStartDeps } from './plugin'; import { BasicReduxExample } from './basic_redux_example'; +import { EditExample } from './edit_example'; import { SearchExample } from './search_example'; export const renderApp = async ( @@ -26,6 +27,8 @@ export const renderApp = async ( <> + + ) : ( diff --git a/examples/controls_example/public/edit_example.tsx b/examples/controls_example/public/edit_example.tsx new file mode 100644 index 0000000000000..5278c16f8c85a --- /dev/null +++ b/examples/controls_example/public/edit_example.tsx @@ -0,0 +1,122 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useState } from 'react'; +import { + EuiButton, + EuiButtonEmpty, + EuiFlexGroup, + EuiFlexItem, + EuiLoadingContent, + EuiPanel, + EuiSpacer, + EuiText, + EuiTitle, +} from '@elastic/eui'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; +import { LazyControlGroupRenderer, ControlGroupContainer } from '@kbn/controls-plugin/public'; +import { withSuspense } from '@kbn/presentation-util-plugin/public'; + +const ControlGroupRenderer = withSuspense(LazyControlGroupRenderer); + +const INPUT_KEY = 'kbnControls:saveExample:input'; + +export const EditExample = () => { + const [isSaving, setIsSaving] = useState(false); + const [isLoading, setIsLoading] = useState(false); + const [controlGroup, setControlGroup] = useState(); + + async function onSave() { + setIsSaving(true); + + localStorage.setItem(INPUT_KEY, JSON.stringify(controlGroup!.getInput())); + + // simulated async save await + await new Promise((resolve) => setTimeout(resolve, 1000)); + + setIsSaving(false); + } + + async function onLoad() { + setIsLoading(true); + + // simulated async load await + await new Promise((resolve) => setTimeout(resolve, 1000)); + + let input = {}; + const inputAsString = localStorage.getItem(INPUT_KEY); + if (inputAsString) { + try { + input = JSON.parse(inputAsString); + } catch (e) { + // ignore parse errors + } + } + + setIsLoading(false); + return input; + } + + return ( + <> + +

Edit and save example

+ + +

Customize controls and persist state to local storage.

+
+ + + + + { + controlGroup!.openAddDataControlFlyout(); + }} + > + Add control + + + + + Save + + + + {isLoading ? ( + <> + + + + ) : null} + { + const persistedInput = await onLoad(); + return { + ...initialInput, + ...persistedInput, + viewMode: ViewMode.EDIT, + }; + }} + onLoadComplete={async (newControlGroup) => { + setControlGroup(newControlGroup); + }} + /> + + + ); +}; diff --git a/examples/controls_example/tsconfig.json b/examples/controls_example/tsconfig.json index 43673c863c7d4..1af21f31728df 100644 --- a/examples/controls_example/tsconfig.json +++ b/examples/controls_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,13 +11,19 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/controls/tsconfig.json" }, - { "path": "../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../src/plugins/presentation_util/tsconfig.json" } + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/data-plugin", + "@kbn/controls-plugin", + "@kbn/navigation-plugin", + "@kbn/presentation-util-plugin", + "@kbn/shared-ux-page-kibana-template", + "@kbn/embeddable-plugin", + "@kbn/data-views-plugin", + "@kbn/es-query", ] } diff --git a/examples/dashboard_embeddable_examples/tsconfig.json b/examples/dashboard_embeddable_examples/tsconfig.json index f35247900bc7c..1258cf36fcb2b 100644 --- a/examples/dashboard_embeddable_examples/tsconfig.json +++ b/examples/dashboard_embeddable_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,13 +10,14 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/dashboard/tsconfig.json" }, - { "path": "../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../embeddable_examples/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/dashboard-plugin", + "@kbn/kibana-react-plugin", + "@kbn/embeddable-examples-plugin", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/data_view_field_editor_example/tsconfig.json b/examples/data_view_field_editor_example/tsconfig.json index 51e599fd0eff5..7411ac2608a65 100644 --- a/examples/data_view_field_editor_example/tsconfig.json +++ b/examples/data_view_field_editor_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,13 +9,14 @@ "public/**/*.tsx", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/data_views/tsconfig.json" }, - { "path": "../../src/plugins/data_view_field_editor/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/data-view-field-editor-plugin", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/developer_examples/tsconfig.json b/examples/developer_examples/tsconfig.json index 0f3d8e259cb56..fdd37bde1e1eb 100644 --- a/examples/developer_examples/tsconfig.json +++ b/examples/developer_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,10 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/examples/embeddable_examples/tsconfig.json b/examples/embeddable_examples/tsconfig.json index f32e7eb0850d3..e80cad0399c9d 100644 --- a/examples/embeddable_examples/tsconfig.json +++ b/examples/embeddable_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,15 +11,18 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../src/plugins/dashboard/tsconfig.json" }, - { "path": "../../src/plugins/saved_objects/tsconfig.json" }, - { "path": "../../src/plugins/presentation_util/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/ui-actions-plugin", + "@kbn/embeddable-plugin", + "@kbn/dashboard-plugin", + "@kbn/saved-objects-plugin", + "@kbn/i18n", + "@kbn/utility-types", ] } diff --git a/examples/embeddable_explorer/tsconfig.json b/examples/embeddable_explorer/tsconfig.json index b0c9c5dd74e20..b69738ab1f0bc 100644 --- a/examples/embeddable_explorer/tsconfig.json +++ b/examples/embeddable_explorer/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,13 +10,15 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../../src/plugins/inspector/tsconfig.json" }, - { "path": "../embeddable_examples/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/embeddable-plugin", + "@kbn/ui-actions-plugin", + "@kbn/inspector-plugin", + "@kbn/embeddable-examples-plugin", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/expressions_explorer/tsconfig.json b/examples/expressions_explorer/tsconfig.json index 0386f5e7188fa..14703c0a4b8d9 100644 --- a/examples/expressions_explorer/tsconfig.json +++ b/examples/expressions_explorer/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,13 +9,17 @@ "public/**/*.tsx", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/expressions/tsconfig.json" }, - { "path": "../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../../src/plugins/inspector/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/expressions-plugin", + "@kbn/ui-actions-plugin", + "@kbn/inspector-plugin", + "@kbn/developer-examples-plugin", + "@kbn/i18n", + "@kbn/i18n-react", ] } diff --git a/examples/field_formats_example/tsconfig.json b/examples/field_formats_example/tsconfig.json index a7651b649e5b3..4bedd7ff663b6 100644 --- a/examples/field_formats_example/tsconfig.json +++ b/examples/field_formats_example/tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target", - "skipLibCheck": true + "outDir": "target/types", }, "include": [ "index.ts", @@ -12,12 +11,15 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/field_formats/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/data_view_field_editor/tsconfig.json" } + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-plugin", + "@kbn/data-view-field-editor-plugin", + "@kbn/field-types", ] } diff --git a/examples/files_example/tsconfig.json b/examples/files_example/tsconfig.json index 9329f941c1006..1a8172e728869 100644 --- a/examples/files_example/tsconfig.json +++ b/examples/files_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,10 +11,18 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/files/tsconfig.json" }, + "@kbn/core", + "@kbn/files-plugin", + "@kbn/shared-ux-file-types", + "@kbn/core-application-browser", + "@kbn/shared-ux-file-context", + "@kbn/shared-ux-file-image", + "@kbn/shared-ux-file-upload", + "@kbn/shared-ux-file-picker", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/guided_onboarding_example/tsconfig.json b/examples/guided_onboarding_example/tsconfig.json index 579818d8cbf76..d3c93fc9ec38f 100644 --- a/examples/guided_onboarding_example/tsconfig.json +++ b/examples/guided_onboarding_example/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "__jest__/**/*", @@ -13,11 +11,13 @@ "../../typings/**/*", ], "kbn_references": [ - { - "path": "../../src/core/tsconfig.json" - }, - { - "path": "../../src/plugins/guided_onboarding/tsconfig.json" - }, + "@kbn/core", + "@kbn/guided-onboarding-plugin", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/guided-onboarding", + ], + "exclude": [ + "target/**/*", ] } diff --git a/examples/hello_world/tsconfig.json b/examples/hello_world/tsconfig.json index 6cfb28f7b3317..6bf319afc2d9a 100644 --- a/examples/hello_world/tsconfig.json +++ b/examples/hello_world/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,9 +11,11 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" } + "@kbn/core", + "@kbn/developer-examples-plugin" ] } diff --git a/examples/locator_examples/tsconfig.json b/examples/locator_examples/tsconfig.json index 43d13f87d005f..2548553d7d1b9 100644 --- a/examples/locator_examples/tsconfig.json +++ b/examples/locator_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,13 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/share/tsconfig.json" }, + "@kbn/core", + "@kbn/share-plugin", + "@kbn/utility-types", + "@kbn/kibana-utils-plugin", ] } diff --git a/examples/locator_explorer/tsconfig.json b/examples/locator_explorer/tsconfig.json index c609c50849cb4..4cd9cc3f79a57 100644 --- a/examples/locator_explorer/tsconfig.json +++ b/examples/locator_explorer/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,11 +10,13 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/share/tsconfig.json" }, - { "path": "../locator_examples/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/share-plugin", + "@kbn/locator-examples-plugin", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/partial_results_example/tsconfig.json b/examples/partial_results_example/tsconfig.json index 97d4c752cc3b5..d552b69a1670f 100644 --- a/examples/partial_results_example/tsconfig.json +++ b/examples/partial_results_example/tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target", - "skipLibCheck": true + "outDir": "target/types", }, "include": [ "index.ts", @@ -10,10 +9,12 @@ "public/**/*.tsx", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/expressions-plugin", ] } diff --git a/examples/preboot_example/tsconfig.json b/examples/preboot_example/tsconfig.json index 270d718917518..130f586399611 100644 --- a/examples/preboot_example/tsconfig.json +++ b/examples/preboot_example/tsconfig.json @@ -1,10 +1,15 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*", "server/**/*"], - "kbn_references": [{ "path": "../../src/core/tsconfig.json" }] + "kbn_references": [ + "@kbn/core", + "@kbn/core-http-browser", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", + ] } diff --git a/examples/response_stream/tsconfig.json b/examples/response_stream/tsconfig.json index 162ecac0dca93..9e54eb4fb1522 100644 --- a/examples/response_stream/tsconfig.json +++ b/examples/response_stream/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "index.ts", @@ -11,11 +11,15 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/data-plugin", + "@kbn/kibana-react-plugin", + "@kbn/aiops-utils", + "@kbn/config-schema", ] } diff --git a/examples/routing_example/tsconfig.json b/examples/routing_example/tsconfig.json index b3962d53fa4f3..bf0c7af2e33c2 100644 --- a/examples/routing_example/tsconfig.json +++ b/examples/routing_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,9 +11,13 @@ "common/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/core-http-browser", + "@kbn/config-schema", ] } diff --git a/examples/screenshot_mode_example/tsconfig.json b/examples/screenshot_mode_example/tsconfig.json index 5fc60b67ef569..ef8a3647d1d11 100644 --- a/examples/screenshot_mode_example/tsconfig.json +++ b/examples/screenshot_mode_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,12 +11,16 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../src/plugins/screenshot_mode/tsconfig.json" }, - { "path": "../../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/navigation-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/usage-collection-plugin", + "@kbn/developer-examples-plugin", + "@kbn/analytics", + "@kbn/i18n-react", ] } diff --git a/examples/search_examples/tsconfig.json b/examples/search_examples/tsconfig.json index ef6c3e9c307e2..3c5ac732dbfc3 100644 --- a/examples/search_examples/tsconfig.json +++ b/examples/search_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,16 +11,25 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/data_views/tsconfig.json" }, - { "path": "../../src/plugins/inspector/tsconfig.json" }, - { "path": "../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../src/plugins/share/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/inspector-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/navigation-plugin", + "@kbn/share-plugin", + "@kbn/developer-examples-plugin", + "@kbn/unified-search-plugin", + "@kbn/i18n-react", + "@kbn/utility-types", + "@kbn/es-query", + "@kbn/i18n", + "@kbn/core-mount-utils-browser-internal", + "@kbn/config-schema", ] } diff --git a/examples/share_examples/tsconfig.json b/examples/share_examples/tsconfig.json index 43d13f87d005f..102ef302040fe 100644 --- a/examples/share_examples/tsconfig.json +++ b/examples/share_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,11 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/share/tsconfig.json" }, + "@kbn/core", + "@kbn/share-plugin", ] } diff --git a/examples/state_containers_examples/tsconfig.json b/examples/state_containers_examples/tsconfig.json index 09652684fecfa..24bef65c50b44 100644 --- a/examples/state_containers_examples/tsconfig.json +++ b/examples/state_containers_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,14 +11,16 @@ "common/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../src/plugins/data/tsconfig.json" }, - { "path": "../../src/plugins/data_views/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/navigation-plugin", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/developer-examples-plugin", + "@kbn/es-query", ] } diff --git a/examples/ui_action_examples/tsconfig.json b/examples/ui_action_examples/tsconfig.json index 3a141670cb3fe..b87f7cdf0d864 100644 --- a/examples/ui_action_examples/tsconfig.json +++ b/examples/ui_action_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,12 @@ "server/**/*.ts", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/ui_actions/tsconfig.json" }, + "@kbn/kibana-react-plugin", + "@kbn/ui-actions-plugin", + "@kbn/core", ] } diff --git a/examples/ui_actions_explorer/tsconfig.json b/examples/ui_actions_explorer/tsconfig.json index cfa13411c270d..494a2b188a574 100644 --- a/examples/ui_actions_explorer/tsconfig.json +++ b/examples/ui_actions_explorer/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,12 +9,14 @@ "public/**/*.tsx", "../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../ui_action_examples/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/ui-actions-plugin", + "@kbn/ui-actions-examples-plugin", + "@kbn/developer-examples-plugin", ] } diff --git a/examples/user_profile_examples/tsconfig.json b/examples/user_profile_examples/tsconfig.json index f1d9145a39c1b..0891a2ac5cc8f 100644 --- a/examples/user_profile_examples/tsconfig.json +++ b/examples/user_profile_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,10 +10,17 @@ "server/**/*.ts", "../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../src/core/tsconfig.json" }, - { "path": "../../x-pack/plugins/security/tsconfig.json" }, - { "path": "../developer_examples/tsconfig.json" } + "@kbn/core", + "@kbn/security-plugin", + "@kbn/developer-examples-plugin", + "@kbn/user-profile-components", + "@kbn/shared-ux-page-kibana-template", + "@kbn/features-plugin", + "@kbn/spaces-plugin", + "@kbn/config-schema", ] } diff --git a/fleet_packages.json b/fleet_packages.json index 30d4b7f73824d..d889e53957188 100644 --- a/fleet_packages.json +++ b/fleet_packages.json @@ -25,7 +25,7 @@ }, { "name": "elastic_agent", - "version": "1.3.5" + "version": "1.4.0" }, { "name": "endpoint", @@ -43,4 +43,4 @@ "name": "security_detection_engine", "version": "8.4.1" } -] \ No newline at end of file +] diff --git a/kbn_pm/README.mdx b/kbn_pm/README.mdx index 03568d5667a25..99f9316540f83 100644 --- a/kbn_pm/README.mdx +++ b/kbn_pm/README.mdx @@ -38,7 +38,7 @@ There are cases where `@kbn/pm` relies on code from packages, mostly to prevent Option 1 is used in several places, with contingencies in place in case bootstrap failed. Option 2 is used for two pieces of code which are needed in order to run bootstrap: - 1. `@kbn/plugin-discovery` as we need to populate the `@kbn/synthetic-package-map` to run Bazel + 1. `@kbn/plugin-discovery` as we need to populate the `@kbn/package-map` to run Bazel 2. `@kbn/bazel-runner` as we want to have the logic for running bazel in a single location Because we load these two packages from source, without being built, before bootstrap is ever run, they can not depend on other packages and must be written in Vanilla JS as well. \ No newline at end of file diff --git a/kbn_pm/src/cli.mjs b/kbn_pm/src/cli.mjs index 2c9d1019b588f..376369cd98332 100644 --- a/kbn_pm/src/cli.mjs +++ b/kbn_pm/src/cli.mjs @@ -20,6 +20,7 @@ import { getHelp } from './lib/help.mjs'; import { createFlagError, isCliError } from './lib/cli_error.mjs'; import { getCmd } from './commands/index.mjs'; import { Log } from './lib/log.mjs'; +import External from './lib/external_packages.js'; const start = Date.now(); const args = new Args(process.argv.slice(2), process.env.CI ? ['--quiet'] : []); @@ -31,7 +32,7 @@ const cmdName = args.getCommandName(); */ async function tryToGetCiStatsReporter(log) { try { - const { CiStatsReporter } = await import('@kbn/ci-stats-reporter'); + const { CiStatsReporter } = External['@kbn/ci-stats-reporter'](); return CiStatsReporter.fromEnv(log); } catch { return; diff --git a/kbn_pm/src/commands/bootstrap/bootstrap_command.mjs b/kbn_pm/src/commands/bootstrap/bootstrap_command.mjs index e00316aac3e77..1ed315fb93df9 100644 --- a/kbn_pm/src/commands/bootstrap/bootstrap_command.mjs +++ b/kbn_pm/src/commands/bootstrap/bootstrap_command.mjs @@ -8,13 +8,15 @@ import { run } from '../../lib/spawn.mjs'; import * as Bazel from '../../lib/bazel.mjs'; +import External from '../../lib/external_packages.js'; + import { haveNodeModulesBeenManuallyDeleted, removeYarnIntegrityFileIfExists } from './yarn.mjs'; import { setupRemoteCache } from './setup_remote_cache.mjs'; -import { regenerateSyntheticPackageMap } from './regenerate_synthetic_package_map.mjs'; import { sortPackageJson } from './sort_package_json.mjs'; -import { REPO_ROOT } from '../../lib/paths.mjs'; -import { pluginDiscovery } from './plugins.mjs'; +import { regeneratePackageMap } from './regenerate_package_map.mjs'; import { regenerateBaseTsconfig } from './regenerate_base_tsconfig.mjs'; +import { packageDiscovery, pluginDiscovery } from './discovery.mjs'; +import { validatePackageJson } from './validate_package_json.mjs'; /** @type {import('../../lib/command').Command} */ export const command = { @@ -83,45 +85,50 @@ export const command = { }); } - const plugins = await time('plugin discovery', async () => { - return await pluginDiscovery(); - }); + // discover the location of packages and plugins + const [plugins, packages] = await Promise.all([ + time('plugin discovery', pluginDiscovery), + time('package discovery', packageDiscovery), + ]); - // generate the synthetic package map which powers several other features, needed - // as an input to the package build - await time('regenerate synthetic package map', async () => { - await regenerateSyntheticPackageMap(plugins); + // generate the package map which powers the resolver and several other features + // needed as an input to the bazel builds + await time('regenerate package map', async () => { + await regeneratePackageMap(packages, plugins, log); }); - await time('build packages', async () => { - await Bazel.buildPackages(log, { offline, quiet }); - }); - await time('sort package json', async () => { - await sortPackageJson(); + await time('pre-build webpack bundles for packages', async () => { + await Bazel.buildWebpackBundles(log, { offline, quiet }); }); + await time('regenerate tsconfig.base.json', async () => { - const { discoverBazelPackages } = await import('@kbn/bazel-packages'); - await regenerateBaseTsconfig(await discoverBazelPackages(REPO_ROOT), plugins); + await regenerateBaseTsconfig(); }); - if (validate) { - // now that packages are built we can import `@kbn/yarn-lock-validator` - const { readYarnLock, validateDependencies } = await import('@kbn/yarn-lock-validator'); - const yarnLock = await time('read yarn.lock', async () => { - return await readYarnLock(); - }); - await time('validate dependencies', async () => { - await validateDependencies(log, yarnLock); - }); - } - - if (vscodeConfig) { - await time('update vscode config', async () => { - // Update vscode settings - await run('node', ['scripts/update_vscode_config']); + await Promise.all([ + time('sort package json', async () => { + await sortPackageJson(); + }), + time('validate package json', async () => { + // now that deps are installed we can import `@kbn/yarn-lock-validator` + const { kibanaPackageJson } = External['@kbn/repo-info'](); + await validatePackageJson(kibanaPackageJson, log); + }), + validate + ? time('validate dependencies', async () => { + // now that deps are installed we can import `@kbn/yarn-lock-validator` + const { readYarnLock, validateDependencies } = External['@kbn/yarn-lock-validator'](); + await validateDependencies(log, await readYarnLock()); + }) + : undefined, + vscodeConfig + ? time('update vscode config', async () => { + // Update vscode settings + await run('node', ['scripts/update_vscode_config']); - log.success('vscode config updated'); - }); - } + log.success('vscode config updated'); + }) + : undefined, + ]); }, }; diff --git a/kbn_pm/src/commands/bootstrap/discovery.mjs b/kbn_pm/src/commands/bootstrap/discovery.mjs new file mode 100644 index 0000000000000..42cce1ed3a123 --- /dev/null +++ b/kbn_pm/src/commands/bootstrap/discovery.mjs @@ -0,0 +1,38 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { REPO_ROOT } from '../../lib/paths.mjs'; + +// we need to run these in order to generate the pkg map which is used by things +// like `@kbn/babel-register`, so we have to import the JS files directory and can't +// rely on `@kbn/babel-register`. + +export async function packageDiscovery() { + const { discoverBazelPackages } = await import( + // eslint-disable-next-line @kbn/imports/uniform_imports + '../../../../packages/kbn-bazel-packages/index.js' + ); + + return await discoverBazelPackages(REPO_ROOT); +} + +export async function pluginDiscovery() { + const { getPluginSearchPaths, simpleKibanaPlatformPluginDiscovery } = await import( + // eslint-disable-next-line @kbn/imports/uniform_imports + '../../../../packages/kbn-plugin-discovery/index.js' + ); + + const searchPaths = getPluginSearchPaths({ + rootDir: REPO_ROOT, + examples: true, + oss: false, + testPlugins: true, + }); + + return simpleKibanaPlatformPluginDiscovery(searchPaths, []); +} diff --git a/kbn_pm/src/commands/bootstrap/plugins.mjs b/kbn_pm/src/commands/bootstrap/plugins.mjs deleted file mode 100644 index b4d48d8ef74ca..0000000000000 --- a/kbn_pm/src/commands/bootstrap/plugins.mjs +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { REPO_ROOT } from '../../lib/paths.mjs'; - -/** @type {string} */ -const PLUGIN_DISCOVERY_SRC = '../../../../packages/kbn-plugin-discovery/index.js'; - -/** - * @param {string} pluginId - * @returns {string} - */ -export function convertPluginIdToPackageId(pluginId) { - if (pluginId === 'core') { - // core is the only non-plugin - return `@kbn/core`; - } - - return `@kbn/${pluginId - .split('') - .flatMap((c) => (c.toUpperCase() === c ? `-${c.toLowerCase()}` : c)) - .join('')}-plugin` - .replace(/-\w(-\w)+-/g, (match) => `-${match.split('-').join('')}-`) - .replace(/-plugin-plugin$/, '-plugin'); -} - -/** - * @returns {Promise} - */ -export async function pluginDiscovery() { - /* eslint-disable no-unsanitized/method */ - /** @type {import('@kbn/plugin-discovery')} */ - const { getPluginSearchPaths, simpleKibanaPlatformPluginDiscovery } = await import( - PLUGIN_DISCOVERY_SRC - ); - /* eslint-enable no-unsanitized/method */ - - const searchPaths = getPluginSearchPaths({ - rootDir: REPO_ROOT, - examples: true, - oss: false, - testPlugins: true, - }); - - return simpleKibanaPlatformPluginDiscovery(searchPaths, []); -} diff --git a/kbn_pm/src/commands/bootstrap/regenerate_base_tsconfig.mjs b/kbn_pm/src/commands/bootstrap/regenerate_base_tsconfig.mjs index e7fc7fd2be48e..c86a04c4d7b9c 100644 --- a/kbn_pm/src/commands/bootstrap/regenerate_base_tsconfig.mjs +++ b/kbn_pm/src/commands/bootstrap/regenerate_base_tsconfig.mjs @@ -10,47 +10,23 @@ import Path from 'path'; import Fsp from 'fs/promises'; import { REPO_ROOT } from '../../lib/paths.mjs'; -import { convertPluginIdToPackageId } from './plugins.mjs'; -import { normalizePath } from './normalize_path.mjs'; +import External from '../../lib/external_packages.js'; -/** - * @param {import('@kbn/bazel-packages').BazelPackage[]} packages - * @param {import('@kbn/plugin-discovery').KibanaPlatformPlugin[]} plugins - */ -export async function regenerateBaseTsconfig(packages, plugins) { +export async function regenerateBaseTsconfig() { + const pkgMap = External['@kbn/package-map']().readPackageMap(); const tsconfigPath = Path.resolve(REPO_ROOT, 'tsconfig.base.json'); const lines = (await Fsp.readFile(tsconfigPath, 'utf-8')).split('\n'); - const packagesMap = packages - .slice() - .sort((a, b) => a.normalizedRepoRelativeDir.localeCompare(b.normalizedRepoRelativeDir)) - .flatMap((p) => { - if (!p.pkg) { - return []; - } - - const id = p.pkg.name; - const path = p.normalizedRepoRelativeDir; - return [` "${id}": ["${path}"],`, ` "${id}/*": ["${path}/*"],`]; - }); - - const pluginsMap = plugins - .slice() - .sort((a, b) => a.manifestPath.localeCompare(b.manifestPath)) - .flatMap((p) => { - const id = convertPluginIdToPackageId(p.manifest.id); - const path = normalizePath(Path.relative(REPO_ROOT, p.directory)); - return [` "${id}": ["${path}"],`, ` "${id}/*": ["${path}/*"],`]; - }); - const start = lines.findIndex((l) => l.trim() === '// START AUTOMATED PACKAGE LISTING'); const end = lines.findIndex((l) => l.trim() === '// END AUTOMATED PACKAGE LISTING'); const current = await Fsp.readFile(tsconfigPath, 'utf8'); const updated = [ ...lines.slice(0, start + 1), - ...packagesMap, - ...pluginsMap, + ...Array.from(pkgMap.entries()).flatMap(([moduleId, repoRelPath]) => [ + ` "${moduleId}": ["${repoRelPath}"],`, + ` "${moduleId}/*": ["${repoRelPath}/*"],`, + ]), ...lines.slice(end), ].join('\n'); diff --git a/kbn_pm/src/commands/bootstrap/regenerate_package_map.mjs b/kbn_pm/src/commands/bootstrap/regenerate_package_map.mjs new file mode 100644 index 0000000000000..03f806fae5b25 --- /dev/null +++ b/kbn_pm/src/commands/bootstrap/regenerate_package_map.mjs @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import Fs from 'fs'; +import Fsp from 'fs/promises'; + +import { convertPluginIdToPackageId } from '../../lib/plugins.mjs'; +import { normalizePath } from '../../lib/normalize_path.mjs'; +import { REPO_ROOT } from '../../lib/paths.mjs'; + +/** + * + * @param {import('@kbn/bazel-packages').BazelPackage[]} packages + * @param {import('@kbn/plugin-discovery').KibanaPlatformPlugin[]} plugins + * @param {import('@kbn/some-dev-log').SomeDevLog} log + */ +export async function regeneratePackageMap(packages, plugins, log) { + // clean up old version of package map package + Fs.rmSync(Path.resolve(REPO_ROOT, 'packages/kbn-synthetic-package-map'), { + recursive: true, + force: true, + }); + + const path = Path.resolve(REPO_ROOT, 'packages/kbn-package-map/package-map.json'); + const existingContent = Fs.existsSync(path) ? await Fsp.readFile(path, 'utf8') : undefined; + + /** @type {Array<[string, string]>} */ + const entries = [['@kbn/core', 'src/core']]; + + for (const pkg of packages) { + entries.push([pkg.manifest.id, pkg.normalizedRepoRelativeDir]); + } + + for (const plugin of plugins) { + entries.push([ + convertPluginIdToPackageId(plugin.manifest.id), + normalizePath(Path.relative(REPO_ROOT, plugin.directory)), + ]); + } + + const content = JSON.stringify( + entries.sort((a, b) => a[0].localeCompare(b[0])), + null, + 2 + ); + + if (content !== existingContent) { + await Fsp.writeFile(path, content); + log.warning('updated package map, many caches may be invalidated'); + } +} diff --git a/kbn_pm/src/commands/bootstrap/regenerate_synthetic_package_map.mjs b/kbn_pm/src/commands/bootstrap/regenerate_synthetic_package_map.mjs deleted file mode 100644 index ea1f53727997d..0000000000000 --- a/kbn_pm/src/commands/bootstrap/regenerate_synthetic_package_map.mjs +++ /dev/null @@ -1,34 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fsp from 'fs/promises'; - -import { normalizePath } from './normalize_path.mjs'; -import { REPO_ROOT } from '../../lib/paths.mjs'; -import { convertPluginIdToPackageId } from './plugins.mjs'; - -/** - * @param {import('@kbn/plugin-discovery').KibanaPlatformPlugin[]} plugins - */ -export async function regenerateSyntheticPackageMap(plugins) { - /** @type {Array<[string, string]>} */ - const entries = [['@kbn/core', 'src/core']]; - - for (const plugin of plugins) { - entries.push([ - convertPluginIdToPackageId(plugin.manifest.id), - normalizePath(Path.relative(REPO_ROOT, plugin.directory)), - ]); - } - - await Fsp.writeFile( - Path.resolve(REPO_ROOT, 'packages/kbn-synthetic-package-map/synthetic-packages.json'), - JSON.stringify(entries, null, 2) - ); -} diff --git a/kbn_pm/src/commands/bootstrap/sort_package_json.mjs b/kbn_pm/src/commands/bootstrap/sort_package_json.mjs index f78401c257e40..959b6297da967 100644 --- a/kbn_pm/src/commands/bootstrap/sort_package_json.mjs +++ b/kbn_pm/src/commands/bootstrap/sort_package_json.mjs @@ -10,9 +10,10 @@ import Path from 'path'; import Fs from 'fs'; import { REPO_ROOT } from '../../lib/paths.mjs'; +import External from '../../lib/external_packages.js'; export async function sortPackageJson() { - const { sortPackageJson } = await import('@kbn/sort-package-json'); + const { sortPackageJson } = External['@kbn/sort-package-json'](); const path = Path.resolve(REPO_ROOT, 'package.json'); const json = Fs.readFileSync(path, 'utf8'); diff --git a/kbn_pm/src/commands/bootstrap/validate_package_json.mjs b/kbn_pm/src/commands/bootstrap/validate_package_json.mjs new file mode 100644 index 0000000000000..8a88898dcf310 --- /dev/null +++ b/kbn_pm/src/commands/bootstrap/validate_package_json.mjs @@ -0,0 +1,29 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createCliError } from '../../lib/cli_error.mjs'; + +/** + * @param {import('@kbn/repo-info').KibanaPackageJson} pkgJson + * @param {import('@kbn/some-dev-log').SomeDevLog} log + */ +export async function validatePackageJson(pkgJson, log) { + const failures = false; + + const typesInProd = Object.keys(pkgJson.dependencies).filter((id) => id.startsWith('@types/')); + if (typesInProd.length) { + const list = typesInProd.map((id) => ` - ${id}`).join('\n'); + log.error( + `The following @types/* packages are listed in dependencies but should be in the devDependencies:\n${list}` + ); + } + + if (failures) { + throw createCliError('failed to validate package.json, check for errors above'); + } +} diff --git a/kbn_pm/src/commands/projects.js b/kbn_pm/src/commands/projects.js deleted file mode 100644 index 8ebd3be073d07..0000000000000 --- a/kbn_pm/src/commands/projects.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const { PROJECTS } = require('../../../src/dev/typescript/projects'); -module.exports = { PROJECTS }; diff --git a/kbn_pm/src/commands/run_in_packages_command.mjs b/kbn_pm/src/commands/run_in_packages_command.mjs index 84649f60e0099..362fd499d115b 100644 --- a/kbn_pm/src/commands/run_in_packages_command.mjs +++ b/kbn_pm/src/commands/run_in_packages_command.mjs @@ -10,6 +10,7 @@ import Path from 'path'; import { REPO_ROOT } from '../lib/paths.mjs'; import { run, spawnStreaming } from '../lib/spawn.mjs'; +import External from '../lib/external_packages.js'; /** @type {import('../lib/command').Command} */ export const command = { @@ -39,7 +40,7 @@ export const command = { const exclude = args.getStringValues('exclude') ?? []; const include = args.getStringValues('include') ?? []; - const { discoverBazelPackages } = await import('@kbn/bazel-packages'); + const { discoverBazelPackages } = External['@kbn/bazel-packages'](); const packages = await discoverBazelPackages(REPO_ROOT); for (const { manifest, pkg, normalizedRepoRelativeDir } of packages) { if ( diff --git a/kbn_pm/src/commands/x_command.mjs b/kbn_pm/src/commands/x_command.mjs index f42d20c93d301..e46c7eb0f740e 100644 --- a/kbn_pm/src/commands/x_command.mjs +++ b/kbn_pm/src/commands/x_command.mjs @@ -6,267 +6,8 @@ * Side Public License, v 1. */ -import Fs from 'fs'; -import Path from 'path'; - -import { REPO_ROOT } from '../lib/paths.mjs'; -import { pluginDiscovery } from './bootstrap/plugins.mjs'; - -const RULE_DEPS = /([\s\n]deps\s*=\s*)((?:\w+(?: \+ )?)?(?:\[[^\]]*\])?)(\s*,|\s*\))/; - -/** - * @param {string} text - * @param {number} index - */ -function findStartOfLine(text, index) { - let cursor = index; - while (cursor > 0) { - if (text[cursor - 1] === '\n') { - return cursor; - } - cursor -= 1; - } - - return cursor; -} - -/** - * @param {string} starlark - * @param {string} name - */ -function findBazelRule(starlark, name) { - const match = starlark.match(new RegExp(`name\\s*=\\s*${name}`)); - if (typeof match?.index !== 'number') { - throw new Error(`unable to find rule named [${name}]`); - } - - const openParen = starlark.slice(0, match.index).lastIndexOf('('); - if (openParen === -1) { - throw new Error(`unable to find opening paren for rule [${name}] [index=${match.index}]`); - } - - const start = findStartOfLine(starlark, openParen); - const end = starlark.indexOf(')', start); - if (end === -1) { - throw new Error(`unable to find closing parent for rule [${name}] [start=${start}]`); - } - - const type = starlark.slice(start, starlark.indexOf('(', start)).trim(); - - // add 1 so that the "end" chunk starts after the closing ) - return { start, end: end + 1, type }; -} - -/** - * @param {string} starlark - * @param {string} name - */ -function removeBazelRule(starlark, name) { - const pos = findBazelRule(starlark, name); - - let end = pos.end; - - // slurp up all the newlines directly after the closing ) - while (starlark[end] === '\n') { - end += 1; - } - - return starlark.slice(0, pos.start) + starlark.slice(end); -} - -/** - * @param {string} starlark - * @param {string} dep - * @returns - */ -function addDep(starlark, dep) { - const depsMatch = starlark.match(RULE_DEPS); - - if (typeof depsMatch?.index !== 'number') { - return starlark.replace(/,?[\s\n]*\)[\s\n]*$/, '') + `,\n deps = [${dep}],\n)`; - } - - const [, head, value, tail] = depsMatch; - - return ( - starlark.slice(0, depsMatch.index) + - head + - (() => { - const multiline = value.includes('\n'); - const existingArray = value.indexOf(']'); - if (existingArray === -1) { - return value + ` + [${dep}]`; - } - - const valHead = value.slice(0, existingArray).replace(/,?\s*$/, ','); - const valTail = value.slice(existingArray); - - return `${valHead}${multiline ? '\n ' : ' '}${dep}${multiline ? ',\n' : ''}${valTail}`; - })() + - tail + - starlark.slice(depsMatch.index + depsMatch[0].length) - ); -} - -/** - * @param {string} starlark - * @param {string} name - * @param {string} newName - * @param {(rule: string) => string} mod - */ -function duplicateRule(starlark, name, newName, mod) { - const origPos = findBazelRule(starlark, name); - - const orig = starlark.slice(origPos.start, origPos.end); - - const withName = orig.replace( - /^(\s*)name\s*=\s*.*$/m, - (match, head) => `${head}name = ${newName}${match.endsWith(',') ? ',' : ''}` - ); - - return starlark.slice(0, origPos.end) + `\n\n${mod(withName)}` + starlark.slice(origPos.end); -} - /** @type {import('../lib/command').Command} */ export const command = { name: '_x', - async run({ log }) { - const updates = { pkgJson: 0, buildBazel: 0, tsconfig: 0, tsconfigRefs: 0 }; - - await import('../../../src/setup_node_env/index' + '.js'); - const { PROJECTS } = await import('./projects' + '.js'); - const { discoverBazelPackages } = await import('@kbn/bazel-packages'); - const pkgs = await discoverBazelPackages(REPO_ROOT); - const plugins = await pluginDiscovery(); - - // update package.json files to point to their target_types dir - const relTypes = './target_types/index.d.ts'; - for (const pkg of pkgs) { - if (!pkg.hasBuildTypesRule()) { - log.warning(`not defining "types" for ${pkg.manifest.id} because it doesn't build types`); - continue; - } - - const dir = Path.resolve(REPO_ROOT, pkg.normalizedRepoRelativeDir); - const pkgJsonPath = Path.resolve(dir, 'package.json'); - - const pkgJson = Fs.readFileSync(pkgJsonPath, 'utf8'); - const parsed = JSON.parse(pkgJson); - - if (parsed.types === relTypes) { - continue; - } - - Fs.writeFileSync( - pkgJsonPath, - JSON.stringify( - { - ...parsed, - types: relTypes, - }, - null, - 2 - ) + (pkgJson.endsWith('\n') ? '\n' : '') - ); - - updates.pkgJson += 1; - } - log.success(`updated ${updates.pkgJson} package.json files`); - - // update BUILD.bazel files to not rely on type_summarizer - for (const pkg of pkgs) { - if (!pkg.hasBuildTypesRule()) { - continue; - } - - const starlark = pkg.buildBazelContent; - if (typeof starlark !== 'string') { - throw new Error('missing buildBazelContent'); - } - - const npmTypes = findBazelRule(starlark, '"npm_module_types"'); - - if (npmTypes.type === 'alias') { - log.info(`ignoring npm_module_types rule which is an alias in ${pkg.manifest.id}`); - continue; - } - - // remove rules for old npm_module_types - const withoutOldTypes = removeBazelRule(starlark, '"npm_module_types"'); - - // duplicate js_library rule and name npm_module_types rule which adds the ':tsc_types' dep - const withTypesJsLib = duplicateRule( - withoutOldTypes, - 'PKG_DIRNAME', - '"npm_module_types"', - (newRule) => addDep(newRule, '":tsc_types"') - ); - - const withBuildTypesWrapper = - removeBazelRule(withTypesJsLib, '"build_types"').trimEnd() + - ` - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) -`; - - Fs.writeFileSync( - Path.resolve(REPO_ROOT, pkg.normalizedRepoRelativeDir, 'BUILD.bazel'), - withBuildTypesWrapper - ); - - updates.buildBazel += 1; - } - log.success(`updated ${updates.buildBazel} BUILD.bazel files`); - - // stop enabling declaration source maps in tsconfig - for (const pkg of [...pkgs, ...plugins]) { - const dir = - 'normalizedRepoRelativeDir' in pkg - ? Path.resolve(REPO_ROOT, pkg.normalizedRepoRelativeDir) - : pkg.directory; - - let changed; - - const tsconfigPath = Path.resolve(dir, 'tsconfig.json'); - if (Fs.existsSync(tsconfigPath)) { - const current = Fs.readFileSync(tsconfigPath, 'utf8'); - const next = current.replace(/\n\s*"declarationMap"\s*:.+\n/m, '\n'); - - if (current !== next) { - changed = true; - Fs.writeFileSync(tsconfigPath, next); - } - } - - const buildBazelPath = Path.resolve(dir, 'BUILD.bazel'); - if (Fs.existsSync(buildBazelPath)) { - const current = Fs.readFileSync(buildBazelPath, 'utf8'); - const next = current.replace(/\n.*\bdeclaration_map\b.*\n/, '\n'); - if (current !== next) { - changed = true; - Fs.writeFileSync(buildBazelPath, next); - } - } - - if (changed) { - updates.tsconfig += 1; - } - } - log.success(`dropped declarationMap from ${updates.tsconfig} tsconfig.json files`); - - // rename "references" in plugin tsconfig.json files to "kbn_references" - for (const project of PROJECTS) { - const tsconfigJson = Fs.readFileSync(project.tsConfigPath, 'utf8'); - const updated = tsconfigJson.replace('"references"', '"kbn_references"'); - if (updated !== tsconfigJson) { - Fs.writeFileSync(project.tsConfigPath, updated); - updates.tsconfigRefs += 1; - } - } - log.success(`updated tsconfig references key in ${updates.tsconfigRefs} tsconfig.json files`); - }, + async run() {}, }; diff --git a/kbn_pm/src/lib/bazel.mjs b/kbn_pm/src/lib/bazel.mjs index 7e0256633cfd6..2ec27b359f153 100644 --- a/kbn_pm/src/lib/bazel.mjs +++ b/kbn_pm/src/lib/bazel.mjs @@ -18,6 +18,12 @@ import { indent } from './indent.mjs'; const BAZEL_RUNNER_SRC = '../../../packages/kbn-bazel-runner/index.js'; +const BAZEL_TARGETS = [ + '//packages/kbn-ui-shared-deps-npm:shared_built_assets', + '//packages/kbn-ui-shared-deps-src:shared_built_assets', + '//packages/kbn-monaco:target_workers', +]; + async function getBazelRunner() { /* eslint-disable no-unsanitized/method */ /** @type {import('@kbn/bazel-runner')} */ @@ -83,7 +89,7 @@ export async function watch(log, opts = undefined) { // `.bazel_fix_commands.json` but its not needed at the moment '--run_output=false', 'build', - '//packages:build', + ...BAZEL_TARGETS, '--show_result=1', ...(opts?.offline ? ['--config=offline'] : []), ]; @@ -158,13 +164,13 @@ export async function installYarnDeps(log, opts = undefined) { * @param {import('./log.mjs').Log} log * @param {{ offline?: boolean, quiet?: boolean } | undefined} opts */ -export async function buildPackages(log, opts = undefined) { - await runBazel(log, ['build', '//packages:build', '--show_result=1'], { +export async function buildWebpackBundles(log, opts = undefined) { + await runBazel(log, ['build', ...BAZEL_TARGETS, '--show_result=1'], { offline: opts?.offline, quiet: opts?.quiet, }); - log.success('packages built'); + log.success('shared bundles built'); } /** diff --git a/kbn_pm/src/lib/external_packages.js b/kbn_pm/src/lib/external_packages.js new file mode 100644 index 0000000000000..d984a15dfd026 --- /dev/null +++ b/kbn_pm/src/lib/external_packages.js @@ -0,0 +1,58 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +module.exports = { + ['@kbn/bazel-packages']() { + require('@kbn/babel-register').install(); + return require('@kbn/bazel-packages'); + }, + + ['@kbn/ci-stats-reporter']() { + require('@kbn/babel-register').install(); + return require('@kbn/ci-stats-reporter'); + }, + + ['@kbn/yarn-lock-validator']() { + require('@kbn/babel-register').install(); + return require('@kbn/yarn-lock-validator'); + }, + + ['@kbn/sort-package-json']() { + require('@kbn/babel-register').install(); + return require('@kbn/sort-package-json'); + }, + + ['@kbn/package-map']() { + require('@kbn/babel-register').install(); + return require('@kbn/package-map'); + }, + + ['@kbn/get-repo-files']() { + require('@kbn/babel-register').install(); + return require('@kbn/get-repo-files'); + }, + + ['@kbn/repo-info']() { + require('@kbn/babel-register').install(); + return require('@kbn/repo-info'); + }, + + ['@kbn/ts-projects']() { + require('@kbn/babel-register').install(); + return require('@kbn/ts-projects'); + }, + + /** + * @param {string} absPath + * @returns {unknown} + */ + reqAbs(absPath) { + require('@kbn/babel-register').install(); + // eslint-disable-next-line import/no-dynamic-require + return require(absPath); + }, +}; diff --git a/kbn_pm/src/lib/find_clean_paths.mjs b/kbn_pm/src/lib/find_clean_paths.mjs index a15118031038b..62874358d4673 100644 --- a/kbn_pm/src/lib/find_clean_paths.mjs +++ b/kbn_pm/src/lib/find_clean_paths.mjs @@ -10,21 +10,20 @@ import Path from 'path'; import Fs from 'fs'; import { REPO_ROOT } from './paths.mjs'; +import External from './external_packages.js'; /** - * Attempt to load the synthetic package map, if bootstrap hasn't run successfully + * Attempt to load the package map, if bootstrap hasn't run successfully * this might fail. * @param {import('@kbn/some-dev-log').SomeDevLog} log - * @returns {Promise} + * @returns {Promise} */ -async function tryToGetSyntheticPackageMap(log) { +async function tryToGetPackageMap(log) { try { - const { readPackageMap } = await import('@kbn/synthetic-package-map'); + const { readPackageMap } = External['@kbn/package-map'](); return readPackageMap(); } catch (error) { - log.warning( - 'unable to load synthetic package map, unable to clean target directories in synthetic packages' - ); + log.warning('unable to load package map, unable to clean target directories in packages'); return new Map(); } } @@ -67,7 +66,7 @@ export function readCleanPatterns(packageDir) { * @returns {Promise} */ export async function findPluginCleanPaths(log) { - const packageMap = await tryToGetSyntheticPackageMap(log); + const packageMap = await tryToGetPackageMap(log); return [...packageMap.values()].flatMap((repoRelativePath) => { const pkgDir = Path.resolve(REPO_ROOT, repoRelativePath); return [Path.resolve(pkgDir, 'target'), ...readCleanPatterns(pkgDir)]; diff --git a/kbn_pm/src/commands/bootstrap/normalize_path.mjs b/kbn_pm/src/lib/normalize_path.mjs similarity index 100% rename from kbn_pm/src/commands/bootstrap/normalize_path.mjs rename to kbn_pm/src/lib/normalize_path.mjs diff --git a/kbn_pm/src/lib/plugins.mjs b/kbn_pm/src/lib/plugins.mjs new file mode 100644 index 0000000000000..01bdbfd41c8e6 --- /dev/null +++ b/kbn_pm/src/lib/plugins.mjs @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** + * @param {string} pluginId + */ +export function convertPluginIdToPackageId(pluginId) { + if (pluginId === 'core') { + // core is the only non-plugin + return `@kbn/core`; + } + + return `@kbn/${pluginId + .split('') + .flatMap((c) => (c.toUpperCase() === c ? `-${c.toLowerCase()}` : c)) + .join('')}-plugin` + .replace(/-\w(-\w)+-/g, (match) => `-${match.split('-').join('')}-`) + .replace(/-plugin-plugin$/, '-plugin'); +} diff --git a/kbn_pm/tsconfig.json b/kbn_pm/tsconfig.json index f8ef60867aca2..78117e296355c 100644 --- a/kbn_pm/tsconfig.json +++ b/kbn_pm/tsconfig.json @@ -1,14 +1,28 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { - "outDir": "target", + "outDir": "target/types", "checkJs": true, - "target": "ES2022", "module": "ESNext" }, "include": [ "src/**/*.mjs", + "src/**/*.js", "src/**/*.ts", ], - "exclude": [] + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/babel-register", + "@kbn/bazel-packages", + "@kbn/repo-info", + "@kbn/yarn-lock-validator", + "@kbn/get-repo-files", + "@kbn/sort-package-json", + { "path": "../src/dev/tsconfig.json" }, + "@kbn/ci-stats-reporter", + "@kbn/package-map", + "@kbn/ts-projects" + ] } diff --git a/package.json b/package.json index 751f8417340cf..89864ab229402 100644 --- a/package.json +++ b/package.json @@ -97,17 +97,17 @@ }, "dependencies": { "@appland/sql-parser": "^1.5.1", - "@babel/runtime": "^7.20.6", + "@babel/runtime": "^7.20.7", "@dnd-kit/core": "^3.1.1", "@dnd-kit/sortable": "^4.0.0", "@dnd-kit/utilities": "^2.0.0", "@elastic/apm-rum": "^5.12.0", "@elastic/apm-rum-react": "^1.4.2", - "@elastic/charts": "51.1.1", + "@elastic/charts": "51.3.0", "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.5.0-canary.1", "@elastic/ems-client": "8.3.3", - "@elastic/eui": "71.0.0", + "@elastic/eui": "72.1.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", @@ -119,6 +119,7 @@ "@emotion/react": "^11.10.4", "@emotion/serialize": "^1.1.0", "@emotion/server": "^11.10.0", + "@emotion/styled": "^11.10.5", "@grpc/grpc-js": "^1.6.7", "@hapi/accept": "^5.0.2", "@hapi/boom": "^9.1.4", @@ -128,314 +129,320 @@ "@hapi/hoek": "^9.2.1", "@hapi/inert": "^6.0.4", "@hapi/wreck": "^17.1.0", - "@kbn/ace": "link:bazel-bin/packages/kbn-ace", - "@kbn/aiops-components": "link:bazel-bin/x-pack/packages/ml/aiops_components", - "@kbn/aiops-utils": "link:bazel-bin/x-pack/packages/ml/aiops_utils", - "@kbn/alerts": "link:bazel-bin/packages/kbn-alerts", - "@kbn/analytics": "link:bazel-bin/packages/kbn-analytics", - "@kbn/analytics-client": "link:bazel-bin/packages/analytics/client", - "@kbn/analytics-shippers-elastic-v3-browser": "link:bazel-bin/packages/analytics/shippers/elastic_v3/browser", - "@kbn/analytics-shippers-elastic-v3-common": "link:bazel-bin/packages/analytics/shippers/elastic_v3/common", - "@kbn/analytics-shippers-elastic-v3-server": "link:bazel-bin/packages/analytics/shippers/elastic_v3/server", - "@kbn/analytics-shippers-fullstory": "link:bazel-bin/packages/analytics/shippers/fullstory", - "@kbn/analytics-shippers-gainsight": "link:bazel-bin/packages/analytics/shippers/gainsight", - "@kbn/apm-config-loader": "link:bazel-bin/packages/kbn-apm-config-loader", - "@kbn/apm-utils": "link:bazel-bin/packages/kbn-apm-utils", - "@kbn/cases-components": "link:bazel-bin/packages/kbn-cases-components", - "@kbn/chart-icons": "link:bazel-bin/packages/kbn-chart-icons", - "@kbn/coloring": "link:bazel-bin/packages/kbn-coloring", - "@kbn/config": "link:bazel-bin/packages/kbn-config", - "@kbn/config-mocks": "link:bazel-bin/packages/kbn-config-mocks", - "@kbn/config-schema": "link:bazel-bin/packages/kbn-config-schema", + "@kbn/ace": "link:packages/kbn-ace", + "@kbn/aiops-components": "link:x-pack/packages/ml/aiops_components", + "@kbn/aiops-utils": "link:x-pack/packages/ml/aiops_utils", + "@kbn/alerts": "link:packages/kbn-alerts", + "@kbn/analytics": "link:packages/kbn-analytics", + "@kbn/analytics-client": "link:packages/analytics/client", + "@kbn/analytics-shippers-elastic-v3-browser": "link:packages/analytics/shippers/elastic_v3/browser", + "@kbn/analytics-shippers-elastic-v3-common": "link:packages/analytics/shippers/elastic_v3/common", + "@kbn/analytics-shippers-elastic-v3-server": "link:packages/analytics/shippers/elastic_v3/server", + "@kbn/analytics-shippers-fullstory": "link:packages/analytics/shippers/fullstory", + "@kbn/analytics-shippers-gainsight": "link:packages/analytics/shippers/gainsight", + "@kbn/apm-config-loader": "link:packages/kbn-apm-config-loader", + "@kbn/apm-utils": "link:packages/kbn-apm-utils", + "@kbn/cases-components": "link:packages/kbn-cases-components", + "@kbn/chart-icons": "link:packages/kbn-chart-icons", + "@kbn/coloring": "link:packages/kbn-coloring", + "@kbn/config": "link:packages/kbn-config", + "@kbn/config-mocks": "link:packages/kbn-config-mocks", + "@kbn/config-schema": "link:packages/kbn-config-schema", "@kbn/content-management-content-editor": "link:bazel-bin/packages/content-management/content_editor", "@kbn/content-management-table-list": "link:bazel-bin/packages/content-management/table_list", - "@kbn/core-analytics-browser": "link:bazel-bin/packages/core/analytics/core-analytics-browser", - "@kbn/core-analytics-browser-internal": "link:bazel-bin/packages/core/analytics/core-analytics-browser-internal", - "@kbn/core-analytics-browser-mocks": "link:bazel-bin/packages/core/analytics/core-analytics-browser-mocks", - "@kbn/core-analytics-server": "link:bazel-bin/packages/core/analytics/core-analytics-server", - "@kbn/core-analytics-server-internal": "link:bazel-bin/packages/core/analytics/core-analytics-server-internal", - "@kbn/core-analytics-server-mocks": "link:bazel-bin/packages/core/analytics/core-analytics-server-mocks", - "@kbn/core-application-browser": "link:bazel-bin/packages/core/application/core-application-browser", - "@kbn/core-application-browser-internal": "link:bazel-bin/packages/core/application/core-application-browser-internal", - "@kbn/core-application-browser-mocks": "link:bazel-bin/packages/core/application/core-application-browser-mocks", - "@kbn/core-application-common": "link:bazel-bin/packages/core/application/core-application-common", - "@kbn/core-apps-browser-internal": "link:bazel-bin/packages/core/apps/core-apps-browser-internal", - "@kbn/core-apps-browser-mocks": "link:bazel-bin/packages/core/apps/core-apps-browser-mocks", - "@kbn/core-apps-server-internal": "link:bazel-bin/packages/core/apps/core-apps-server-internal", - "@kbn/core-base-browser-internal": "link:bazel-bin/packages/core/base/core-base-browser-internal", - "@kbn/core-base-browser-mocks": "link:bazel-bin/packages/core/base/core-base-browser-mocks", - "@kbn/core-base-common": "link:bazel-bin/packages/core/base/core-base-common", - "@kbn/core-base-common-internal": "link:bazel-bin/packages/core/base/core-base-common-internal", - "@kbn/core-base-server-internal": "link:bazel-bin/packages/core/base/core-base-server-internal", - "@kbn/core-base-server-mocks": "link:bazel-bin/packages/core/base/core-base-server-mocks", - "@kbn/core-capabilities-browser-internal": "link:bazel-bin/packages/core/capabilities/core-capabilities-browser-internal", - "@kbn/core-capabilities-browser-mocks": "link:bazel-bin/packages/core/capabilities/core-capabilities-browser-mocks", - "@kbn/core-capabilities-common": "link:bazel-bin/packages/core/capabilities/core-capabilities-common", - "@kbn/core-capabilities-server": "link:bazel-bin/packages/core/capabilities/core-capabilities-server", - "@kbn/core-capabilities-server-internal": "link:bazel-bin/packages/core/capabilities/core-capabilities-server-internal", - "@kbn/core-capabilities-server-mocks": "link:bazel-bin/packages/core/capabilities/core-capabilities-server-mocks", - "@kbn/core-chrome-browser": "link:bazel-bin/packages/core/chrome/core-chrome-browser", - "@kbn/core-chrome-browser-internal": "link:bazel-bin/packages/core/chrome/core-chrome-browser-internal", - "@kbn/core-chrome-browser-mocks": "link:bazel-bin/packages/core/chrome/core-chrome-browser-mocks", - "@kbn/core-config-server-internal": "link:bazel-bin/packages/core/config/core-config-server-internal", - "@kbn/core-config-server-mocks": "link:bazel-bin/packages/core/config/core-config-server-mocks", - "@kbn/core-deprecations-browser": "link:bazel-bin/packages/core/deprecations/core-deprecations-browser", - "@kbn/core-deprecations-browser-internal": "link:bazel-bin/packages/core/deprecations/core-deprecations-browser-internal", - "@kbn/core-deprecations-browser-mocks": "link:bazel-bin/packages/core/deprecations/core-deprecations-browser-mocks", - "@kbn/core-deprecations-common": "link:bazel-bin/packages/core/deprecations/core-deprecations-common", - "@kbn/core-deprecations-server": "link:bazel-bin/packages/core/deprecations/core-deprecations-server", - "@kbn/core-deprecations-server-internal": "link:bazel-bin/packages/core/deprecations/core-deprecations-server-internal", - "@kbn/core-deprecations-server-mocks": "link:bazel-bin/packages/core/deprecations/core-deprecations-server-mocks", - "@kbn/core-doc-links-browser": "link:bazel-bin/packages/core/doc-links/core-doc-links-browser", - "@kbn/core-doc-links-browser-internal": "link:bazel-bin/packages/core/doc-links/core-doc-links-browser-internal", - "@kbn/core-doc-links-browser-mocks": "link:bazel-bin/packages/core/doc-links/core-doc-links-browser-mocks", - "@kbn/core-doc-links-server": "link:bazel-bin/packages/core/doc-links/core-doc-links-server", - "@kbn/core-doc-links-server-internal": "link:bazel-bin/packages/core/doc-links/core-doc-links-server-internal", - "@kbn/core-doc-links-server-mocks": "link:bazel-bin/packages/core/doc-links/core-doc-links-server-mocks", - "@kbn/core-elasticsearch-client-server": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-client-server", - "@kbn/core-elasticsearch-client-server-internal": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-client-server-internal", - "@kbn/core-elasticsearch-client-server-mocks": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-client-server-mocks", - "@kbn/core-elasticsearch-server": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-server", - "@kbn/core-elasticsearch-server-internal": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-server-internal", - "@kbn/core-elasticsearch-server-mocks": "link:bazel-bin/packages/core/elasticsearch/core-elasticsearch-server-mocks", - "@kbn/core-environment-server-internal": "link:bazel-bin/packages/core/environment/core-environment-server-internal", - "@kbn/core-environment-server-mocks": "link:bazel-bin/packages/core/environment/core-environment-server-mocks", - "@kbn/core-execution-context-browser": "link:bazel-bin/packages/core/execution-context/core-execution-context-browser", - "@kbn/core-execution-context-browser-internal": "link:bazel-bin/packages/core/execution-context/core-execution-context-browser-internal", - "@kbn/core-execution-context-browser-mocks": "link:bazel-bin/packages/core/execution-context/core-execution-context-browser-mocks", - "@kbn/core-execution-context-common": "link:bazel-bin/packages/core/execution-context/core-execution-context-common", - "@kbn/core-execution-context-server": "link:bazel-bin/packages/core/execution-context/core-execution-context-server", - "@kbn/core-execution-context-server-internal": "link:bazel-bin/packages/core/execution-context/core-execution-context-server-internal", - "@kbn/core-execution-context-server-mocks": "link:bazel-bin/packages/core/execution-context/core-execution-context-server-mocks", - "@kbn/core-fatal-errors-browser": "link:bazel-bin/packages/core/fatal-errors/core-fatal-errors-browser", - "@kbn/core-fatal-errors-browser-internal": "link:bazel-bin/packages/core/fatal-errors/core-fatal-errors-browser-internal", - "@kbn/core-fatal-errors-browser-mocks": "link:bazel-bin/packages/core/fatal-errors/core-fatal-errors-browser-mocks", - "@kbn/core-http-browser": "link:bazel-bin/packages/core/http/core-http-browser", - "@kbn/core-http-browser-internal": "link:bazel-bin/packages/core/http/core-http-browser-internal", - "@kbn/core-http-browser-mocks": "link:bazel-bin/packages/core/http/core-http-browser-mocks", - "@kbn/core-http-common": "link:bazel-bin/packages/core/http/core-http-common", - "@kbn/core-http-context-server-internal": "link:bazel-bin/packages/core/http/core-http-context-server-internal", - "@kbn/core-http-context-server-mocks": "link:bazel-bin/packages/core/http/core-http-context-server-mocks", - "@kbn/core-http-request-handler-context-server": "link:bazel-bin/packages/core/http/core-http-request-handler-context-server", - "@kbn/core-http-request-handler-context-server-internal": "link:bazel-bin/packages/core/http/core-http-request-handler-context-server-internal", - "@kbn/core-http-resources-server": "link:bazel-bin/packages/core/http/core-http-resources-server", - "@kbn/core-http-resources-server-internal": "link:bazel-bin/packages/core/http/core-http-resources-server-internal", - "@kbn/core-http-resources-server-mocks": "link:bazel-bin/packages/core/http/core-http-resources-server-mocks", - "@kbn/core-http-router-server-internal": "link:bazel-bin/packages/core/http/core-http-router-server-internal", - "@kbn/core-http-router-server-mocks": "link:bazel-bin/packages/core/http/core-http-router-server-mocks", - "@kbn/core-http-server": "link:bazel-bin/packages/core/http/core-http-server", - "@kbn/core-http-server-internal": "link:bazel-bin/packages/core/http/core-http-server-internal", - "@kbn/core-http-server-mocks": "link:bazel-bin/packages/core/http/core-http-server-mocks", - "@kbn/core-i18n-browser": "link:bazel-bin/packages/core/i18n/core-i18n-browser", - "@kbn/core-i18n-browser-internal": "link:bazel-bin/packages/core/i18n/core-i18n-browser-internal", - "@kbn/core-i18n-browser-mocks": "link:bazel-bin/packages/core/i18n/core-i18n-browser-mocks", - "@kbn/core-i18n-server": "link:bazel-bin/packages/core/i18n/core-i18n-server", - "@kbn/core-i18n-server-internal": "link:bazel-bin/packages/core/i18n/core-i18n-server-internal", - "@kbn/core-i18n-server-mocks": "link:bazel-bin/packages/core/i18n/core-i18n-server-mocks", - "@kbn/core-injected-metadata-browser-internal": "link:bazel-bin/packages/core/injected-metadata/core-injected-metadata-browser-internal", - "@kbn/core-injected-metadata-browser-mocks": "link:bazel-bin/packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "@kbn/core-injected-metadata-common-internal": "link:bazel-bin/packages/core/injected-metadata/core-injected-metadata-common-internal", - "@kbn/core-integrations-browser-internal": "link:bazel-bin/packages/core/integrations/core-integrations-browser-internal", - "@kbn/core-integrations-browser-mocks": "link:bazel-bin/packages/core/integrations/core-integrations-browser-mocks", - "@kbn/core-lifecycle-browser": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-browser", - "@kbn/core-lifecycle-browser-internal": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-browser-internal", - "@kbn/core-lifecycle-browser-mocks": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-browser-mocks", - "@kbn/core-lifecycle-server": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-server", - "@kbn/core-lifecycle-server-internal": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-server-internal", - "@kbn/core-lifecycle-server-mocks": "link:bazel-bin/packages/core/lifecycle/core-lifecycle-server-mocks", - "@kbn/core-logging-browser-internal": "link:bazel-bin/packages/core/logging/core-logging-browser-internal", - "@kbn/core-logging-browser-mocks": "link:bazel-bin/packages/core/logging/core-logging-browser-mocks", - "@kbn/core-logging-common-internal": "link:bazel-bin/packages/core/logging/core-logging-common-internal", - "@kbn/core-logging-server": "link:bazel-bin/packages/core/logging/core-logging-server", - "@kbn/core-logging-server-internal": "link:bazel-bin/packages/core/logging/core-logging-server-internal", - "@kbn/core-logging-server-mocks": "link:bazel-bin/packages/core/logging/core-logging-server-mocks", - "@kbn/core-metrics-collectors-server-internal": "link:bazel-bin/packages/core/metrics/core-metrics-collectors-server-internal", - "@kbn/core-metrics-collectors-server-mocks": "link:bazel-bin/packages/core/metrics/core-metrics-collectors-server-mocks", - "@kbn/core-metrics-server": "link:bazel-bin/packages/core/metrics/core-metrics-server", - "@kbn/core-metrics-server-internal": "link:bazel-bin/packages/core/metrics/core-metrics-server-internal", - "@kbn/core-metrics-server-mocks": "link:bazel-bin/packages/core/metrics/core-metrics-server-mocks", - "@kbn/core-mount-utils-browser": "link:bazel-bin/packages/core/mount-utils/core-mount-utils-browser", - "@kbn/core-mount-utils-browser-internal": "link:bazel-bin/packages/core/mount-utils/core-mount-utils-browser-internal", - "@kbn/core-node-server": "link:bazel-bin/packages/core/node/core-node-server", - "@kbn/core-node-server-internal": "link:bazel-bin/packages/core/node/core-node-server-internal", - "@kbn/core-node-server-mocks": "link:bazel-bin/packages/core/node/core-node-server-mocks", - "@kbn/core-notifications-browser": "link:bazel-bin/packages/core/notifications/core-notifications-browser", - "@kbn/core-notifications-browser-internal": "link:bazel-bin/packages/core/notifications/core-notifications-browser-internal", - "@kbn/core-notifications-browser-mocks": "link:bazel-bin/packages/core/notifications/core-notifications-browser-mocks", - "@kbn/core-overlays-browser": "link:bazel-bin/packages/core/overlays/core-overlays-browser", - "@kbn/core-overlays-browser-internal": "link:bazel-bin/packages/core/overlays/core-overlays-browser-internal", - "@kbn/core-overlays-browser-mocks": "link:bazel-bin/packages/core/overlays/core-overlays-browser-mocks", - "@kbn/core-plugins-base-server-internal": "link:bazel-bin/packages/core/plugins/core-plugins-base-server-internal", - "@kbn/core-plugins-browser": "link:bazel-bin/packages/core/plugins/core-plugins-browser", - "@kbn/core-plugins-browser-internal": "link:bazel-bin/packages/core/plugins/core-plugins-browser-internal", - "@kbn/core-plugins-browser-mocks": "link:bazel-bin/packages/core/plugins/core-plugins-browser-mocks", - "@kbn/core-plugins-server": "link:bazel-bin/packages/core/plugins/core-plugins-server", - "@kbn/core-plugins-server-internal": "link:bazel-bin/packages/core/plugins/core-plugins-server-internal", - "@kbn/core-plugins-server-mocks": "link:bazel-bin/packages/core/plugins/core-plugins-server-mocks", - "@kbn/core-preboot-server": "link:bazel-bin/packages/core/preboot/core-preboot-server", - "@kbn/core-preboot-server-internal": "link:bazel-bin/packages/core/preboot/core-preboot-server-internal", - "@kbn/core-preboot-server-mocks": "link:bazel-bin/packages/core/preboot/core-preboot-server-mocks", - "@kbn/core-rendering-browser-internal": "link:bazel-bin/packages/core/rendering/core-rendering-browser-internal", - "@kbn/core-rendering-browser-mocks": "link:bazel-bin/packages/core/rendering/core-rendering-browser-mocks", - "@kbn/core-rendering-server-internal": "link:bazel-bin/packages/core/rendering/core-rendering-server-internal", - "@kbn/core-rendering-server-mocks": "link:bazel-bin/packages/core/rendering/core-rendering-server-mocks", - "@kbn/core-root-browser-internal": "link:bazel-bin/packages/core/root/core-root-browser-internal", - "@kbn/core-root-server-internal": "link:bazel-bin/packages/core/root/core-root-server-internal", - "@kbn/core-saved-objects-api-browser": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-api-browser", - "@kbn/core-saved-objects-api-server": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-api-server", - "@kbn/core-saved-objects-api-server-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-api-server-internal", - "@kbn/core-saved-objects-api-server-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-api-server-mocks", - "@kbn/core-saved-objects-base-server-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-base-server-internal", - "@kbn/core-saved-objects-base-server-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-base-server-mocks", - "@kbn/core-saved-objects-browser": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-browser", - "@kbn/core-saved-objects-browser-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-browser-internal", - "@kbn/core-saved-objects-browser-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-browser-mocks", - "@kbn/core-saved-objects-common": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-common", - "@kbn/core-saved-objects-import-export-server-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-import-export-server-internal", - "@kbn/core-saved-objects-import-export-server-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-import-export-server-mocks", - "@kbn/core-saved-objects-migration-server-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-migration-server-internal", - "@kbn/core-saved-objects-migration-server-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-migration-server-mocks", - "@kbn/core-saved-objects-server": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-server", - "@kbn/core-saved-objects-server-internal": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-server-internal", - "@kbn/core-saved-objects-server-mocks": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-server-mocks", - "@kbn/core-saved-objects-utils-server": "link:bazel-bin/packages/core/saved-objects/core-saved-objects-utils-server", - "@kbn/core-status-common": "link:bazel-bin/packages/core/status/core-status-common", - "@kbn/core-status-common-internal": "link:bazel-bin/packages/core/status/core-status-common-internal", - "@kbn/core-status-server": "link:bazel-bin/packages/core/status/core-status-server", - "@kbn/core-status-server-internal": "link:bazel-bin/packages/core/status/core-status-server-internal", - "@kbn/core-status-server-mocks": "link:bazel-bin/packages/core/status/core-status-server-mocks", - "@kbn/core-test-helpers-deprecations-getters": "link:bazel-bin/packages/core/test-helpers/core-test-helpers-deprecations-getters", - "@kbn/core-test-helpers-http-setup-browser": "link:bazel-bin/packages/core/test-helpers/core-test-helpers-http-setup-browser", - "@kbn/core-test-helpers-so-type-serializer": "link:bazel-bin/packages/core/test-helpers/core-test-helpers-so-type-serializer", - "@kbn/core-test-helpers-test-utils": "link:bazel-bin/packages/core/test-helpers/core-test-helpers-test-utils", - "@kbn/core-theme-browser": "link:bazel-bin/packages/core/theme/core-theme-browser", - "@kbn/core-theme-browser-internal": "link:bazel-bin/packages/core/theme/core-theme-browser-internal", - "@kbn/core-theme-browser-mocks": "link:bazel-bin/packages/core/theme/core-theme-browser-mocks", - "@kbn/core-ui-settings-browser": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-browser", - "@kbn/core-ui-settings-browser-internal": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-browser-internal", - "@kbn/core-ui-settings-browser-mocks": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-browser-mocks", - "@kbn/core-ui-settings-common": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-common", - "@kbn/core-ui-settings-server": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-server", - "@kbn/core-ui-settings-server-internal": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-server-internal", - "@kbn/core-ui-settings-server-mocks": "link:bazel-bin/packages/core/ui-settings/core-ui-settings-server-mocks", - "@kbn/core-usage-data-base-server-internal": "link:bazel-bin/packages/core/usage-data/core-usage-data-base-server-internal", - "@kbn/core-usage-data-server": "link:bazel-bin/packages/core/usage-data/core-usage-data-server", - "@kbn/core-usage-data-server-internal": "link:bazel-bin/packages/core/usage-data/core-usage-data-server-internal", - "@kbn/core-usage-data-server-mocks": "link:bazel-bin/packages/core/usage-data/core-usage-data-server-mocks", - "@kbn/crypto": "link:bazel-bin/packages/kbn-crypto", - "@kbn/crypto-browser": "link:bazel-bin/packages/kbn-crypto-browser", - "@kbn/datemath": "link:bazel-bin/packages/kbn-datemath", - "@kbn/doc-links": "link:bazel-bin/packages/kbn-doc-links", - "@kbn/ebt-tools": "link:bazel-bin/packages/kbn-ebt-tools", - "@kbn/ecs": "link:bazel-bin/packages/kbn-ecs", - "@kbn/es-errors": "link:bazel-bin/packages/kbn-es-errors", - "@kbn/es-query": "link:bazel-bin/packages/kbn-es-query", - "@kbn/es-types": "link:bazel-bin/packages/kbn-es-types", - "@kbn/field-types": "link:bazel-bin/packages/kbn-field-types", - "@kbn/flot-charts": "link:bazel-bin/packages/kbn-flot-charts", - "@kbn/guided-onboarding": "link:bazel-bin/packages/kbn-guided-onboarding", - "@kbn/handlebars": "link:bazel-bin/packages/kbn-handlebars", - "@kbn/hapi-mocks": "link:bazel-bin/packages/kbn-hapi-mocks", - "@kbn/health-gateway-server": "link:bazel-bin/packages/kbn-health-gateway-server", - "@kbn/home-sample-data-card": "link:bazel-bin/packages/home/sample_data_card", - "@kbn/home-sample-data-tab": "link:bazel-bin/packages/home/sample_data_tab", - "@kbn/home-sample-data-types": "link:bazel-bin/packages/home/sample_data_types", - "@kbn/i18n": "link:bazel-bin/packages/kbn-i18n", - "@kbn/i18n-react": "link:bazel-bin/packages/kbn-i18n-react", - "@kbn/interpreter": "link:bazel-bin/packages/kbn-interpreter", - "@kbn/io-ts-utils": "link:bazel-bin/packages/kbn-io-ts-utils", - "@kbn/language-documentation-popover": "link:bazel-bin/packages/kbn-language-documentation-popover", - "@kbn/logging": "link:bazel-bin/packages/kbn-logging", - "@kbn/logging-mocks": "link:bazel-bin/packages/kbn-logging-mocks", - "@kbn/mapbox-gl": "link:bazel-bin/packages/kbn-mapbox-gl", - "@kbn/ml-agg-utils": "link:bazel-bin/x-pack/packages/ml/agg_utils", - "@kbn/ml-is-populated-object": "link:bazel-bin/x-pack/packages/ml/is_populated_object", - "@kbn/ml-string-hash": "link:bazel-bin/x-pack/packages/ml/string_hash", - "@kbn/monaco": "link:bazel-bin/packages/kbn-monaco", - "@kbn/osquery-io-ts-types": "link:bazel-bin/packages/kbn-osquery-io-ts-types", - "@kbn/plugin-discovery": "link:bazel-bin/packages/kbn-plugin-discovery", - "@kbn/react-field": "link:bazel-bin/packages/kbn-react-field", - "@kbn/rison": "link:bazel-bin/packages/kbn-rison", - "@kbn/rule-data-utils": "link:bazel-bin/packages/kbn-rule-data-utils", - "@kbn/safer-lodash-set": "link:bazel-bin/packages/kbn-safer-lodash-set", - "@kbn/securitysolution-autocomplete": "link:bazel-bin/packages/kbn-securitysolution-autocomplete", - "@kbn/securitysolution-es-utils": "link:bazel-bin/packages/kbn-securitysolution-es-utils", - "@kbn/securitysolution-exception-list-components": "link:bazel-bin/packages/kbn-securitysolution-exception-list-components", - "@kbn/securitysolution-hook-utils": "link:bazel-bin/packages/kbn-securitysolution-hook-utils", - "@kbn/securitysolution-io-ts-alerting-types": "link:bazel-bin/packages/kbn-securitysolution-io-ts-alerting-types", - "@kbn/securitysolution-io-ts-list-types": "link:bazel-bin/packages/kbn-securitysolution-io-ts-list-types", - "@kbn/securitysolution-io-ts-types": "link:bazel-bin/packages/kbn-securitysolution-io-ts-types", - "@kbn/securitysolution-io-ts-utils": "link:bazel-bin/packages/kbn-securitysolution-io-ts-utils", - "@kbn/securitysolution-list-api": "link:bazel-bin/packages/kbn-securitysolution-list-api", - "@kbn/securitysolution-list-constants": "link:bazel-bin/packages/kbn-securitysolution-list-constants", - "@kbn/securitysolution-list-hooks": "link:bazel-bin/packages/kbn-securitysolution-list-hooks", - "@kbn/securitysolution-list-utils": "link:bazel-bin/packages/kbn-securitysolution-list-utils", - "@kbn/securitysolution-rules": "link:bazel-bin/packages/kbn-securitysolution-rules", - "@kbn/securitysolution-t-grid": "link:bazel-bin/packages/kbn-securitysolution-t-grid", - "@kbn/securitysolution-utils": "link:bazel-bin/packages/kbn-securitysolution-utils", - "@kbn/server-http-tools": "link:bazel-bin/packages/kbn-server-http-tools", - "@kbn/server-route-repository": "link:bazel-bin/packages/kbn-server-route-repository", - "@kbn/shared-svg": "link:bazel-bin/packages/kbn-shared-svg", - "@kbn/shared-ux-avatar-solution": "link:bazel-bin/packages/shared-ux/avatar/solution", - "@kbn/shared-ux-avatar-user-profile-components": "link:bazel-bin/packages/shared-ux/avatar/user_profile/impl", - "@kbn/shared-ux-button-exit-full-screen": "link:bazel-bin/packages/shared-ux/button/exit_full_screen/impl", - "@kbn/shared-ux-button-exit-full-screen-mocks": "link:bazel-bin/packages/shared-ux/button/exit_full_screen/mocks", - "@kbn/shared-ux-button-exit-full-screen-types": "link:bazel-bin/packages/shared-ux/button/exit_full_screen/types", - "@kbn/shared-ux-button-toolbar": "link:bazel-bin/packages/shared-ux/button_toolbar", - "@kbn/shared-ux-card-no-data": "link:bazel-bin/packages/shared-ux/card/no_data/impl", - "@kbn/shared-ux-card-no-data-mocks": "link:bazel-bin/packages/shared-ux/card/no_data/mocks", - "@kbn/shared-ux-card-no-data-types": "link:bazel-bin/packages/shared-ux/card/no_data/types", - "@kbn/shared-ux-file-context": "link:bazel-bin/packages/shared-ux/file/context", - "@kbn/shared-ux-file-image": "link:bazel-bin/packages/shared-ux/file/image/impl", - "@kbn/shared-ux-file-image-mocks": "link:bazel-bin/packages/shared-ux/file/image/mocks", - "@kbn/shared-ux-file-mocks": "link:bazel-bin/packages/shared-ux/file/mocks", - "@kbn/shared-ux-file-picker": "link:bazel-bin/packages/shared-ux/file/file_picker/impl", - "@kbn/shared-ux-file-types": "link:bazel-bin/packages/shared-ux/file/types", - "@kbn/shared-ux-file-upload": "link:bazel-bin/packages/shared-ux/file/file_upload/impl", - "@kbn/shared-ux-file-util": "link:bazel-bin/packages/shared-ux/file/util", - "@kbn/shared-ux-link-redirect-app": "link:bazel-bin/packages/shared-ux/link/redirect_app/impl", - "@kbn/shared-ux-link-redirect-app-mocks": "link:bazel-bin/packages/shared-ux/link/redirect_app/mocks", - "@kbn/shared-ux-link-redirect-app-types": "link:bazel-bin/packages/shared-ux/link/redirect_app/types", - "@kbn/shared-ux-markdown": "link:bazel-bin/packages/shared-ux/markdown/impl", - "@kbn/shared-ux-markdown-mocks": "link:bazel-bin/packages/shared-ux/markdown/mocks", - "@kbn/shared-ux-markdown-types": "link:bazel-bin/packages/shared-ux/markdown/types", - "@kbn/shared-ux-page-analytics-no-data": "link:bazel-bin/packages/shared-ux/page/analytics_no_data/impl", - "@kbn/shared-ux-page-analytics-no-data-mocks": "link:bazel-bin/packages/shared-ux/page/analytics_no_data/mocks", - "@kbn/shared-ux-page-analytics-no-data-types": "link:bazel-bin/packages/shared-ux/page/analytics_no_data/types", - "@kbn/shared-ux-page-kibana-no-data": "link:bazel-bin/packages/shared-ux/page/kibana_no_data/impl", - "@kbn/shared-ux-page-kibana-no-data-mocks": "link:bazel-bin/packages/shared-ux/page/kibana_no_data/mocks", - "@kbn/shared-ux-page-kibana-no-data-types": "link:bazel-bin/packages/shared-ux/page/kibana_no_data/types", - "@kbn/shared-ux-page-kibana-template": "link:bazel-bin/packages/shared-ux/page/kibana_template/impl", - "@kbn/shared-ux-page-kibana-template-mocks": "link:bazel-bin/packages/shared-ux/page/kibana_template/mocks", - "@kbn/shared-ux-page-kibana-template-types": "link:bazel-bin/packages/shared-ux/page/kibana_template/types", - "@kbn/shared-ux-page-no-data": "link:bazel-bin/packages/shared-ux/page/no_data/impl", - "@kbn/shared-ux-page-no-data-config": "link:bazel-bin/packages/shared-ux/page/no_data_config/impl", - "@kbn/shared-ux-page-no-data-config-mocks": "link:bazel-bin/packages/shared-ux/page/no_data_config/mocks", - "@kbn/shared-ux-page-no-data-config-types": "link:bazel-bin/packages/shared-ux/page/no_data_config/types", - "@kbn/shared-ux-page-no-data-mocks": "link:bazel-bin/packages/shared-ux/page/no_data/mocks", - "@kbn/shared-ux-page-no-data-types": "link:bazel-bin/packages/shared-ux/page/no_data/types", - "@kbn/shared-ux-page-solution-nav": "link:bazel-bin/packages/shared-ux/page/solution_nav", - "@kbn/shared-ux-prompt-no-data-views": "link:bazel-bin/packages/shared-ux/prompt/no_data_views/impl", - "@kbn/shared-ux-prompt-no-data-views-mocks": "link:bazel-bin/packages/shared-ux/prompt/no_data_views/mocks", - "@kbn/shared-ux-prompt-no-data-views-types": "link:bazel-bin/packages/shared-ux/prompt/no_data_views/types", - "@kbn/shared-ux-prompt-not-found": "link:bazel-bin/packages/shared-ux/prompt/not_found", - "@kbn/shared-ux-router-mocks": "link:bazel-bin/packages/shared-ux/router/mocks", - "@kbn/shared-ux-services": "link:bazel-bin/packages/kbn-shared-ux-services", - "@kbn/shared-ux-storybook": "link:bazel-bin/packages/kbn-shared-ux-storybook", - "@kbn/shared-ux-storybook-mock": "link:bazel-bin/packages/shared-ux/storybook/mock", - "@kbn/shared-ux-utility": "link:bazel-bin/packages/kbn-shared-ux-utility", - "@kbn/std": "link:bazel-bin/packages/kbn-std", - "@kbn/timelion-grammar": "link:bazel-bin/packages/kbn-timelion-grammar", - "@kbn/tinymath": "link:bazel-bin/packages/kbn-tinymath", - "@kbn/typed-react-router-config": "link:bazel-bin/packages/kbn-typed-react-router-config", - "@kbn/ui-framework": "link:bazel-bin/packages/kbn-ui-framework", - "@kbn/ui-shared-deps-npm": "link:bazel-bin/packages/kbn-ui-shared-deps-npm", - "@kbn/ui-shared-deps-src": "link:bazel-bin/packages/kbn-ui-shared-deps-src", - "@kbn/ui-theme": "link:bazel-bin/packages/kbn-ui-theme", - "@kbn/user-profile-components": "link:bazel-bin/packages/kbn-user-profile-components", - "@kbn/utility-types": "link:bazel-bin/packages/kbn-utility-types", - "@kbn/utility-types-jest": "link:bazel-bin/packages/kbn-utility-types-jest", - "@kbn/utils": "link:bazel-bin/packages/kbn-utils", + "@kbn/core-analytics-browser": "link:packages/core/analytics/core-analytics-browser", + "@kbn/core-analytics-browser-internal": "link:packages/core/analytics/core-analytics-browser-internal", + "@kbn/core-analytics-browser-mocks": "link:packages/core/analytics/core-analytics-browser-mocks", + "@kbn/core-analytics-server": "link:packages/core/analytics/core-analytics-server", + "@kbn/core-analytics-server-internal": "link:packages/core/analytics/core-analytics-server-internal", + "@kbn/core-analytics-server-mocks": "link:packages/core/analytics/core-analytics-server-mocks", + "@kbn/core-application-browser": "link:packages/core/application/core-application-browser", + "@kbn/core-application-browser-internal": "link:packages/core/application/core-application-browser-internal", + "@kbn/core-application-browser-mocks": "link:packages/core/application/core-application-browser-mocks", + "@kbn/core-application-common": "link:packages/core/application/core-application-common", + "@kbn/core-apps-browser-internal": "link:packages/core/apps/core-apps-browser-internal", + "@kbn/core-apps-browser-mocks": "link:packages/core/apps/core-apps-browser-mocks", + "@kbn/core-apps-server-internal": "link:packages/core/apps/core-apps-server-internal", + "@kbn/core-base-browser-internal": "link:packages/core/base/core-base-browser-internal", + "@kbn/core-base-browser-mocks": "link:packages/core/base/core-base-browser-mocks", + "@kbn/core-base-common": "link:packages/core/base/core-base-common", + "@kbn/core-base-common-internal": "link:packages/core/base/core-base-common-internal", + "@kbn/core-base-server-internal": "link:packages/core/base/core-base-server-internal", + "@kbn/core-base-server-mocks": "link:packages/core/base/core-base-server-mocks", + "@kbn/core-capabilities-browser-internal": "link:packages/core/capabilities/core-capabilities-browser-internal", + "@kbn/core-capabilities-browser-mocks": "link:packages/core/capabilities/core-capabilities-browser-mocks", + "@kbn/core-capabilities-common": "link:packages/core/capabilities/core-capabilities-common", + "@kbn/core-capabilities-server": "link:packages/core/capabilities/core-capabilities-server", + "@kbn/core-capabilities-server-internal": "link:packages/core/capabilities/core-capabilities-server-internal", + "@kbn/core-capabilities-server-mocks": "link:packages/core/capabilities/core-capabilities-server-mocks", + "@kbn/core-chrome-browser": "link:packages/core/chrome/core-chrome-browser", + "@kbn/core-chrome-browser-internal": "link:packages/core/chrome/core-chrome-browser-internal", + "@kbn/core-chrome-browser-mocks": "link:packages/core/chrome/core-chrome-browser-mocks", + "@kbn/core-config-server-internal": "link:packages/core/config/core-config-server-internal", + "@kbn/core-config-server-mocks": "link:packages/core/config/core-config-server-mocks", + "@kbn/core-deprecations-browser": "link:packages/core/deprecations/core-deprecations-browser", + "@kbn/core-deprecations-browser-internal": "link:packages/core/deprecations/core-deprecations-browser-internal", + "@kbn/core-deprecations-browser-mocks": "link:packages/core/deprecations/core-deprecations-browser-mocks", + "@kbn/core-deprecations-common": "link:packages/core/deprecations/core-deprecations-common", + "@kbn/core-deprecations-server": "link:packages/core/deprecations/core-deprecations-server", + "@kbn/core-deprecations-server-internal": "link:packages/core/deprecations/core-deprecations-server-internal", + "@kbn/core-deprecations-server-mocks": "link:packages/core/deprecations/core-deprecations-server-mocks", + "@kbn/core-doc-links-browser": "link:packages/core/doc-links/core-doc-links-browser", + "@kbn/core-doc-links-browser-internal": "link:packages/core/doc-links/core-doc-links-browser-internal", + "@kbn/core-doc-links-browser-mocks": "link:packages/core/doc-links/core-doc-links-browser-mocks", + "@kbn/core-doc-links-server": "link:packages/core/doc-links/core-doc-links-server", + "@kbn/core-doc-links-server-internal": "link:packages/core/doc-links/core-doc-links-server-internal", + "@kbn/core-doc-links-server-mocks": "link:packages/core/doc-links/core-doc-links-server-mocks", + "@kbn/core-elasticsearch-client-server": "link:packages/core/elasticsearch/core-elasticsearch-client-server", + "@kbn/core-elasticsearch-client-server-internal": "link:packages/core/elasticsearch/core-elasticsearch-client-server-internal", + "@kbn/core-elasticsearch-client-server-mocks": "link:packages/core/elasticsearch/core-elasticsearch-client-server-mocks", + "@kbn/core-elasticsearch-server": "link:packages/core/elasticsearch/core-elasticsearch-server", + "@kbn/core-elasticsearch-server-internal": "link:packages/core/elasticsearch/core-elasticsearch-server-internal", + "@kbn/core-elasticsearch-server-mocks": "link:packages/core/elasticsearch/core-elasticsearch-server-mocks", + "@kbn/core-environment-server-internal": "link:packages/core/environment/core-environment-server-internal", + "@kbn/core-environment-server-mocks": "link:packages/core/environment/core-environment-server-mocks", + "@kbn/core-execution-context-browser": "link:packages/core/execution-context/core-execution-context-browser", + "@kbn/core-execution-context-browser-internal": "link:packages/core/execution-context/core-execution-context-browser-internal", + "@kbn/core-execution-context-browser-mocks": "link:packages/core/execution-context/core-execution-context-browser-mocks", + "@kbn/core-execution-context-common": "link:packages/core/execution-context/core-execution-context-common", + "@kbn/core-execution-context-server": "link:packages/core/execution-context/core-execution-context-server", + "@kbn/core-execution-context-server-internal": "link:packages/core/execution-context/core-execution-context-server-internal", + "@kbn/core-execution-context-server-mocks": "link:packages/core/execution-context/core-execution-context-server-mocks", + "@kbn/core-fatal-errors-browser": "link:packages/core/fatal-errors/core-fatal-errors-browser", + "@kbn/core-fatal-errors-browser-internal": "link:packages/core/fatal-errors/core-fatal-errors-browser-internal", + "@kbn/core-fatal-errors-browser-mocks": "link:packages/core/fatal-errors/core-fatal-errors-browser-mocks", + "@kbn/core-http-browser": "link:packages/core/http/core-http-browser", + "@kbn/core-http-browser-internal": "link:packages/core/http/core-http-browser-internal", + "@kbn/core-http-browser-mocks": "link:packages/core/http/core-http-browser-mocks", + "@kbn/core-http-common": "link:packages/core/http/core-http-common", + "@kbn/core-http-context-server-internal": "link:packages/core/http/core-http-context-server-internal", + "@kbn/core-http-context-server-mocks": "link:packages/core/http/core-http-context-server-mocks", + "@kbn/core-http-request-handler-context-server": "link:packages/core/http/core-http-request-handler-context-server", + "@kbn/core-http-request-handler-context-server-internal": "link:packages/core/http/core-http-request-handler-context-server-internal", + "@kbn/core-http-resources-server": "link:packages/core/http/core-http-resources-server", + "@kbn/core-http-resources-server-internal": "link:packages/core/http/core-http-resources-server-internal", + "@kbn/core-http-resources-server-mocks": "link:packages/core/http/core-http-resources-server-mocks", + "@kbn/core-http-router-server-internal": "link:packages/core/http/core-http-router-server-internal", + "@kbn/core-http-router-server-mocks": "link:packages/core/http/core-http-router-server-mocks", + "@kbn/core-http-server": "link:packages/core/http/core-http-server", + "@kbn/core-http-server-internal": "link:packages/core/http/core-http-server-internal", + "@kbn/core-http-server-mocks": "link:packages/core/http/core-http-server-mocks", + "@kbn/core-i18n-browser": "link:packages/core/i18n/core-i18n-browser", + "@kbn/core-i18n-browser-internal": "link:packages/core/i18n/core-i18n-browser-internal", + "@kbn/core-i18n-browser-mocks": "link:packages/core/i18n/core-i18n-browser-mocks", + "@kbn/core-i18n-server": "link:packages/core/i18n/core-i18n-server", + "@kbn/core-i18n-server-internal": "link:packages/core/i18n/core-i18n-server-internal", + "@kbn/core-i18n-server-mocks": "link:packages/core/i18n/core-i18n-server-mocks", + "@kbn/core-injected-metadata-browser-internal": "link:packages/core/injected-metadata/core-injected-metadata-browser-internal", + "@kbn/core-injected-metadata-browser-mocks": "link:packages/core/injected-metadata/core-injected-metadata-browser-mocks", + "@kbn/core-injected-metadata-common-internal": "link:packages/core/injected-metadata/core-injected-metadata-common-internal", + "@kbn/core-integrations-browser-internal": "link:packages/core/integrations/core-integrations-browser-internal", + "@kbn/core-integrations-browser-mocks": "link:packages/core/integrations/core-integrations-browser-mocks", + "@kbn/core-lifecycle-browser": "link:packages/core/lifecycle/core-lifecycle-browser", + "@kbn/core-lifecycle-browser-internal": "link:packages/core/lifecycle/core-lifecycle-browser-internal", + "@kbn/core-lifecycle-browser-mocks": "link:packages/core/lifecycle/core-lifecycle-browser-mocks", + "@kbn/core-lifecycle-server": "link:packages/core/lifecycle/core-lifecycle-server", + "@kbn/core-lifecycle-server-internal": "link:packages/core/lifecycle/core-lifecycle-server-internal", + "@kbn/core-lifecycle-server-mocks": "link:packages/core/lifecycle/core-lifecycle-server-mocks", + "@kbn/core-logging-browser-internal": "link:packages/core/logging/core-logging-browser-internal", + "@kbn/core-logging-browser-mocks": "link:packages/core/logging/core-logging-browser-mocks", + "@kbn/core-logging-common-internal": "link:packages/core/logging/core-logging-common-internal", + "@kbn/core-logging-server": "link:packages/core/logging/core-logging-server", + "@kbn/core-logging-server-internal": "link:packages/core/logging/core-logging-server-internal", + "@kbn/core-logging-server-mocks": "link:packages/core/logging/core-logging-server-mocks", + "@kbn/core-metrics-collectors-server-internal": "link:packages/core/metrics/core-metrics-collectors-server-internal", + "@kbn/core-metrics-collectors-server-mocks": "link:packages/core/metrics/core-metrics-collectors-server-mocks", + "@kbn/core-metrics-server": "link:packages/core/metrics/core-metrics-server", + "@kbn/core-metrics-server-internal": "link:packages/core/metrics/core-metrics-server-internal", + "@kbn/core-metrics-server-mocks": "link:packages/core/metrics/core-metrics-server-mocks", + "@kbn/core-mount-utils-browser": "link:packages/core/mount-utils/core-mount-utils-browser", + "@kbn/core-mount-utils-browser-internal": "link:packages/core/mount-utils/core-mount-utils-browser-internal", + "@kbn/core-node-server": "link:packages/core/node/core-node-server", + "@kbn/core-node-server-internal": "link:packages/core/node/core-node-server-internal", + "@kbn/core-node-server-mocks": "link:packages/core/node/core-node-server-mocks", + "@kbn/core-notifications-browser": "link:packages/core/notifications/core-notifications-browser", + "@kbn/core-notifications-browser-internal": "link:packages/core/notifications/core-notifications-browser-internal", + "@kbn/core-notifications-browser-mocks": "link:packages/core/notifications/core-notifications-browser-mocks", + "@kbn/core-overlays-browser": "link:packages/core/overlays/core-overlays-browser", + "@kbn/core-overlays-browser-internal": "link:packages/core/overlays/core-overlays-browser-internal", + "@kbn/core-overlays-browser-mocks": "link:packages/core/overlays/core-overlays-browser-mocks", + "@kbn/core-plugins-base-server-internal": "link:packages/core/plugins/core-plugins-base-server-internal", + "@kbn/core-plugins-browser": "link:packages/core/plugins/core-plugins-browser", + "@kbn/core-plugins-browser-internal": "link:packages/core/plugins/core-plugins-browser-internal", + "@kbn/core-plugins-browser-mocks": "link:packages/core/plugins/core-plugins-browser-mocks", + "@kbn/core-plugins-server": "link:packages/core/plugins/core-plugins-server", + "@kbn/core-plugins-server-internal": "link:packages/core/plugins/core-plugins-server-internal", + "@kbn/core-plugins-server-mocks": "link:packages/core/plugins/core-plugins-server-mocks", + "@kbn/core-preboot-server": "link:packages/core/preboot/core-preboot-server", + "@kbn/core-preboot-server-internal": "link:packages/core/preboot/core-preboot-server-internal", + "@kbn/core-preboot-server-mocks": "link:packages/core/preboot/core-preboot-server-mocks", + "@kbn/core-rendering-browser-internal": "link:packages/core/rendering/core-rendering-browser-internal", + "@kbn/core-rendering-browser-mocks": "link:packages/core/rendering/core-rendering-browser-mocks", + "@kbn/core-rendering-server-internal": "link:packages/core/rendering/core-rendering-server-internal", + "@kbn/core-rendering-server-mocks": "link:packages/core/rendering/core-rendering-server-mocks", + "@kbn/core-root-browser-internal": "link:packages/core/root/core-root-browser-internal", + "@kbn/core-root-server-internal": "link:packages/core/root/core-root-server-internal", + "@kbn/core-saved-objects-api-browser": "link:packages/core/saved-objects/core-saved-objects-api-browser", + "@kbn/core-saved-objects-api-server": "link:packages/core/saved-objects/core-saved-objects-api-server", + "@kbn/core-saved-objects-api-server-internal": "link:packages/core/saved-objects/core-saved-objects-api-server-internal", + "@kbn/core-saved-objects-api-server-mocks": "link:packages/core/saved-objects/core-saved-objects-api-server-mocks", + "@kbn/core-saved-objects-base-server-internal": "link:packages/core/saved-objects/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-base-server-mocks": "link:packages/core/saved-objects/core-saved-objects-base-server-mocks", + "@kbn/core-saved-objects-browser": "link:packages/core/saved-objects/core-saved-objects-browser", + "@kbn/core-saved-objects-browser-internal": "link:packages/core/saved-objects/core-saved-objects-browser-internal", + "@kbn/core-saved-objects-browser-mocks": "link:packages/core/saved-objects/core-saved-objects-browser-mocks", + "@kbn/core-saved-objects-common": "link:packages/core/saved-objects/core-saved-objects-common", + "@kbn/core-saved-objects-import-export-server-internal": "link:packages/core/saved-objects/core-saved-objects-import-export-server-internal", + "@kbn/core-saved-objects-import-export-server-mocks": "link:packages/core/saved-objects/core-saved-objects-import-export-server-mocks", + "@kbn/core-saved-objects-migration-server-internal": "link:packages/core/saved-objects/core-saved-objects-migration-server-internal", + "@kbn/core-saved-objects-migration-server-mocks": "link:packages/core/saved-objects/core-saved-objects-migration-server-mocks", + "@kbn/core-saved-objects-server": "link:packages/core/saved-objects/core-saved-objects-server", + "@kbn/core-saved-objects-server-internal": "link:packages/core/saved-objects/core-saved-objects-server-internal", + "@kbn/core-saved-objects-server-mocks": "link:packages/core/saved-objects/core-saved-objects-server-mocks", + "@kbn/core-saved-objects-utils-server": "link:packages/core/saved-objects/core-saved-objects-utils-server", + "@kbn/core-status-common": "link:packages/core/status/core-status-common", + "@kbn/core-status-common-internal": "link:packages/core/status/core-status-common-internal", + "@kbn/core-status-server": "link:packages/core/status/core-status-server", + "@kbn/core-status-server-internal": "link:packages/core/status/core-status-server-internal", + "@kbn/core-status-server-mocks": "link:packages/core/status/core-status-server-mocks", + "@kbn/core-test-helpers-deprecations-getters": "link:packages/core/test-helpers/core-test-helpers-deprecations-getters", + "@kbn/core-test-helpers-http-setup-browser": "link:packages/core/test-helpers/core-test-helpers-http-setup-browser", + "@kbn/core-test-helpers-so-type-serializer": "link:packages/core/test-helpers/core-test-helpers-so-type-serializer", + "@kbn/core-test-helpers-test-utils": "link:packages/core/test-helpers/core-test-helpers-test-utils", + "@kbn/core-theme-browser": "link:packages/core/theme/core-theme-browser", + "@kbn/core-theme-browser-internal": "link:packages/core/theme/core-theme-browser-internal", + "@kbn/core-theme-browser-mocks": "link:packages/core/theme/core-theme-browser-mocks", + "@kbn/core-ui-settings-browser": "link:packages/core/ui-settings/core-ui-settings-browser", + "@kbn/core-ui-settings-browser-internal": "link:packages/core/ui-settings/core-ui-settings-browser-internal", + "@kbn/core-ui-settings-browser-mocks": "link:packages/core/ui-settings/core-ui-settings-browser-mocks", + "@kbn/core-ui-settings-common": "link:packages/core/ui-settings/core-ui-settings-common", + "@kbn/core-ui-settings-server": "link:packages/core/ui-settings/core-ui-settings-server", + "@kbn/core-ui-settings-server-internal": "link:packages/core/ui-settings/core-ui-settings-server-internal", + "@kbn/core-ui-settings-server-mocks": "link:packages/core/ui-settings/core-ui-settings-server-mocks", + "@kbn/core-usage-data-base-server-internal": "link:packages/core/usage-data/core-usage-data-base-server-internal", + "@kbn/core-usage-data-server": "link:packages/core/usage-data/core-usage-data-server", + "@kbn/core-usage-data-server-internal": "link:packages/core/usage-data/core-usage-data-server-internal", + "@kbn/core-usage-data-server-mocks": "link:packages/core/usage-data/core-usage-data-server-mocks", + "@kbn/crypto": "link:packages/kbn-crypto", + "@kbn/crypto-browser": "link:packages/kbn-crypto-browser", + "@kbn/datemath": "link:packages/kbn-datemath", + "@kbn/doc-links": "link:packages/kbn-doc-links", + "@kbn/ebt-tools": "link:packages/kbn-ebt-tools", + "@kbn/ecs": "link:packages/kbn-ecs", + "@kbn/es-errors": "link:packages/kbn-es-errors", + "@kbn/es-query": "link:packages/kbn-es-query", + "@kbn/es-types": "link:packages/kbn-es-types", + "@kbn/field-types": "link:packages/kbn-field-types", + "@kbn/flot-charts": "link:packages/kbn-flot-charts", + "@kbn/guided-onboarding": "link:packages/kbn-guided-onboarding", + "@kbn/handlebars": "link:packages/kbn-handlebars", + "@kbn/hapi-mocks": "link:packages/kbn-hapi-mocks", + "@kbn/health-gateway-server": "link:packages/kbn-health-gateway-server", + "@kbn/home-sample-data-card": "link:packages/home/sample_data_card", + "@kbn/home-sample-data-tab": "link:packages/home/sample_data_tab", + "@kbn/home-sample-data-types": "link:packages/home/sample_data_types", + "@kbn/i18n": "link:packages/kbn-i18n", + "@kbn/i18n-react": "link:packages/kbn-i18n-react", + "@kbn/interpreter": "link:packages/kbn-interpreter", + "@kbn/io-ts-utils": "link:packages/kbn-io-ts-utils", + "@kbn/language-documentation-popover": "link:packages/kbn-language-documentation-popover", + "@kbn/logging": "link:packages/kbn-logging", + "@kbn/logging-mocks": "link:packages/kbn-logging-mocks", + "@kbn/mapbox-gl": "link:packages/kbn-mapbox-gl", + "@kbn/ml-agg-utils": "link:x-pack/packages/ml/agg_utils", + "@kbn/ml-is-defined": "link:x-pack/packages/ml/is_defined", + "@kbn/ml-is-populated-object": "link:x-pack/packages/ml/is_populated_object", + "@kbn/ml-local-storage": "link:x-pack/packages/ml/local_storage", + "@kbn/ml-nested-property": "link:x-pack/packages/ml/nested_property", + "@kbn/ml-string-hash": "link:x-pack/packages/ml/string_hash", + "@kbn/ml-url-state": "link:x-pack/packages/ml/url_state", + "@kbn/monaco": "link:packages/kbn-monaco", + "@kbn/osquery-io-ts-types": "link:packages/kbn-osquery-io-ts-types", + "@kbn/plugin-discovery": "link:packages/kbn-plugin-discovery", + "@kbn/react-field": "link:packages/kbn-react-field", + "@kbn/repo-info": "link:packages/kbn-repo-info", + "@kbn/rison": "link:packages/kbn-rison", + "@kbn/rule-data-utils": "link:packages/kbn-rule-data-utils", + "@kbn/safer-lodash-set": "link:packages/kbn-safer-lodash-set", + "@kbn/securitysolution-autocomplete": "link:packages/kbn-securitysolution-autocomplete", + "@kbn/securitysolution-es-utils": "link:packages/kbn-securitysolution-es-utils", + "@kbn/securitysolution-exception-list-components": "link:packages/kbn-securitysolution-exception-list-components", + "@kbn/securitysolution-hook-utils": "link:packages/kbn-securitysolution-hook-utils", + "@kbn/securitysolution-io-ts-alerting-types": "link:packages/kbn-securitysolution-io-ts-alerting-types", + "@kbn/securitysolution-io-ts-list-types": "link:packages/kbn-securitysolution-io-ts-list-types", + "@kbn/securitysolution-io-ts-types": "link:packages/kbn-securitysolution-io-ts-types", + "@kbn/securitysolution-io-ts-utils": "link:packages/kbn-securitysolution-io-ts-utils", + "@kbn/securitysolution-list-api": "link:packages/kbn-securitysolution-list-api", + "@kbn/securitysolution-list-constants": "link:packages/kbn-securitysolution-list-constants", + "@kbn/securitysolution-list-hooks": "link:packages/kbn-securitysolution-list-hooks", + "@kbn/securitysolution-list-utils": "link:packages/kbn-securitysolution-list-utils", + "@kbn/securitysolution-rules": "link:packages/kbn-securitysolution-rules", + "@kbn/securitysolution-t-grid": "link:packages/kbn-securitysolution-t-grid", + "@kbn/securitysolution-utils": "link:packages/kbn-securitysolution-utils", + "@kbn/server-http-tools": "link:packages/kbn-server-http-tools", + "@kbn/server-route-repository": "link:packages/kbn-server-route-repository", + "@kbn/shared-svg": "link:packages/kbn-shared-svg", + "@kbn/shared-ux-avatar-solution": "link:packages/shared-ux/avatar/solution", + "@kbn/shared-ux-avatar-user-profile-components": "link:packages/shared-ux/avatar/user_profile/impl", + "@kbn/shared-ux-button-exit-full-screen": "link:packages/shared-ux/button/exit_full_screen/impl", + "@kbn/shared-ux-button-exit-full-screen-mocks": "link:packages/shared-ux/button/exit_full_screen/mocks", + "@kbn/shared-ux-button-exit-full-screen-types": "link:packages/shared-ux/button/exit_full_screen/types", + "@kbn/shared-ux-button-toolbar": "link:packages/shared-ux/button_toolbar", + "@kbn/shared-ux-card-no-data": "link:packages/shared-ux/card/no_data/impl", + "@kbn/shared-ux-card-no-data-mocks": "link:packages/shared-ux/card/no_data/mocks", + "@kbn/shared-ux-card-no-data-types": "link:packages/shared-ux/card/no_data/types", + "@kbn/shared-ux-file-context": "link:packages/shared-ux/file/context", + "@kbn/shared-ux-file-image": "link:packages/shared-ux/file/image/impl", + "@kbn/shared-ux-file-image-mocks": "link:packages/shared-ux/file/image/mocks", + "@kbn/shared-ux-file-mocks": "link:packages/shared-ux/file/mocks", + "@kbn/shared-ux-file-picker": "link:packages/shared-ux/file/file_picker/impl", + "@kbn/shared-ux-file-types": "link:packages/shared-ux/file/types", + "@kbn/shared-ux-file-upload": "link:packages/shared-ux/file/file_upload/impl", + "@kbn/shared-ux-file-util": "link:packages/shared-ux/file/util", + "@kbn/shared-ux-link-redirect-app": "link:packages/shared-ux/link/redirect_app/impl", + "@kbn/shared-ux-link-redirect-app-mocks": "link:packages/shared-ux/link/redirect_app/mocks", + "@kbn/shared-ux-link-redirect-app-types": "link:packages/shared-ux/link/redirect_app/types", + "@kbn/shared-ux-markdown": "link:packages/shared-ux/markdown/impl", + "@kbn/shared-ux-markdown-mocks": "link:packages/shared-ux/markdown/mocks", + "@kbn/shared-ux-markdown-types": "link:packages/shared-ux/markdown/types", + "@kbn/shared-ux-page-analytics-no-data": "link:packages/shared-ux/page/analytics_no_data/impl", + "@kbn/shared-ux-page-analytics-no-data-mocks": "link:packages/shared-ux/page/analytics_no_data/mocks", + "@kbn/shared-ux-page-analytics-no-data-types": "link:packages/shared-ux/page/analytics_no_data/types", + "@kbn/shared-ux-page-kibana-no-data": "link:packages/shared-ux/page/kibana_no_data/impl", + "@kbn/shared-ux-page-kibana-no-data-mocks": "link:packages/shared-ux/page/kibana_no_data/mocks", + "@kbn/shared-ux-page-kibana-no-data-types": "link:packages/shared-ux/page/kibana_no_data/types", + "@kbn/shared-ux-page-kibana-template": "link:packages/shared-ux/page/kibana_template/impl", + "@kbn/shared-ux-page-kibana-template-mocks": "link:packages/shared-ux/page/kibana_template/mocks", + "@kbn/shared-ux-page-kibana-template-types": "link:packages/shared-ux/page/kibana_template/types", + "@kbn/shared-ux-page-no-data": "link:packages/shared-ux/page/no_data/impl", + "@kbn/shared-ux-page-no-data-config": "link:packages/shared-ux/page/no_data_config/impl", + "@kbn/shared-ux-page-no-data-config-mocks": "link:packages/shared-ux/page/no_data_config/mocks", + "@kbn/shared-ux-page-no-data-config-types": "link:packages/shared-ux/page/no_data_config/types", + "@kbn/shared-ux-page-no-data-mocks": "link:packages/shared-ux/page/no_data/mocks", + "@kbn/shared-ux-page-no-data-types": "link:packages/shared-ux/page/no_data/types", + "@kbn/shared-ux-page-solution-nav": "link:packages/shared-ux/page/solution_nav", + "@kbn/shared-ux-prompt-no-data-views": "link:packages/shared-ux/prompt/no_data_views/impl", + "@kbn/shared-ux-prompt-no-data-views-mocks": "link:packages/shared-ux/prompt/no_data_views/mocks", + "@kbn/shared-ux-prompt-no-data-views-types": "link:packages/shared-ux/prompt/no_data_views/types", + "@kbn/shared-ux-prompt-not-found": "link:packages/shared-ux/prompt/not_found", + "@kbn/shared-ux-router-mocks": "link:packages/shared-ux/router/mocks", + "@kbn/shared-ux-services": "link:packages/kbn-shared-ux-services", + "@kbn/shared-ux-storybook": "link:packages/kbn-shared-ux-storybook", + "@kbn/shared-ux-storybook-mock": "link:packages/shared-ux/storybook/mock", + "@kbn/shared-ux-utility": "link:packages/kbn-shared-ux-utility", + "@kbn/slo-schema": "link:packages/kbn-slo-schema", + "@kbn/std": "link:packages/kbn-std", + "@kbn/timelion-grammar": "link:packages/kbn-timelion-grammar", + "@kbn/tinymath": "link:packages/kbn-tinymath", + "@kbn/typed-react-router-config": "link:packages/kbn-typed-react-router-config", + "@kbn/ui-framework": "link:packages/kbn-ui-framework", + "@kbn/ui-shared-deps-npm": "link:packages/kbn-ui-shared-deps-npm", + "@kbn/ui-shared-deps-src": "link:packages/kbn-ui-shared-deps-src", + "@kbn/ui-theme": "link:packages/kbn-ui-theme", + "@kbn/user-profile-components": "link:packages/kbn-user-profile-components", + "@kbn/utility-types": "link:packages/kbn-utility-types", + "@kbn/utility-types-jest": "link:packages/kbn-utility-types-jest", + "@kbn/utils": "link:packages/kbn-utils", "@loaders.gl/core": "^2.3.1", "@loaders.gl/json": "^2.3.1", "@loaders.gl/shapefile": "^2.3.1", @@ -452,8 +459,8 @@ "@opentelemetry/semantic-conventions": "^1.4.0", "@reduxjs/toolkit": "1.7.2", "@slack/webhook": "^5.0.4", - "@tanstack/react-query": "^4.20.2", - "@tanstack/react-query-devtools": "^4.20.2", + "@tanstack/react-query": "^4.20.4", + "@tanstack/react-query-devtools": "^4.20.4", "@turf/along": "6.0.1", "@turf/area": "6.0.1", "@turf/bbox": "6.0.1", @@ -464,8 +471,6 @@ "@turf/distance": "6.0.1", "@turf/helpers": "6.0.1", "@turf/length": "^6.0.2", - "@types/adm-zip": "^0.5.0", - "@types/byte-size": "^8.1.0", "@xstate/react": "^3.0.1", "JSONStream": "1.3.5", "abort-controller": "^3.0.0", @@ -491,7 +496,7 @@ "compare-versions": "3.5.1", "constate": "^3.3.2", "copy-to-clipboard": "^3.0.8", - "core-js": "^3.26.1", + "core-js": "^3.27.1", "cronstrue": "^1.51.0", "cuid": "^2.1.8", "cytoscape": "^3.10.0", @@ -616,7 +621,7 @@ "react-fast-compare": "^2.0.4", "react-focus-on": "^3.7.0", "react-grid-layout": "^1.3.4", - "react-hook-form": "^7.40.0", + "react-hook-form": "^7.41.3", "react-intl": "^2.8.0", "react-is": "^17.0.2", "react-markdown": "^6.0.3", @@ -689,33 +694,33 @@ "vinyl": "^2.2.0", "whatwg-fetch": "^3.0.0", "xml2js": "^0.4.22", - "xstate": "^4.35.0", + "xstate": "^4.35.1", "xterm": "^5.0.0", "yauzl": "^2.10.0", "yazl": "^2.5.1" }, "devDependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@babel/cli": "^7.19.3", - "@babel/core": "^7.20.5", + "@babel/cli": "^7.20.7", + "@babel/core": "^7.20.7", "@babel/eslint-parser": "^7.19.1", "@babel/eslint-plugin": "^7.19.1", - "@babel/generator": "^7.20.5", + "@babel/generator": "^7.20.7", "@babel/helper-plugin-utils": "^7.20.2", - "@babel/parser": "^7.20.5", + "@babel/parser": "^7.20.7", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-proposal-optional-chaining": "^7.20.7", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-transform-runtime": "^7.19.6", "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.18.6", "@babel/preset-typescript": "^7.18.6", "@babel/register": "^7.18.9", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7", "@bazel/ibazel": "^0.16.2", "@bazel/typescript": "4.6.2", "@cypress/code-coverage": "^3.10.0", @@ -723,7 +728,7 @@ "@cypress/webpack-preprocessor": "^5.12.2", "@elastic/eslint-plugin-eui": "0.0.2", "@elastic/makelogs": "^6.1.1", - "@elastic/synthetics": "^1.0.0-beta.23", + "@elastic/synthetics": "^1.0.0-beta.39", "@emotion/babel-preset-css-prop": "^11.10.0", "@emotion/jest": "^11.10.0", "@istanbuljs/nyc-config-typescript": "^1.0.2", @@ -732,104 +737,113 @@ "@jest/reporters": "^29.3.1", "@jest/transform": "^29.3.1", "@jest/types": "^29.3.1", - "@kbn/ambient-common-types": "link:bazel-bin/packages/kbn-ambient-common-types", - "@kbn/ambient-ftr-types": "link:bazel-bin/packages/kbn-ambient-ftr-types", - "@kbn/ambient-storybook-types": "link:bazel-bin/packages/kbn-ambient-storybook-types", - "@kbn/ambient-ui-types": "link:bazel-bin/packages/kbn-ambient-ui-types", - "@kbn/apm-synthtrace": "link:bazel-bin/packages/kbn-apm-synthtrace", - "@kbn/axe-config": "link:bazel-bin/packages/kbn-axe-config", - "@kbn/babel-plugin-synthetic-packages": "link:bazel-bin/packages/kbn-babel-plugin-synthetic-packages", - "@kbn/babel-preset": "link:bazel-bin/packages/kbn-babel-preset", - "@kbn/bazel-packages": "link:bazel-bin/packages/kbn-bazel-packages", - "@kbn/bazel-runner": "link:bazel-bin/packages/kbn-bazel-runner", - "@kbn/ci-stats-core": "link:bazel-bin/packages/kbn-ci-stats-core", - "@kbn/ci-stats-performance-metrics": "link:bazel-bin/packages/kbn-ci-stats-performance-metrics", - "@kbn/ci-stats-reporter": "link:bazel-bin/packages/kbn-ci-stats-reporter", - "@kbn/cli-dev-mode": "link:bazel-bin/packages/kbn-cli-dev-mode", - "@kbn/core-test-helpers-kbn-server": "link:bazel-bin/packages/core/test-helpers/core-test-helpers-kbn-server", - "@kbn/dev-cli-errors": "link:bazel-bin/packages/kbn-dev-cli-errors", - "@kbn/dev-cli-runner": "link:bazel-bin/packages/kbn-dev-cli-runner", - "@kbn/dev-proc-runner": "link:bazel-bin/packages/kbn-dev-proc-runner", - "@kbn/dev-utils": "link:bazel-bin/packages/kbn-dev-utils", - "@kbn/docs-utils": "link:bazel-bin/packages/kbn-docs-utils", - "@kbn/es": "link:bazel-bin/packages/kbn-es", - "@kbn/es-archiver": "link:bazel-bin/packages/kbn-es-archiver", - "@kbn/eslint-config": "link:bazel-bin/packages/kbn-eslint-config", - "@kbn/eslint-plugin-disable": "link:bazel-bin/packages/kbn-eslint-plugin-disable", - "@kbn/eslint-plugin-eslint": "link:bazel-bin/packages/kbn-eslint-plugin-eslint", - "@kbn/eslint-plugin-imports": "link:bazel-bin/packages/kbn-eslint-plugin-imports", - "@kbn/expect": "link:bazel-bin/packages/kbn-expect", - "@kbn/failed-test-reporter-cli": "link:bazel-bin/packages/kbn-failed-test-reporter-cli", - "@kbn/find-used-node-modules": "link:bazel-bin/packages/kbn-find-used-node-modules", - "@kbn/ftr-common-functional-services": "link:bazel-bin/packages/kbn-ftr-common-functional-services", - "@kbn/ftr-screenshot-filename": "link:bazel-bin/packages/kbn-ftr-screenshot-filename", - "@kbn/generate": "link:bazel-bin/packages/kbn-generate", - "@kbn/get-repo-files": "link:bazel-bin/packages/kbn-get-repo-files", - "@kbn/import-resolver": "link:bazel-bin/packages/kbn-import-resolver", - "@kbn/jest-serializers": "link:bazel-bin/packages/kbn-jest-serializers", - "@kbn/journeys": "link:bazel-bin/packages/kbn-journeys", - "@kbn/kibana-manifest-schema": "link:bazel-bin/packages/kbn-kibana-manifest-schema", - "@kbn/managed-vscode-config": "link:bazel-bin/packages/kbn-managed-vscode-config", - "@kbn/managed-vscode-config-cli": "link:bazel-bin/packages/kbn-managed-vscode-config-cli", - "@kbn/optimizer": "link:bazel-bin/packages/kbn-optimizer", - "@kbn/optimizer-webpack-helpers": "link:bazel-bin/packages/kbn-optimizer-webpack-helpers", - "@kbn/peggy": "link:bazel-bin/packages/kbn-peggy", - "@kbn/peggy-loader": "link:bazel-bin/packages/kbn-peggy-loader", - "@kbn/performance-testing-dataset-extractor": "link:bazel-bin/packages/kbn-performance-testing-dataset-extractor", - "@kbn/plugin-generator": "link:bazel-bin/packages/kbn-plugin-generator", - "@kbn/plugin-helpers": "link:bazel-bin/packages/kbn-plugin-helpers", - "@kbn/repo-source-classifier": "link:bazel-bin/packages/kbn-repo-source-classifier", - "@kbn/repo-source-classifier-cli": "link:bazel-bin/packages/kbn-repo-source-classifier-cli", - "@kbn/some-dev-log": "link:bazel-bin/packages/kbn-some-dev-log", - "@kbn/sort-package-json": "link:bazel-bin/packages/kbn-sort-package-json", - "@kbn/spec-to-console": "link:bazel-bin/packages/kbn-spec-to-console", - "@kbn/stdio-dev-helpers": "link:bazel-bin/packages/kbn-stdio-dev-helpers", - "@kbn/storybook": "link:bazel-bin/packages/kbn-storybook", - "@kbn/synthetic-package-map": "link:bazel-bin/packages/kbn-synthetic-package-map", - "@kbn/telemetry-tools": "link:bazel-bin/packages/kbn-telemetry-tools", - "@kbn/test": "link:bazel-bin/packages/kbn-test", - "@kbn/test-jest-helpers": "link:bazel-bin/packages/kbn-test-jest-helpers", - "@kbn/test-subj-selector": "link:bazel-bin/packages/kbn-test-subj-selector", - "@kbn/tooling-log": "link:bazel-bin/packages/kbn-tooling-log", - "@kbn/type-summarizer": "link:bazel-bin/packages/kbn-type-summarizer", - "@kbn/type-summarizer-cli": "link:bazel-bin/packages/kbn-type-summarizer-cli", - "@kbn/type-summarizer-core": "link:bazel-bin/packages/kbn-type-summarizer-core", - "@kbn/yarn-lock-validator": "link:bazel-bin/packages/kbn-yarn-lock-validator", + "@kbn/ambient-common-types": "link:packages/kbn-ambient-common-types", + "@kbn/ambient-ftr-types": "link:packages/kbn-ambient-ftr-types", + "@kbn/ambient-storybook-types": "link:packages/kbn-ambient-storybook-types", + "@kbn/ambient-ui-types": "link:packages/kbn-ambient-ui-types", + "@kbn/apm-synthtrace": "link:packages/kbn-apm-synthtrace", + "@kbn/apm-synthtrace-client": "link:packages/kbn-apm-synthtrace-client", + "@kbn/axe-config": "link:packages/kbn-axe-config", + "@kbn/babel-plugin-package-imports": "link:packages/kbn-babel-plugin-package-imports", + "@kbn/babel-preset": "link:packages/kbn-babel-preset", + "@kbn/babel-register": "link:packages/kbn-babel-register", + "@kbn/babel-transform": "link:packages/kbn-babel-transform", + "@kbn/bazel-packages": "link:packages/kbn-bazel-packages", + "@kbn/bazel-runner": "link:packages/kbn-bazel-runner", + "@kbn/ci-stats-core": "link:packages/kbn-ci-stats-core", + "@kbn/ci-stats-performance-metrics": "link:packages/kbn-ci-stats-performance-metrics", + "@kbn/ci-stats-reporter": "link:packages/kbn-ci-stats-reporter", + "@kbn/cli-dev-mode": "link:packages/kbn-cli-dev-mode", + "@kbn/core-test-helpers-kbn-server": "link:packages/core/test-helpers/core-test-helpers-kbn-server", + "@kbn/cypress-config": "link:packages/kbn-cypress-config", + "@kbn/dev-cli-errors": "link:packages/kbn-dev-cli-errors", + "@kbn/dev-cli-runner": "link:packages/kbn-dev-cli-runner", + "@kbn/dev-proc-runner": "link:packages/kbn-dev-proc-runner", + "@kbn/dev-utils": "link:packages/kbn-dev-utils", + "@kbn/docs-utils": "link:packages/kbn-docs-utils", + "@kbn/es": "link:packages/kbn-es", + "@kbn/es-archiver": "link:packages/kbn-es-archiver", + "@kbn/eslint-config": "link:packages/kbn-eslint-config", + "@kbn/eslint-plugin-disable": "link:packages/kbn-eslint-plugin-disable", + "@kbn/eslint-plugin-eslint": "link:packages/kbn-eslint-plugin-eslint", + "@kbn/eslint-plugin-imports": "link:packages/kbn-eslint-plugin-imports", + "@kbn/expect": "link:packages/kbn-expect", + "@kbn/failed-test-reporter-cli": "link:packages/kbn-failed-test-reporter-cli", + "@kbn/find-used-node-modules": "link:packages/kbn-find-used-node-modules", + "@kbn/ftr-common-functional-services": "link:packages/kbn-ftr-common-functional-services", + "@kbn/ftr-screenshot-filename": "link:packages/kbn-ftr-screenshot-filename", + "@kbn/generate": "link:packages/kbn-generate", + "@kbn/get-repo-files": "link:packages/kbn-get-repo-files", + "@kbn/import-resolver": "link:packages/kbn-import-resolver", + "@kbn/jest-serializers": "link:packages/kbn-jest-serializers", + "@kbn/journeys": "link:packages/kbn-journeys", + "@kbn/kibana-manifest-schema": "link:packages/kbn-kibana-manifest-schema", + "@kbn/managed-vscode-config": "link:packages/kbn-managed-vscode-config", + "@kbn/managed-vscode-config-cli": "link:packages/kbn-managed-vscode-config-cli", + "@kbn/optimizer": "link:packages/kbn-optimizer", + "@kbn/optimizer-webpack-helpers": "link:packages/kbn-optimizer-webpack-helpers", + "@kbn/package-map": "link:packages/kbn-package-map", + "@kbn/peggy": "link:packages/kbn-peggy", + "@kbn/peggy-loader": "link:packages/kbn-peggy-loader", + "@kbn/performance-testing-dataset-extractor": "link:packages/kbn-performance-testing-dataset-extractor", + "@kbn/plugin-generator": "link:packages/kbn-plugin-generator", + "@kbn/plugin-helpers": "link:packages/kbn-plugin-helpers", + "@kbn/repo-path": "link:packages/kbn-repo-path", + "@kbn/repo-source-classifier": "link:packages/kbn-repo-source-classifier", + "@kbn/repo-source-classifier-cli": "link:packages/kbn-repo-source-classifier-cli", + "@kbn/some-dev-log": "link:packages/kbn-some-dev-log", + "@kbn/sort-package-json": "link:packages/kbn-sort-package-json", + "@kbn/spec-to-console": "link:packages/kbn-spec-to-console", + "@kbn/stdio-dev-helpers": "link:packages/kbn-stdio-dev-helpers", + "@kbn/storybook": "link:packages/kbn-storybook", + "@kbn/telemetry-tools": "link:packages/kbn-telemetry-tools", + "@kbn/test": "link:packages/kbn-test", + "@kbn/test-jest-helpers": "link:packages/kbn-test-jest-helpers", + "@kbn/test-subj-selector": "link:packages/kbn-test-subj-selector", + "@kbn/tooling-log": "link:packages/kbn-tooling-log", + "@kbn/ts-project-linter": "link:packages/kbn-ts-project-linter", + "@kbn/ts-project-linter-cli": "link:packages/kbn-ts-project-linter-cli", + "@kbn/ts-projects": "link:packages/kbn-ts-projects", + "@kbn/ts-type-check-cli": "link:packages/kbn-ts-type-check-cli", + "@kbn/web-worker-stub": "link:packages/kbn-web-worker-stub", + "@kbn/yarn-lock-validator": "link:packages/kbn-yarn-lock-validator", "@loaders.gl/polyfills": "^2.3.5", "@mapbox/vector-tile": "1.3.1", "@octokit/rest": "^16.35.0", "@openpgp/web-stream-tools": "^0.0.10", - "@storybook/addon-a11y": "^6.5.14", - "@storybook/addon-actions": "^6.5.14", - "@storybook/addon-controls": "^6.5.14", - "@storybook/addon-docs": "^6.5.14", - "@storybook/addon-essentials": "^6.5.14", + "@storybook/addon-a11y": "^6.5.15", + "@storybook/addon-actions": "^6.5.15", + "@storybook/addon-controls": "^6.5.15", + "@storybook/addon-docs": "^6.5.15", + "@storybook/addon-essentials": "^6.5.15", "@storybook/addon-knobs": "^6.4.0", - "@storybook/addon-storyshots": "^6.5.14", - "@storybook/addons": "^6.5.14", - "@storybook/api": "^6.5.14", - "@storybook/client-api": "^6.5.14", - "@storybook/components": "^6.5.14", - "@storybook/core": "^6.5.14", - "@storybook/core-common": "^6.5.14", - "@storybook/core-events": "^6.5.14", - "@storybook/node-logger": "^6.5.14", - "@storybook/preview-web": "^6.5.14", - "@storybook/react": "^6.5.14", + "@storybook/addon-storyshots": "^6.5.15", + "@storybook/addons": "^6.5.15", + "@storybook/api": "^6.5.15", + "@storybook/client-api": "^6.5.15", + "@storybook/components": "^6.5.15", + "@storybook/core": "^6.5.15", + "@storybook/core-common": "^6.5.15", + "@storybook/core-events": "^6.5.15", + "@storybook/node-logger": "^6.5.15", + "@storybook/preview-web": "^6.5.15", + "@storybook/react": "^6.5.15", "@storybook/react-docgen-typescript-plugin": "^1.0.1", "@storybook/testing-react": "^1.3.0", - "@storybook/theming": "^6.5.14", + "@storybook/theming": "^6.5.15", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^12.1.5", "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^13.5.0", + "@types/adm-zip": "^0.5.0", "@types/archiver": "^5.3.1", "@types/async": "^3.2.3", "@types/babel__core": "^7.1.20", "@types/babel__generator": "^7.6.4", "@types/babel__helper-plugin-utils": "^7.10.0", "@types/base64-js": "^1.2.5", + "@types/byte-size": "^8.1.0", "@types/chance": "^1.0.0", "@types/chroma-js": "^1.4.2", "@types/chromedriver": "^81.0.1", @@ -859,6 +873,7 @@ "@types/fetch-mock": "^7.3.1", "@types/file-saver": "^2.0.0", "@types/flot": "^0.0.31", + "@types/fnv-plus": "^1.3.0", "@types/geojson": "7946.0.7", "@types/getos": "^3.0.0", "@types/gulp": "^4.0.6", @@ -883,7 +898,7 @@ "@types/jsdom": "^16.2.14", "@types/json-schema": "^7", "@types/json-stable-stringify": "^1.0.32", - "@types/json5": "^0.0.30", + "@types/json5": "^2.2.0", "@types/jsonwebtoken": "^8.5.6", "@types/license-checker": "15.0.0", "@types/listr": "^0.14.0", @@ -901,6 +916,7 @@ "@types/minimist": "^1.2.2", "@types/mock-fs": "^4.13.1", "@types/moment-duration-format": "^2.2.3", + "@types/multistream": "^4.1.0", "@types/mustache": "^0.8.31", "@types/nock": "^10.0.3", "@types/node": "16.11.41", @@ -915,6 +931,7 @@ "@types/pbf": "3.0.2", "@types/pdfmake": "^0.2.2", "@types/pegjs": "^0.10.1", + "@types/pidusage": "^2.0.2", "@types/pixelmatch": "^5.2.4", "@types/pngjs": "^3.4.0", "@types/prettier": "^2.3.2", @@ -938,7 +955,7 @@ "@types/redux-logger": "^3.0.8", "@types/resolve": "^1.20.1", "@types/seedrandom": ">=2.0.0 <4.0.0", - "@types/selenium-webdriver": "^4.1.9", + "@types/selenium-webdriver": "^4.1.10", "@types/semver": "^7", "@types/set-value": "^2.0.0", "@types/sharp": "^0.30.4", @@ -1002,14 +1019,14 @@ "cssnano": "^5.1.12", "cssnano-preset-default": "^5.2.12", "csstype": "^3.0.2", - "cypress": "^11.2.0", - "cypress-axe": "^1.0.0", + "cypress": "^12.3.0", + "cypress-axe": "^1.2.0", "cypress-file-upload": "^5.0.8", - "cypress-multi-reporters": "^1.6.1", + "cypress-multi-reporters": "^1.6.2", "cypress-pipe": "^2.0.0", "cypress-react-selector": "^3.0.0", - "cypress-real-events": "^1.7.4", - "cypress-recurse": "^1.24.0", + "cypress-real-events": "^1.7.6", + "cypress-recurse": "^1.26.0", "debug": "^2.6.9", "delete-empty": "^2.0.0", "dependency-check": "^4.1.0", @@ -1042,6 +1059,7 @@ "faker": "^5.1.0", "fetch-mock": "^7.3.9", "file-loader": "^4.2.0", + "fnv-plus": "^1.3.1", "form-data": "^4.0.0", "geckodriver": "^3.2.0", "gulp-brotli": "^3.0.0", @@ -1071,7 +1089,7 @@ "jest-styled-components": "7.0.3", "jsdom": "^16.4.0", "json-schema-typed": "^8.0.1", - "json5": "^1.0.1", + "json5": "^2.2.3", "jsondiffpatch": "0.4.1", "license-checker": "^25.0.1", "listr": "^0.14.1", @@ -1087,7 +1105,9 @@ "mochawesome-merge": "^4.2.1", "mock-fs": "^5.1.2", "ms-chromium-edge-driver": "^0.5.1", + "multistream": "^4.1.0", "mutation-observer": "^1.0.3", + "native-hdr-histogram": "^1.0.0", "nock": "12.0.3", "node-sass": "^8.0.0", "null-loader": "^3.0.0", @@ -1096,6 +1116,7 @@ "openapi-types": "^10.0.0", "pbf": "3.2.1", "peggy": "^1.2.0", + "pidusage": "^3.0.2", "pirates": "^4.0.1", "piscina": "^3.2.0", "pixelmatch": "^5.3.0", @@ -1134,7 +1155,6 @@ "terser-webpack-plugin": "^4.2.3", "tough-cookie": "^4.1.2", "tree-kill": "^1.2.2", - "ts-loader": "^7.0.5", "ts-morph": "^13.0.2", "tsd": "^0.20.0", "typescript": "4.6.3", diff --git a/packages/BUILD.bazel b/packages/BUILD.bazel deleted file mode 100644 index f30be8be46065..0000000000000 --- a/packages/BUILD.bazel +++ /dev/null @@ -1,748 +0,0 @@ -################ -################ -## This file is automatically generated, to create a new package use `node scripts/generate package --help` or run -## `node scripts/generate packages_build_manifest` to regenerate it from the current state of the repo -################ -################ - -# It will build all declared code packages -filegroup( - name = "build_pkg_code", - srcs = [ - "//packages/analytics/client:build", - "//packages/analytics/shippers/elastic_v3/browser:build", - "//packages/analytics/shippers/elastic_v3/common:build", - "//packages/analytics/shippers/elastic_v3/server:build", - "//packages/analytics/shippers/fullstory:build", - "//packages/analytics/shippers/gainsight:build", - "//packages/content-management/content_editor:build", - "//packages/content-management/table_list:build", - "//packages/core/analytics/core-analytics-browser:build", - "//packages/core/analytics/core-analytics-browser-internal:build", - "//packages/core/analytics/core-analytics-browser-mocks:build", - "//packages/core/analytics/core-analytics-server:build", - "//packages/core/analytics/core-analytics-server-internal:build", - "//packages/core/analytics/core-analytics-server-mocks:build", - "//packages/core/application/core-application-browser:build", - "//packages/core/application/core-application-browser-internal:build", - "//packages/core/application/core-application-browser-mocks:build", - "//packages/core/application/core-application-common:build", - "//packages/core/apps/core-apps-browser-internal:build", - "//packages/core/apps/core-apps-browser-mocks:build", - "//packages/core/apps/core-apps-server-internal:build", - "//packages/core/base/core-base-browser-internal:build", - "//packages/core/base/core-base-browser-mocks:build", - "//packages/core/base/core-base-common:build", - "//packages/core/base/core-base-common-internal:build", - "//packages/core/base/core-base-server-internal:build", - "//packages/core/base/core-base-server-mocks:build", - "//packages/core/capabilities/core-capabilities-browser-internal:build", - "//packages/core/capabilities/core-capabilities-browser-mocks:build", - "//packages/core/capabilities/core-capabilities-common:build", - "//packages/core/capabilities/core-capabilities-server:build", - "//packages/core/capabilities/core-capabilities-server-internal:build", - "//packages/core/capabilities/core-capabilities-server-mocks:build", - "//packages/core/chrome/core-chrome-browser:build", - "//packages/core/chrome/core-chrome-browser-internal:build", - "//packages/core/chrome/core-chrome-browser-mocks:build", - "//packages/core/config/core-config-server-internal:build", - "//packages/core/deprecations/core-deprecations-browser:build", - "//packages/core/deprecations/core-deprecations-browser-internal:build", - "//packages/core/deprecations/core-deprecations-browser-mocks:build", - "//packages/core/deprecations/core-deprecations-common:build", - "//packages/core/deprecations/core-deprecations-server:build", - "//packages/core/deprecations/core-deprecations-server-internal:build", - "//packages/core/deprecations/core-deprecations-server-mocks:build", - "//packages/core/doc-links/core-doc-links-browser:build", - "//packages/core/doc-links/core-doc-links-browser-internal:build", - "//packages/core/doc-links/core-doc-links-browser-mocks:build", - "//packages/core/doc-links/core-doc-links-server:build", - "//packages/core/doc-links/core-doc-links-server-internal:build", - "//packages/core/doc-links/core-doc-links-server-mocks:build", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:build", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks:build", - "//packages/core/elasticsearch/core-elasticsearch-server:build", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:build", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks:build", - "//packages/core/environment/core-environment-server-internal:build", - "//packages/core/environment/core-environment-server-mocks:build", - "//packages/core/execution-context/core-execution-context-browser:build", - "//packages/core/execution-context/core-execution-context-browser-internal:build", - "//packages/core/execution-context/core-execution-context-browser-mocks:build", - "//packages/core/execution-context/core-execution-context-common:build", - "//packages/core/execution-context/core-execution-context-server:build", - "//packages/core/execution-context/core-execution-context-server-internal:build", - "//packages/core/execution-context/core-execution-context-server-mocks:build", - "//packages/core/fatal-errors/core-fatal-errors-browser:build", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal:build", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks:build", - "//packages/core/http/core-http-browser:build", - "//packages/core/http/core-http-browser-internal:build", - "//packages/core/http/core-http-browser-mocks:build", - "//packages/core/http/core-http-common:build", - "//packages/core/http/core-http-context-server-internal:build", - "//packages/core/http/core-http-context-server-mocks:build", - "//packages/core/http/core-http-request-handler-context-server:build", - "//packages/core/http/core-http-request-handler-context-server-internal:build", - "//packages/core/http/core-http-resources-server:build", - "//packages/core/http/core-http-resources-server-internal:build", - "//packages/core/http/core-http-resources-server-mocks:build", - "//packages/core/http/core-http-router-server-internal:build", - "//packages/core/http/core-http-router-server-mocks:build", - "//packages/core/http/core-http-server:build", - "//packages/core/http/core-http-server-internal:build", - "//packages/core/http/core-http-server-mocks:build", - "//packages/core/i18n/core-i18n-browser:build", - "//packages/core/i18n/core-i18n-browser-internal:build", - "//packages/core/i18n/core-i18n-browser-mocks:build", - "//packages/core/i18n/core-i18n-server:build", - "//packages/core/i18n/core-i18n-server-internal:build", - "//packages/core/i18n/core-i18n-server-mocks:build", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:build", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:build", - "//packages/core/injected-metadata/core-injected-metadata-common-internal:build", - "//packages/core/integrations/core-integrations-browser-internal:build", - "//packages/core/integrations/core-integrations-browser-mocks:build", - "//packages/core/lifecycle/core-lifecycle-browser:build", - "//packages/core/lifecycle/core-lifecycle-browser-internal:build", - "//packages/core/lifecycle/core-lifecycle-browser-mocks:build", - "//packages/core/lifecycle/core-lifecycle-server:build", - "//packages/core/lifecycle/core-lifecycle-server-internal:build", - "//packages/core/lifecycle/core-lifecycle-server-mocks:build", - "//packages/core/logging/core-logging-browser-internal:build", - "//packages/core/logging/core-logging-browser-mocks:build", - "//packages/core/logging/core-logging-common-internal:build", - "//packages/core/logging/core-logging-server:build", - "//packages/core/logging/core-logging-server-internal:build", - "//packages/core/logging/core-logging-server-mocks:build", - "//packages/core/metrics/core-metrics-collectors-server-internal:build", - "//packages/core/metrics/core-metrics-collectors-server-mocks:build", - "//packages/core/metrics/core-metrics-server:build", - "//packages/core/metrics/core-metrics-server-internal:build", - "//packages/core/metrics/core-metrics-server-mocks:build", - "//packages/core/mount-utils/core-mount-utils-browser:build", - "//packages/core/mount-utils/core-mount-utils-browser-internal:build", - "//packages/core/node/core-node-server:build", - "//packages/core/node/core-node-server-internal:build", - "//packages/core/node/core-node-server-mocks:build", - "//packages/core/notifications/core-notifications-browser:build", - "//packages/core/notifications/core-notifications-browser-internal:build", - "//packages/core/notifications/core-notifications-browser-mocks:build", - "//packages/core/overlays/core-overlays-browser:build", - "//packages/core/overlays/core-overlays-browser-internal:build", - "//packages/core/overlays/core-overlays-browser-mocks:build", - "//packages/core/plugins/core-plugins-base-server-internal:build", - "//packages/core/plugins/core-plugins-browser:build", - "//packages/core/plugins/core-plugins-browser-internal:build", - "//packages/core/plugins/core-plugins-browser-mocks:build", - "//packages/core/plugins/core-plugins-server:build", - "//packages/core/plugins/core-plugins-server-internal:build", - "//packages/core/plugins/core-plugins-server-mocks:build", - "//packages/core/preboot/core-preboot-server:build", - "//packages/core/preboot/core-preboot-server-internal:build", - "//packages/core/preboot/core-preboot-server-mocks:build", - "//packages/core/rendering/core-rendering-browser-internal:build", - "//packages/core/rendering/core-rendering-browser-mocks:build", - "//packages/core/rendering/core-rendering-server-internal:build", - "//packages/core/rendering/core-rendering-server-mocks:build", - "//packages/core/root/core-root-browser-internal:build", - "//packages/core/root/core-root-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-api-browser:build", - "//packages/core/saved-objects/core-saved-objects-api-server:build", - "//packages/core/saved-objects/core-saved-objects-api-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks:build", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks:build", - "//packages/core/saved-objects/core-saved-objects-browser:build", - "//packages/core/saved-objects/core-saved-objects-browser-internal:build", - "//packages/core/saved-objects/core-saved-objects-browser-mocks:build", - "//packages/core/saved-objects/core-saved-objects-common:build", - "//packages/core/saved-objects/core-saved-objects-import-export-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-import-export-server-mocks:build", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-migration-server-mocks:build", - "//packages/core/saved-objects/core-saved-objects-server:build", - "//packages/core/saved-objects/core-saved-objects-server-internal:build", - "//packages/core/saved-objects/core-saved-objects-server-mocks:build", - "//packages/core/saved-objects/core-saved-objects-utils-server:build", - "//packages/core/status/core-status-common:build", - "//packages/core/status/core-status-common-internal:build", - "//packages/core/status/core-status-server:build", - "//packages/core/status/core-status-server-internal:build", - "//packages/core/status/core-status-server-mocks:build", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters:build", - "//packages/core/test-helpers/core-test-helpers-http-setup-browser:build", - "//packages/core/test-helpers/core-test-helpers-kbn-server:build", - "//packages/core/test-helpers/core-test-helpers-so-type-serializer:build", - "//packages/core/test-helpers/core-test-helpers-test-utils:build", - "//packages/core/theme/core-theme-browser:build", - "//packages/core/theme/core-theme-browser-internal:build", - "//packages/core/theme/core-theme-browser-mocks:build", - "//packages/core/ui-settings/core-ui-settings-browser:build", - "//packages/core/ui-settings/core-ui-settings-browser-internal:build", - "//packages/core/ui-settings/core-ui-settings-browser-mocks:build", - "//packages/core/ui-settings/core-ui-settings-common:build", - "//packages/core/ui-settings/core-ui-settings-server:build", - "//packages/core/ui-settings/core-ui-settings-server-internal:build", - "//packages/core/ui-settings/core-ui-settings-server-mocks:build", - "//packages/core/usage-data/core-usage-data-base-server-internal:build", - "//packages/core/usage-data/core-usage-data-server:build", - "//packages/core/usage-data/core-usage-data-server-internal:build", - "//packages/core/usage-data/core-usage-data-server-mocks:build", - "//packages/home/sample_data_card:build", - "//packages/home/sample_data_tab:build", - "//packages/home/sample_data_types:build", - "//packages/kbn-ace:build", - "//packages/kbn-alerts:build", - "//packages/kbn-ambient-common-types:build", - "//packages/kbn-ambient-ftr-types:build", - "//packages/kbn-ambient-storybook-types:build", - "//packages/kbn-ambient-ui-types:build", - "//packages/kbn-analytics:build", - "//packages/kbn-apm-config-loader:build", - "//packages/kbn-apm-synthtrace:build", - "//packages/kbn-apm-utils:build", - "//packages/kbn-axe-config:build", - "//packages/kbn-babel-plugin-synthetic-packages:build", - "//packages/kbn-babel-preset:build", - "//packages/kbn-bazel-packages:build", - "//packages/kbn-bazel-runner:build", - "//packages/kbn-cases-components:build", - "//packages/kbn-chart-icons:build", - "//packages/kbn-ci-stats-core:build", - "//packages/kbn-ci-stats-performance-metrics:build", - "//packages/kbn-ci-stats-reporter:build", - "//packages/kbn-cli-dev-mode:build", - "//packages/kbn-coloring:build", - "//packages/kbn-config:build", - "//packages/kbn-config-mocks:build", - "//packages/kbn-config-schema:build", - "//packages/kbn-crypto:build", - "//packages/kbn-crypto-browser:build", - "//packages/kbn-datemath:build", - "//packages/kbn-dev-cli-errors:build", - "//packages/kbn-dev-cli-runner:build", - "//packages/kbn-dev-proc-runner:build", - "//packages/kbn-dev-utils:build", - "//packages/kbn-doc-links:build", - "//packages/kbn-docs-utils:build", - "//packages/kbn-ebt-tools:build", - "//packages/kbn-ecs:build", - "//packages/kbn-es:build", - "//packages/kbn-es-archiver:build", - "//packages/kbn-es-errors:build", - "//packages/kbn-es-query:build", - "//packages/kbn-es-types:build", - "//packages/kbn-eslint-config:build", - "//packages/kbn-eslint-plugin-disable:build", - "//packages/kbn-eslint-plugin-eslint:build", - "//packages/kbn-eslint-plugin-imports:build", - "//packages/kbn-expect:build", - "//packages/kbn-failed-test-reporter-cli:build", - "//packages/kbn-field-types:build", - "//packages/kbn-find-used-node-modules:build", - "//packages/kbn-flot-charts:build", - "//packages/kbn-ftr-common-functional-services:build", - "//packages/kbn-ftr-screenshot-filename:build", - "//packages/kbn-generate:build", - "//packages/kbn-get-repo-files:build", - "//packages/kbn-guided-onboarding:build", - "//packages/kbn-handlebars:build", - "//packages/kbn-hapi-mocks:build", - "//packages/kbn-health-gateway-server:build", - "//packages/kbn-i18n:build", - "//packages/kbn-i18n-react:build", - "//packages/kbn-import-resolver:build", - "//packages/kbn-interpreter:build", - "//packages/kbn-io-ts-utils:build", - "//packages/kbn-jest-serializers:build", - "//packages/kbn-journeys:build", - "//packages/kbn-kibana-manifest-schema:build", - "//packages/kbn-language-documentation-popover:build", - "//packages/kbn-logging:build", - "//packages/kbn-logging-mocks:build", - "//packages/kbn-managed-vscode-config:build", - "//packages/kbn-managed-vscode-config-cli:build", - "//packages/kbn-mapbox-gl:build", - "//packages/kbn-monaco:build", - "//packages/kbn-optimizer:build", - "//packages/kbn-optimizer-webpack-helpers:build", - "//packages/kbn-osquery-io-ts-types:build", - "//packages/kbn-peggy:build", - "//packages/kbn-peggy-loader:build", - "//packages/kbn-performance-testing-dataset-extractor:build", - "//packages/kbn-plugin-discovery:build", - "//packages/kbn-plugin-generator:build", - "//packages/kbn-plugin-helpers:build", - "//packages/kbn-react-field:build", - "//packages/kbn-repo-source-classifier:build", - "//packages/kbn-repo-source-classifier-cli:build", - "//packages/kbn-rison:build", - "//packages/kbn-rule-data-utils:build", - "//packages/kbn-safer-lodash-set:build", - "//packages/kbn-securitysolution-autocomplete:build", - "//packages/kbn-securitysolution-es-utils:build", - "//packages/kbn-securitysolution-exception-list-components:build", - "//packages/kbn-securitysolution-hook-utils:build", - "//packages/kbn-securitysolution-io-ts-alerting-types:build", - "//packages/kbn-securitysolution-io-ts-list-types:build", - "//packages/kbn-securitysolution-io-ts-types:build", - "//packages/kbn-securitysolution-io-ts-utils:build", - "//packages/kbn-securitysolution-list-api:build", - "//packages/kbn-securitysolution-list-constants:build", - "//packages/kbn-securitysolution-list-hooks:build", - "//packages/kbn-securitysolution-list-utils:build", - "//packages/kbn-securitysolution-rules:build", - "//packages/kbn-securitysolution-t-grid:build", - "//packages/kbn-securitysolution-utils:build", - "//packages/kbn-server-http-tools:build", - "//packages/kbn-server-route-repository:build", - "//packages/kbn-shared-svg:build", - "//packages/kbn-shared-ux-utility:build", - "//packages/kbn-some-dev-log:build", - "//packages/kbn-sort-package-json:build", - "//packages/kbn-spec-to-console:build", - "//packages/kbn-std:build", - "//packages/kbn-stdio-dev-helpers:build", - "//packages/kbn-storybook:build", - "//packages/kbn-synthetic-package-map:build", - "//packages/kbn-telemetry-tools:build", - "//packages/kbn-test:build", - "//packages/kbn-test-jest-helpers:build", - "//packages/kbn-test-subj-selector:build", - "//packages/kbn-timelion-grammar:build", - "//packages/kbn-tinymath:build", - "//packages/kbn-tooling-log:build", - "//packages/kbn-type-summarizer:build", - "//packages/kbn-type-summarizer-cli:build", - "//packages/kbn-type-summarizer-core:build", - "//packages/kbn-typed-react-router-config:build", - "//packages/kbn-ui-framework:build", - "//packages/kbn-ui-shared-deps-npm:build", - "//packages/kbn-ui-shared-deps-src:build", - "//packages/kbn-ui-theme:build", - "//packages/kbn-user-profile-components:build", - "//packages/kbn-utility-types:build", - "//packages/kbn-utility-types-jest:build", - "//packages/kbn-utils:build", - "//packages/kbn-yarn-lock-validator:build", - "//packages/shared-ux/avatar/solution:build", - "//packages/shared-ux/avatar/user_profile/impl:build", - "//packages/shared-ux/button_toolbar:build", - "//packages/shared-ux/button/exit_full_screen/impl:build", - "//packages/shared-ux/button/exit_full_screen/mocks:build", - "//packages/shared-ux/button/exit_full_screen/types:build", - "//packages/shared-ux/card/no_data/impl:build", - "//packages/shared-ux/card/no_data/mocks:build", - "//packages/shared-ux/card/no_data/types:build", - "//packages/shared-ux/file/context:build", - "//packages/shared-ux/file/file_picker/impl:build", - "//packages/shared-ux/file/file_upload/impl:build", - "//packages/shared-ux/file/image/impl:build", - "//packages/shared-ux/file/image/mocks:build", - "//packages/shared-ux/file/mocks:build", - "//packages/shared-ux/file/types:build", - "//packages/shared-ux/file/util:build", - "//packages/shared-ux/link/redirect_app/impl:build", - "//packages/shared-ux/link/redirect_app/mocks:build", - "//packages/shared-ux/link/redirect_app/types:build", - "//packages/shared-ux/markdown/impl:build", - "//packages/shared-ux/markdown/mocks:build", - "//packages/shared-ux/markdown/types:build", - "//packages/shared-ux/page/analytics_no_data/impl:build", - "//packages/shared-ux/page/analytics_no_data/mocks:build", - "//packages/shared-ux/page/analytics_no_data/types:build", - "//packages/shared-ux/page/kibana_no_data/impl:build", - "//packages/shared-ux/page/kibana_no_data/mocks:build", - "//packages/shared-ux/page/kibana_no_data/types:build", - "//packages/shared-ux/page/kibana_template/impl:build", - "//packages/shared-ux/page/kibana_template/mocks:build", - "//packages/shared-ux/page/kibana_template/types:build", - "//packages/shared-ux/page/no_data_config/impl:build", - "//packages/shared-ux/page/no_data_config/mocks:build", - "//packages/shared-ux/page/no_data_config/types:build", - "//packages/shared-ux/page/no_data/impl:build", - "//packages/shared-ux/page/no_data/mocks:build", - "//packages/shared-ux/page/no_data/types:build", - "//packages/shared-ux/page/solution_nav:build", - "//packages/shared-ux/prompt/no_data_views/impl:build", - "//packages/shared-ux/prompt/no_data_views/mocks:build", - "//packages/shared-ux/prompt/no_data_views/types:build", - "//packages/shared-ux/prompt/not_found:build", - "//packages/shared-ux/router/impl:build", - "//packages/shared-ux/router/mocks:build", - "//packages/shared-ux/router/types:build", - "//packages/shared-ux/storybook/config:build", - "//packages/shared-ux/storybook/mock:build", - "//x-pack/packages/ml/agg_utils:build", - "//x-pack/packages/ml/aiops_components:build", - "//x-pack/packages/ml/aiops_utils:build", - "//x-pack/packages/ml/is_populated_object:build", - "//x-pack/packages/ml/string_hash:build", - ], -) - -# It will build all declared package types -filegroup( - name = "build_pkg_types", - srcs = [ - "//packages/analytics/client:build_types", - "//packages/analytics/shippers/elastic_v3/browser:build_types", - "//packages/analytics/shippers/elastic_v3/common:build_types", - "//packages/analytics/shippers/elastic_v3/server:build_types", - "//packages/analytics/shippers/fullstory:build_types", - "//packages/analytics/shippers/gainsight:build_types", - "//packages/content-management/content_editor:build_types", - "//packages/content-management/table_list:build_types", - "//packages/core/analytics/core-analytics-browser:build_types", - "//packages/core/analytics/core-analytics-browser-internal:build_types", - "//packages/core/analytics/core-analytics-browser-mocks:build_types", - "//packages/core/analytics/core-analytics-server:build_types", - "//packages/core/analytics/core-analytics-server-internal:build_types", - "//packages/core/analytics/core-analytics-server-mocks:build_types", - "//packages/core/application/core-application-browser:build_types", - "//packages/core/application/core-application-browser-internal:build_types", - "//packages/core/application/core-application-browser-mocks:build_types", - "//packages/core/application/core-application-common:build_types", - "//packages/core/apps/core-apps-browser-internal:build_types", - "//packages/core/apps/core-apps-browser-mocks:build_types", - "//packages/core/apps/core-apps-server-internal:build_types", - "//packages/core/base/core-base-browser-internal:build_types", - "//packages/core/base/core-base-browser-mocks:build_types", - "//packages/core/base/core-base-common:build_types", - "//packages/core/base/core-base-common-internal:build_types", - "//packages/core/base/core-base-server-internal:build_types", - "//packages/core/base/core-base-server-mocks:build_types", - "//packages/core/capabilities/core-capabilities-browser-internal:build_types", - "//packages/core/capabilities/core-capabilities-browser-mocks:build_types", - "//packages/core/capabilities/core-capabilities-common:build_types", - "//packages/core/capabilities/core-capabilities-server:build_types", - "//packages/core/capabilities/core-capabilities-server-internal:build_types", - "//packages/core/capabilities/core-capabilities-server-mocks:build_types", - "//packages/core/chrome/core-chrome-browser:build_types", - "//packages/core/chrome/core-chrome-browser-internal:build_types", - "//packages/core/chrome/core-chrome-browser-mocks:build_types", - "//packages/core/config/core-config-server-internal:build_types", - "//packages/core/deprecations/core-deprecations-browser:build_types", - "//packages/core/deprecations/core-deprecations-browser-internal:build_types", - "//packages/core/deprecations/core-deprecations-browser-mocks:build_types", - "//packages/core/deprecations/core-deprecations-common:build_types", - "//packages/core/deprecations/core-deprecations-server:build_types", - "//packages/core/deprecations/core-deprecations-server-internal:build_types", - "//packages/core/deprecations/core-deprecations-server-mocks:build_types", - "//packages/core/doc-links/core-doc-links-browser:build_types", - "//packages/core/doc-links/core-doc-links-browser-internal:build_types", - "//packages/core/doc-links/core-doc-links-browser-mocks:build_types", - "//packages/core/doc-links/core-doc-links-server:build_types", - "//packages/core/doc-links/core-doc-links-server-internal:build_types", - "//packages/core/doc-links/core-doc-links-server-mocks:build_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:build_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks:build_types", - "//packages/core/elasticsearch/core-elasticsearch-server:build_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:build_types", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks:build_types", - "//packages/core/environment/core-environment-server-internal:build_types", - "//packages/core/environment/core-environment-server-mocks:build_types", - "//packages/core/execution-context/core-execution-context-browser:build_types", - "//packages/core/execution-context/core-execution-context-browser-internal:build_types", - "//packages/core/execution-context/core-execution-context-browser-mocks:build_types", - "//packages/core/execution-context/core-execution-context-common:build_types", - "//packages/core/execution-context/core-execution-context-server:build_types", - "//packages/core/execution-context/core-execution-context-server-internal:build_types", - "//packages/core/execution-context/core-execution-context-server-mocks:build_types", - "//packages/core/fatal-errors/core-fatal-errors-browser:build_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal:build_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks:build_types", - "//packages/core/http/core-http-browser:build_types", - "//packages/core/http/core-http-browser-internal:build_types", - "//packages/core/http/core-http-browser-mocks:build_types", - "//packages/core/http/core-http-common:build_types", - "//packages/core/http/core-http-context-server-internal:build_types", - "//packages/core/http/core-http-context-server-mocks:build_types", - "//packages/core/http/core-http-request-handler-context-server:build_types", - "//packages/core/http/core-http-request-handler-context-server-internal:build_types", - "//packages/core/http/core-http-resources-server:build_types", - "//packages/core/http/core-http-resources-server-internal:build_types", - "//packages/core/http/core-http-resources-server-mocks:build_types", - "//packages/core/http/core-http-router-server-internal:build_types", - "//packages/core/http/core-http-router-server-mocks:build_types", - "//packages/core/http/core-http-server:build_types", - "//packages/core/http/core-http-server-internal:build_types", - "//packages/core/http/core-http-server-mocks:build_types", - "//packages/core/i18n/core-i18n-browser:build_types", - "//packages/core/i18n/core-i18n-browser-internal:build_types", - "//packages/core/i18n/core-i18n-browser-mocks:build_types", - "//packages/core/i18n/core-i18n-server:build_types", - "//packages/core/i18n/core-i18n-server-internal:build_types", - "//packages/core/i18n/core-i18n-server-mocks:build_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:build_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:build_types", - "//packages/core/injected-metadata/core-injected-metadata-common-internal:build_types", - "//packages/core/integrations/core-integrations-browser-internal:build_types", - "//packages/core/integrations/core-integrations-browser-mocks:build_types", - "//packages/core/lifecycle/core-lifecycle-browser:build_types", - "//packages/core/lifecycle/core-lifecycle-browser-internal:build_types", - "//packages/core/lifecycle/core-lifecycle-browser-mocks:build_types", - "//packages/core/lifecycle/core-lifecycle-server:build_types", - "//packages/core/lifecycle/core-lifecycle-server-internal:build_types", - "//packages/core/lifecycle/core-lifecycle-server-mocks:build_types", - "//packages/core/logging/core-logging-browser-internal:build_types", - "//packages/core/logging/core-logging-browser-mocks:build_types", - "//packages/core/logging/core-logging-common-internal:build_types", - "//packages/core/logging/core-logging-server:build_types", - "//packages/core/logging/core-logging-server-internal:build_types", - "//packages/core/logging/core-logging-server-mocks:build_types", - "//packages/core/metrics/core-metrics-collectors-server-internal:build_types", - "//packages/core/metrics/core-metrics-collectors-server-mocks:build_types", - "//packages/core/metrics/core-metrics-server:build_types", - "//packages/core/metrics/core-metrics-server-internal:build_types", - "//packages/core/metrics/core-metrics-server-mocks:build_types", - "//packages/core/mount-utils/core-mount-utils-browser:build_types", - "//packages/core/mount-utils/core-mount-utils-browser-internal:build_types", - "//packages/core/node/core-node-server:build_types", - "//packages/core/node/core-node-server-internal:build_types", - "//packages/core/node/core-node-server-mocks:build_types", - "//packages/core/notifications/core-notifications-browser:build_types", - "//packages/core/notifications/core-notifications-browser-internal:build_types", - "//packages/core/notifications/core-notifications-browser-mocks:build_types", - "//packages/core/overlays/core-overlays-browser:build_types", - "//packages/core/overlays/core-overlays-browser-internal:build_types", - "//packages/core/overlays/core-overlays-browser-mocks:build_types", - "//packages/core/plugins/core-plugins-base-server-internal:build_types", - "//packages/core/plugins/core-plugins-browser:build_types", - "//packages/core/plugins/core-plugins-browser-internal:build_types", - "//packages/core/plugins/core-plugins-browser-mocks:build_types", - "//packages/core/plugins/core-plugins-server:build_types", - "//packages/core/plugins/core-plugins-server-internal:build_types", - "//packages/core/plugins/core-plugins-server-mocks:build_types", - "//packages/core/preboot/core-preboot-server:build_types", - "//packages/core/preboot/core-preboot-server-internal:build_types", - "//packages/core/preboot/core-preboot-server-mocks:build_types", - "//packages/core/rendering/core-rendering-browser-internal:build_types", - "//packages/core/rendering/core-rendering-browser-mocks:build_types", - "//packages/core/rendering/core-rendering-server-internal:build_types", - "//packages/core/rendering/core-rendering-server-mocks:build_types", - "//packages/core/root/core-root-browser-internal:build_types", - "//packages/core/root/core-root-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-api-browser:build_types", - "//packages/core/saved-objects/core-saved-objects-api-server:build_types", - "//packages/core/saved-objects/core-saved-objects-api-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-browser:build_types", - "//packages/core/saved-objects/core-saved-objects-browser-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-browser-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-common:build_types", - "//packages/core/saved-objects/core-saved-objects-import-export-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-import-export-server-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-migration-server-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-server:build_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:build_types", - "//packages/core/saved-objects/core-saved-objects-server-mocks:build_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:build_types", - "//packages/core/status/core-status-common:build_types", - "//packages/core/status/core-status-common-internal:build_types", - "//packages/core/status/core-status-server:build_types", - "//packages/core/status/core-status-server-internal:build_types", - "//packages/core/status/core-status-server-mocks:build_types", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters:build_types", - "//packages/core/test-helpers/core-test-helpers-http-setup-browser:build_types", - "//packages/core/test-helpers/core-test-helpers-kbn-server:build_types", - "//packages/core/test-helpers/core-test-helpers-so-type-serializer:build_types", - "//packages/core/test-helpers/core-test-helpers-test-utils:build_types", - "//packages/core/theme/core-theme-browser:build_types", - "//packages/core/theme/core-theme-browser-internal:build_types", - "//packages/core/theme/core-theme-browser-mocks:build_types", - "//packages/core/ui-settings/core-ui-settings-browser:build_types", - "//packages/core/ui-settings/core-ui-settings-browser-internal:build_types", - "//packages/core/ui-settings/core-ui-settings-browser-mocks:build_types", - "//packages/core/ui-settings/core-ui-settings-common:build_types", - "//packages/core/ui-settings/core-ui-settings-server:build_types", - "//packages/core/ui-settings/core-ui-settings-server-internal:build_types", - "//packages/core/ui-settings/core-ui-settings-server-mocks:build_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:build_types", - "//packages/core/usage-data/core-usage-data-server:build_types", - "//packages/core/usage-data/core-usage-data-server-internal:build_types", - "//packages/core/usage-data/core-usage-data-server-mocks:build_types", - "//packages/home/sample_data_card:build_types", - "//packages/home/sample_data_tab:build_types", - "//packages/kbn-ace:build_types", - "//packages/kbn-alerts:build_types", - "//packages/kbn-analytics:build_types", - "//packages/kbn-apm-config-loader:build_types", - "//packages/kbn-apm-synthtrace:build_types", - "//packages/kbn-apm-utils:build_types", - "//packages/kbn-axe-config:build_types", - "//packages/kbn-bazel-packages:build_types", - "//packages/kbn-bazel-runner:build_types", - "//packages/kbn-cases-components:build_types", - "//packages/kbn-chart-icons:build_types", - "//packages/kbn-ci-stats-core:build_types", - "//packages/kbn-ci-stats-performance-metrics:build_types", - "//packages/kbn-ci-stats-reporter:build_types", - "//packages/kbn-cli-dev-mode:build_types", - "//packages/kbn-coloring:build_types", - "//packages/kbn-config:build_types", - "//packages/kbn-config-mocks:build_types", - "//packages/kbn-config-schema:build_types", - "//packages/kbn-crypto:build_types", - "//packages/kbn-crypto-browser:build_types", - "//packages/kbn-datemath:build_types", - "//packages/kbn-dev-cli-errors:build_types", - "//packages/kbn-dev-cli-runner:build_types", - "//packages/kbn-dev-proc-runner:build_types", - "//packages/kbn-dev-utils:build_types", - "//packages/kbn-doc-links:build_types", - "//packages/kbn-docs-utils:build_types", - "//packages/kbn-ebt-tools:build_types", - "//packages/kbn-ecs:build_types", - "//packages/kbn-es-archiver:build_types", - "//packages/kbn-es-errors:build_types", - "//packages/kbn-es-query:build_types", - "//packages/kbn-es-types:build_types", - "//packages/kbn-eslint-plugin-disable:build_types", - "//packages/kbn-eslint-plugin-imports:build_types", - "//packages/kbn-failed-test-reporter-cli:build_types", - "//packages/kbn-field-types:build_types", - "//packages/kbn-find-used-node-modules:build_types", - "//packages/kbn-ftr-common-functional-services:build_types", - "//packages/kbn-ftr-screenshot-filename:build_types", - "//packages/kbn-generate:build_types", - "//packages/kbn-get-repo-files:build_types", - "//packages/kbn-guided-onboarding:build_types", - "//packages/kbn-handlebars:build_types", - "//packages/kbn-hapi-mocks:build_types", - "//packages/kbn-health-gateway-server:build_types", - "//packages/kbn-i18n:build_types", - "//packages/kbn-i18n-react:build_types", - "//packages/kbn-import-resolver:build_types", - "//packages/kbn-interpreter:build_types", - "//packages/kbn-io-ts-utils:build_types", - "//packages/kbn-jest-serializers:build_types", - "//packages/kbn-journeys:build_types", - "//packages/kbn-kibana-manifest-schema:build_types", - "//packages/kbn-language-documentation-popover:build_types", - "//packages/kbn-logging:build_types", - "//packages/kbn-logging-mocks:build_types", - "//packages/kbn-managed-vscode-config:build_types", - "//packages/kbn-managed-vscode-config-cli:build_types", - "//packages/kbn-mapbox-gl:build_types", - "//packages/kbn-monaco:build_types", - "//packages/kbn-optimizer:build_types", - "//packages/kbn-optimizer-webpack-helpers:build_types", - "//packages/kbn-osquery-io-ts-types:build_types", - "//packages/kbn-peggy:build_types", - "//packages/kbn-peggy-loader:build_types", - "//packages/kbn-performance-testing-dataset-extractor:build_types", - "//packages/kbn-plugin-discovery:build_types", - "//packages/kbn-plugin-generator:build_types", - "//packages/kbn-plugin-helpers:build_types", - "//packages/kbn-react-field:build_types", - "//packages/kbn-repo-source-classifier:build_types", - "//packages/kbn-repo-source-classifier-cli:build_types", - "//packages/kbn-rison:build_types", - "//packages/kbn-rule-data-utils:build_types", - "//packages/kbn-safer-lodash-set:build_types", - "//packages/kbn-securitysolution-autocomplete:build_types", - "//packages/kbn-securitysolution-es-utils:build_types", - "//packages/kbn-securitysolution-exception-list-components:build_types", - "//packages/kbn-securitysolution-hook-utils:build_types", - "//packages/kbn-securitysolution-io-ts-alerting-types:build_types", - "//packages/kbn-securitysolution-io-ts-list-types:build_types", - "//packages/kbn-securitysolution-io-ts-types:build_types", - "//packages/kbn-securitysolution-io-ts-utils:build_types", - "//packages/kbn-securitysolution-list-api:build_types", - "//packages/kbn-securitysolution-list-constants:build_types", - "//packages/kbn-securitysolution-list-hooks:build_types", - "//packages/kbn-securitysolution-list-utils:build_types", - "//packages/kbn-securitysolution-rules:build_types", - "//packages/kbn-securitysolution-t-grid:build_types", - "//packages/kbn-securitysolution-utils:build_types", - "//packages/kbn-server-http-tools:build_types", - "//packages/kbn-server-route-repository:build_types", - "//packages/kbn-shared-svg:build_types", - "//packages/kbn-shared-ux-utility:build_types", - "//packages/kbn-some-dev-log:build_types", - "//packages/kbn-sort-package-json:build_types", - "//packages/kbn-std:build_types", - "//packages/kbn-stdio-dev-helpers:build_types", - "//packages/kbn-storybook:build_types", - "//packages/kbn-telemetry-tools:build_types", - "//packages/kbn-test:build_types", - "//packages/kbn-test-jest-helpers:build_types", - "//packages/kbn-test-subj-selector:build_types", - "//packages/kbn-tooling-log:build_types", - "//packages/kbn-type-summarizer:build_types", - "//packages/kbn-type-summarizer-cli:build_types", - "//packages/kbn-type-summarizer-core:build_types", - "//packages/kbn-typed-react-router-config:build_types", - "//packages/kbn-ui-shared-deps-npm:build_types", - "//packages/kbn-ui-shared-deps-src:build_types", - "//packages/kbn-ui-theme:build_types", - "//packages/kbn-user-profile-components:build_types", - "//packages/kbn-utility-types:build_types", - "//packages/kbn-utility-types-jest:build_types", - "//packages/kbn-utils:build_types", - "//packages/kbn-yarn-lock-validator:build_types", - "//packages/shared-ux/avatar/solution:build_types", - "//packages/shared-ux/avatar/user_profile/impl:build_types", - "//packages/shared-ux/button_toolbar:build_types", - "//packages/shared-ux/button/exit_full_screen/impl:build_types", - "//packages/shared-ux/button/exit_full_screen/mocks:build_types", - "//packages/shared-ux/card/no_data/impl:build_types", - "//packages/shared-ux/card/no_data/mocks:build_types", - "//packages/shared-ux/file/context:build_types", - "//packages/shared-ux/file/file_picker/impl:build_types", - "//packages/shared-ux/file/file_upload/impl:build_types", - "//packages/shared-ux/file/image/impl:build_types", - "//packages/shared-ux/file/image/mocks:build_types", - "//packages/shared-ux/file/mocks:build_types", - "//packages/shared-ux/file/util:build_types", - "//packages/shared-ux/link/redirect_app/impl:build_types", - "//packages/shared-ux/link/redirect_app/mocks:build_types", - "//packages/shared-ux/markdown/impl:build_types", - "//packages/shared-ux/markdown/mocks:build_types", - "//packages/shared-ux/markdown/types:build_types", - "//packages/shared-ux/page/analytics_no_data/impl:build_types", - "//packages/shared-ux/page/analytics_no_data/mocks:build_types", - "//packages/shared-ux/page/kibana_no_data/impl:build_types", - "//packages/shared-ux/page/kibana_no_data/mocks:build_types", - "//packages/shared-ux/page/kibana_template/impl:build_types", - "//packages/shared-ux/page/kibana_template/mocks:build_types", - "//packages/shared-ux/page/no_data_config/impl:build_types", - "//packages/shared-ux/page/no_data_config/mocks:build_types", - "//packages/shared-ux/page/no_data/impl:build_types", - "//packages/shared-ux/page/no_data/mocks:build_types", - "//packages/shared-ux/page/solution_nav:build_types", - "//packages/shared-ux/prompt/no_data_views/impl:build_types", - "//packages/shared-ux/prompt/no_data_views/mocks:build_types", - "//packages/shared-ux/prompt/not_found:build_types", - "//packages/shared-ux/router/impl:build_types", - "//packages/shared-ux/router/mocks:build_types", - "//packages/shared-ux/storybook/config:build_types", - "//packages/shared-ux/storybook/mock:build_types", - "//x-pack/packages/ml/agg_utils:build_types", - "//x-pack/packages/ml/aiops_components:build_types", - "//x-pack/packages/ml/aiops_utils:build_types", - "//x-pack/packages/ml/is_populated_object:build_types", - "//x-pack/packages/ml/string_hash:build_types", - ], -) - -# Grouping target to call all underlying packages js builds -filegroup( - name = "build", - srcs = [ - ":build_pkg_code" - ], -) - -# Grouping target to call all underlying packages ts builds -filegroup( - name = "build_types", - srcs = [ - ":build_pkg_types" - ], -) diff --git a/packages/analytics/client/BUILD.bazel b/packages/analytics/client/BUILD.bazel deleted file mode 100644 index cc9cf69242b8c..0000000000000 --- a/packages/analytics/client/BUILD.bazel +++ /dev/null @@ -1,137 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "client" -PKG_REQUIRE_NAME = "@kbn/analytics-client" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//fp-ts", - "@npm//io-ts", - "@npm//rxjs", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//rxjs", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/client/kibana.jsonc b/packages/analytics/client/kibana.jsonc index 5f5aa11feb994..a027e7ee866b5 100644 --- a/packages/analytics/client/kibana.jsonc +++ b/packages/analytics/client/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics-client", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/client/package.json b/packages/analytics/client/package.json index 247d642adf6d1..6db911a1bac86 100644 --- a/packages/analytics/client/package.json +++ b/packages/analytics/client/package.json @@ -2,9 +2,6 @@ "name": "@kbn/analytics-client", "private": true, "version": "1.0.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/client/tsconfig.json b/packages/analytics/client/tsconfig.json index cc7ee1b2ebd68..b5bb1c1f7c010 100644 --- a/packages/analytics/client/tsconfig.json +++ b/packages/analytics/client/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/logging-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/analytics/shippers/elastic_v3/browser/BUILD.bazel b/packages/analytics/shippers/elastic_v3/browser/BUILD.bazel deleted file mode 100644 index 790079da9d8ff..0000000000000 --- a/packages/analytics/shippers/elastic_v3/browser/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "browser" -PKG_REQUIRE_NAME = "@kbn/analytics-shippers-elastic-v3-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/analytics/client", - "//packages/analytics/shippers/elastic_v3/common", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/analytics/client:npm_module_types", - "//packages/analytics/shippers/elastic_v3/common:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc b/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc index cefab4152c994..a54bd23df252d 100644 --- a/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc +++ b/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics-shippers-elastic-v3-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/shippers/elastic_v3/browser/package.json b/packages/analytics/shippers/elastic_v3/browser/package.json index 59c2e7e9fa5bd..88d42d1fd184b 100644 --- a/packages/analytics/shippers/elastic_v3/browser/package.json +++ b/packages/analytics/shippers/elastic_v3/browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/analytics-shippers-elastic-v3-browser", "private": true, "version": "1.0.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/shippers/elastic_v3/browser/tsconfig.json b/packages/analytics/shippers/elastic_v3/browser/tsconfig.json index 6d893e10d8cc9..7808dee7058f0 100644 --- a/packages/analytics/shippers/elastic_v3/browser/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/analytics-shippers-elastic-v3-common", + "@kbn/logging-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/analytics/shippers/elastic_v3/common/BUILD.bazel b/packages/analytics/shippers/elastic_v3/common/BUILD.bazel deleted file mode 100644 index bb38300b97302..0000000000000 --- a/packages/analytics/shippers/elastic_v3/common/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "common" -PKG_REQUIRE_NAME = "@kbn/analytics-shippers-elastic-v3-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/analytics/client:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/shippers/elastic_v3/common/kibana.jsonc b/packages/analytics/shippers/elastic_v3/common/kibana.jsonc index c347233693ff3..30c723c2b5217 100644 --- a/packages/analytics/shippers/elastic_v3/common/kibana.jsonc +++ b/packages/analytics/shippers/elastic_v3/common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics-shippers-elastic-v3-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/shippers/elastic_v3/common/package.json b/packages/analytics/shippers/elastic_v3/common/package.json index 9e9c8f3054097..4e1caaf0d6a2f 100644 --- a/packages/analytics/shippers/elastic_v3/common/package.json +++ b/packages/analytics/shippers/elastic_v3/common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/analytics-shippers-elastic-v3-common", "private": true, "version": "1.0.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/shippers/elastic_v3/common/tsconfig.json b/packages/analytics/shippers/elastic_v3/common/tsconfig.json index 6d893e10d8cc9..698191a0c3816 100644 --- a/packages/analytics/shippers/elastic_v3/common/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/analytics/shippers/elastic_v3/server/BUILD.bazel b/packages/analytics/shippers/elastic_v3/server/BUILD.bazel deleted file mode 100644 index 8f78c9a9c1a71..0000000000000 --- a/packages/analytics/shippers/elastic_v3/server/BUILD.bazel +++ /dev/null @@ -1,131 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "server" -PKG_REQUIRE_NAME = "@kbn/analytics-shippers-elastic-v3-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//node-fetch", - "@npm//rxjs", - "//packages/analytics/client", - "//packages/analytics/shippers/elastic_v3/common", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/node-fetch", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/analytics/client:npm_module_types", - "//packages/analytics/shippers/elastic_v3/common:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/shippers/elastic_v3/server/kibana.jsonc b/packages/analytics/shippers/elastic_v3/server/kibana.jsonc index 11c29924f3c21..a516db1bbf30e 100644 --- a/packages/analytics/shippers/elastic_v3/server/kibana.jsonc +++ b/packages/analytics/shippers/elastic_v3/server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics-shippers-elastic-v3-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/shippers/elastic_v3/server/package.json b/packages/analytics/shippers/elastic_v3/server/package.json index 9b05193e3aec0..3fcbd5062d35f 100644 --- a/packages/analytics/shippers/elastic_v3/server/package.json +++ b/packages/analytics/shippers/elastic_v3/server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/analytics-shippers-elastic-v3-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/shippers/elastic_v3/server/tsconfig.json b/packages/analytics/shippers/elastic_v3/server/tsconfig.json index 6d893e10d8cc9..7808dee7058f0 100644 --- a/packages/analytics/shippers/elastic_v3/server/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/analytics-shippers-elastic-v3-common", + "@kbn/logging-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/analytics/shippers/fullstory/BUILD.bazel b/packages/analytics/shippers/fullstory/BUILD.bazel deleted file mode 100644 index b949d085e5d80..0000000000000 --- a/packages/analytics/shippers/fullstory/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "fullstory" -PKG_REQUIRE_NAME = "@kbn/analytics-shippers-fullstory" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//moment", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "//packages/analytics/client:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/shippers/fullstory/kibana.jsonc b/packages/analytics/shippers/fullstory/kibana.jsonc index 5d8720fa7486c..d2848e7b3c453 100644 --- a/packages/analytics/shippers/fullstory/kibana.jsonc +++ b/packages/analytics/shippers/fullstory/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics-shippers-fullstory", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/shippers/fullstory/package.json b/packages/analytics/shippers/fullstory/package.json index 8b8f09163ceb7..4eca1476236a1 100644 --- a/packages/analytics/shippers/fullstory/package.json +++ b/packages/analytics/shippers/fullstory/package.json @@ -2,9 +2,6 @@ "name": "@kbn/analytics-shippers-fullstory", "private": true, "version": "1.0.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/shippers/fullstory/tsconfig.json b/packages/analytics/shippers/fullstory/tsconfig.json index ef521586433c9..f3b62b9be125f 100644 --- a/packages/analytics/shippers/fullstory/tsconfig.json +++ b/packages/analytics/shippers/fullstory/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/logging-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/analytics/shippers/gainsight/BUILD.bazel b/packages/analytics/shippers/gainsight/BUILD.bazel deleted file mode 100644 index 12a1890e8add5..0000000000000 --- a/packages/analytics/shippers/gainsight/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "gainsight" -PKG_REQUIRE_NAME = "@kbn/analytics-shippers-gainsight" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//moment", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "//packages/analytics/client:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/analytics/shippers/gainsight/kibana.jsonc b/packages/analytics/shippers/gainsight/kibana.jsonc index bd490542f9dd4..3731f34d34ad1 100644 --- a/packages/analytics/shippers/gainsight/kibana.jsonc +++ b/packages/analytics/shippers/gainsight/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-browser", "id": "@kbn/analytics-shippers-gainsight", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/analytics/shippers/gainsight/package.json b/packages/analytics/shippers/gainsight/package.json index bd15dac62c115..8b68459c29bfe 100644 --- a/packages/analytics/shippers/gainsight/package.json +++ b/packages/analytics/shippers/gainsight/package.json @@ -2,9 +2,6 @@ "name": "@kbn/analytics-shippers-gainsight", "private": true, "version": "1.0.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/analytics/shippers/gainsight/tsconfig.json b/packages/analytics/shippers/gainsight/tsconfig.json index ef521586433c9..f3b62b9be125f 100644 --- a/packages/analytics/shippers/gainsight/tsconfig.json +++ b/packages/analytics/shippers/gainsight/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/logging-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/content-management/content_editor/BUILD.bazel b/packages/content-management/content_editor/BUILD.bazel deleted file mode 100644 index 4239f1b51466c..0000000000000 --- a/packages/content-management/content_editor/BUILD.bazel +++ /dev/null @@ -1,149 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "content_editor" -PKG_REQUIRE_NAME = "@kbn/content-management-content-editor" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/core/mount-utils/core-mount-utils-browser", - "//packages/core/overlays/core-overlays-browser", - "@npm//@elastic/eui", - "@npm//@emotion/react", - "@npm//react", - "@npm//@emotion/css" -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-ambient-storybook-types", - "//packages/kbn-ambient-ui-types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@elastic/eui", - "@npm//rxjs" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/content-management/content_editor/kibana.jsonc b/packages/content-management/content_editor/kibana.jsonc index c462cd7103cbd..ebb0d3e59f63d 100644 --- a/packages/content-management/content_editor/kibana.jsonc +++ b/packages/content-management/content_editor/kibana.jsonc @@ -2,6 +2,4 @@ "type": "shared-common", "id": "@kbn/content-management-content-editor", "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [], } diff --git a/packages/content-management/content_editor/package.json b/packages/content-management/content_editor/package.json index 7f09d1faa2f8b..fb804da89fefa 100644 --- a/packages/content-management/content_editor/package.json +++ b/packages/content-management/content_editor/package.json @@ -2,8 +2,5 @@ "name": "@kbn/content-management-content-editor", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/content-management/content_editor/tsconfig.json b/packages/content-management/content_editor/tsconfig.json index 695a24957687b..c5ee5594be9ff 100644 --- a/packages/content-management/content_editor/tsconfig.json +++ b/packages/content-management/content_editor/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", + "jsx": "react", + "esModuleInterop": true, "types": [ "jest", "node", @@ -16,5 +16,15 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/core-mount-utils-browser", + "@kbn/core-overlays-browser", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/content-management/table_list/BUILD.bazel b/packages/content-management/table_list/BUILD.bazel deleted file mode 100644 index b8758eb21314f..0000000000000 --- a/packages/content-management/table_list/BUILD.bazel +++ /dev/null @@ -1,164 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "table_list" -PKG_REQUIRE_NAME = "@kbn/content-management-table-list" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/content-management/content_editor", - "//packages/core/http/core-http-browser", - "//packages/core/theme/core-theme-browser", - "//packages/kbn-safer-lodash-set", - "//packages/shared-ux/page/kibana_template/impl", - "@npm//@elastic/eui", - "@npm//@emotion/react", - "@npm//@emotion/css", - "@npm//lodash", - "@npm//moment", - "@npm//react-use", - "@npm//react", - "@npm//rxjs", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/content-management/content_editor:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/kbn-ambient-storybook-types", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/shared-ux/page/kibana_template/impl:npm_module_types", - "//packages/shared-ux/page/kibana_template/types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/react", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@elastic/eui", - "@npm//react-use", - "@npm//rxjs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/content-management/table_list/kibana.jsonc b/packages/content-management/table_list/kibana.jsonc index 0808195639877..1837c97e9d2a5 100644 --- a/packages/content-management/table_list/kibana.jsonc +++ b/packages/content-management/table_list/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/content-management-table-list", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/content-management/table_list/package.json b/packages/content-management/table_list/package.json index 2df98754b0224..b387c8a466b5e 100644 --- a/packages/content-management/table_list/package.json +++ b/packages/content-management/table_list/package.json @@ -2,8 +2,5 @@ "name": "@kbn/content-management-table-list", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/content-management/table_list/src/table_list_view.tsx b/packages/content-management/table_list/src/table_list_view.tsx index 41e26544a41d5..4d5263e9088c7 100644 --- a/packages/content-management/table_list/src/table_list_view.tsx +++ b/packages/content-management/table_list/src/table_list_view.tsx @@ -885,40 +885,46 @@ function TableListViewComp({ {showFetchError && renderFetchError()} {/* Table of items */} - - dispatch={dispatch} - items={items} - isFetchingItems={isFetchingItems} - searchQuery={searchQuery} - tableColumns={tableColumns} - hasUpdatedAtMetadata={hasUpdatedAtMetadata} - tableSort={tableSort} - pagination={pagination} - selectedIds={selectedIds} - entityName={entityName} - entityNamePlural={entityNamePlural} - tagsToTableItemMap={tagsToTableItemMap} - deleteItems={deleteItems} - tableCaption={tableListTitle} - onTableChange={onTableChange} - onTableSearchChange={onTableSearchChange} - onSortChange={onSortChange} - addOrRemoveIncludeTagFilter={addOrRemoveIncludeTagFilter} - addOrRemoveExcludeTagFilter={addOrRemoveExcludeTagFilter} - clearTagSelection={clearTagSelection} - /> - - {/* Delete modal */} - {showDeleteModal && ( - - isDeletingItems={isDeletingItems} +
+ + dispatch={dispatch} + items={items} + isFetchingItems={isFetchingItems} + searchQuery={searchQuery} + tableColumns={tableColumns} + hasUpdatedAtMetadata={hasUpdatedAtMetadata} + tableSort={tableSort} + pagination={pagination} + selectedIds={selectedIds} entityName={entityName} entityNamePlural={entityNamePlural} - items={selectedItems} - onConfirm={deleteSelectedItems} - onCancel={() => dispatch({ type: 'onCancelDeleteItems' })} + tagsToTableItemMap={tagsToTableItemMap} + deleteItems={deleteItems} + tableCaption={tableListTitle} + onTableChange={onTableChange} + onTableSearchChange={onTableSearchChange} + onSortChange={onSortChange} + addOrRemoveIncludeTagFilter={addOrRemoveIncludeTagFilter} + addOrRemoveExcludeTagFilter={addOrRemoveExcludeTagFilter} + clearTagSelection={clearTagSelection} /> - )} + + {/* Delete modal */} + {showDeleteModal && ( + + isDeletingItems={isDeletingItems} + entityName={entityName} + entityNamePlural={entityNamePlural} + items={selectedItems} + onConfirm={deleteSelectedItems} + onCancel={() => dispatch({ type: 'onCancelDeleteItems' })} + /> + )} +
); diff --git a/packages/content-management/table_list/tsconfig.json b/packages/content-management/table_list/tsconfig.json index 695a24957687b..16a8a6b1a6de1 100644 --- a/packages/content-management/table_list/tsconfig.json +++ b/packages/content-management/table_list/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -16,5 +14,19 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/content-management-content-editor", + "@kbn/core-http-browser", + "@kbn/core-mount-utils-browser", + "@kbn/core-overlays-browser", + "@kbn/shared-ux-page-kibana-template", + "@kbn/shared-ux-link-redirect-app", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-browser-internal/BUILD.bazel b/packages/core/analytics/core-analytics-browser-internal/BUILD.bazel deleted file mode 100644 index 3413eaf4fdda1..0000000000000 --- a/packages/core/analytics/core-analytics-browser-internal/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-analytics-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//uuid", - "//packages/analytics/client", - "//packages/kbn-ebt-tools", - "//packages/core/base/core-base-browser-mocks", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//rxjs", - "//packages/kbn-logging:npm_module_types", - "//packages/analytics/client:npm_module_types", - "//packages/kbn-ebt-tools:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/analytics/core-analytics-browser:npm_module_types", - "//packages/core/base/core-base-browser-mocks:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc index 45bd5d5bc041a..459e71b2c0e5a 100644 --- a/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-browser-internal/package.json b/packages/core/analytics/core-analytics-browser-internal/package.json index f40589e37d198..cf034acaaa1eb 100644 --- a/packages/core/analytics/core-analytics-browser-internal/package.json +++ b/packages/core/analytics/core-analytics-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-analytics-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json index ef521586433c9..4c2daa18d079d 100644 --- a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/analytics-client", + "@kbn/ebt-tools", + "@kbn/core-base-browser-internal", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-analytics-browser", + "@kbn/core-base-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-browser-mocks/BUILD.bazel b/packages/core/analytics/core-analytics-browser-mocks/BUILD.bazel deleted file mode 100644 index d80d2a8feae21..0000000000000 --- a/packages/core/analytics/core-analytics-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-analytics-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/analytics/core-analytics-browser:npm_module_types", - "//packages/core/analytics/core-analytics-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc index 2c3ce58f95d62..93bbc23fbbb79 100644 --- a/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-browser-mocks/package.json b/packages/core/analytics/core-analytics-browser-mocks/package.json index b8dd2d03bad66..fefe7e0c5f04a 100644 --- a/packages/core/analytics/core-analytics-browser-mocks/package.json +++ b/packages/core/analytics/core-analytics-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-analytics-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json b/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json index ef521586433c9..6a1a1a6244c7e 100644 --- a/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-analytics-browser", + "@kbn/core-analytics-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-browser/BUILD.bazel b/packages/core/analytics/core-analytics-browser/BUILD.bazel deleted file mode 100644 index 2dbf3c4791bba..0000000000000 --- a/packages/core/analytics/core-analytics-browser/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-browser" -PKG_REQUIRE_NAME = "@kbn/core-analytics-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/analytics/client:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-browser/kibana.jsonc b/packages/core/analytics/core-analytics-browser/kibana.jsonc index a17a1e5d5e94b..a82e9d1c78f38 100644 --- a/packages/core/analytics/core-analytics-browser/kibana.jsonc +++ b/packages/core/analytics/core-analytics-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-browser/package.json b/packages/core/analytics/core-analytics-browser/package.json index 4ef1d65780abb..1df304c1fb38a 100644 --- a/packages/core/analytics/core-analytics-browser/package.json +++ b/packages/core/analytics/core-analytics-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-analytics-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-browser/tsconfig.json b/packages/core/analytics/core-analytics-browser/tsconfig.json index ef521586433c9..9c3a721a57e23 100644 --- a/packages/core/analytics/core-analytics-browser/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-server-internal/BUILD.bazel b/packages/core/analytics/core-analytics-server-internal/BUILD.bazel deleted file mode 100644 index 1a507d0a065ce..0000000000000 --- a/packages/core/analytics/core-analytics-server-internal/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-analytics-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/analytics/client", - "//packages/kbn-ebt-tools", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/analytics/client:npm_module_types", - "//packages/kbn-ebt-tools:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-server-internal/kibana.jsonc b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc index 1ae2d06e0fa77..3d660a39be144 100644 --- a/packages/core/analytics/core-analytics-server-internal/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-server-internal/package.json b/packages/core/analytics/core-analytics-server-internal/package.json index 742c092fa58f4..142cc8ffa98d4 100644 --- a/packages/core/analytics/core-analytics-server-internal/package.json +++ b/packages/core/analytics/core-analytics-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-analytics-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.mocks.ts b/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.mocks.ts index 3d98cf4392926..a3bd814f1e32f 100644 --- a/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.mocks.ts +++ b/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.mocks.ts @@ -18,6 +18,7 @@ export const analyticsClientMock: jest.Mocked = { registerShipper: jest.fn(), telemetryCounter$: new Subject(), shutdown: jest.fn(), + flush: jest.fn(), }; jest.doMock('@kbn/analytics-client', () => ({ diff --git a/packages/core/analytics/core-analytics-server-internal/tsconfig.json b/packages/core/analytics/core-analytics-server-internal/tsconfig.json index ef521586433c9..56292065f7af6 100644 --- a/packages/core/analytics/core-analytics-server-internal/tsconfig.json +++ b/packages/core/analytics/core-analytics-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/ebt-tools", + "@kbn/core-base-server-internal", + "@kbn/core-analytics-server", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-server-mocks/BUILD.bazel b/packages/core/analytics/core-analytics-server-mocks/BUILD.bazel deleted file mode 100644 index cfcf0175d52db..0000000000000 --- a/packages/core/analytics/core-analytics-server-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-analytics-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/analytics/core-analytics-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc index 9c49235144c4d..319fec0506fe4 100644 --- a/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-server-mocks/package.json b/packages/core/analytics/core-analytics-server-mocks/package.json index 864715f795249..90a3c4fa6be26 100644 --- a/packages/core/analytics/core-analytics-server-mocks/package.json +++ b/packages/core/analytics/core-analytics-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-analytics-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server-mocks/tsconfig.json b/packages/core/analytics/core-analytics-server-mocks/tsconfig.json index ef521586433c9..14613f5e09315 100644 --- a/packages/core/analytics/core-analytics-server-mocks/tsconfig.json +++ b/packages/core/analytics/core-analytics-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-analytics-server", + "@kbn/core-analytics-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/analytics/core-analytics-server/BUILD.bazel b/packages/core/analytics/core-analytics-server/BUILD.bazel deleted file mode 100644 index 7cb5e329e0ffe..0000000000000 --- a/packages/core/analytics/core-analytics-server/BUILD.bazel +++ /dev/null @@ -1,103 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-analytics-server" -PKG_REQUIRE_NAME = "@kbn/core-analytics-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/analytics/client:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/analytics/core-analytics-server/kibana.jsonc b/packages/core/analytics/core-analytics-server/kibana.jsonc index d8faa138efc72..ab497b22d0c9f 100644 --- a/packages/core/analytics/core-analytics-server/kibana.jsonc +++ b/packages/core/analytics/core-analytics-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-analytics-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/analytics/core-analytics-server/package.json b/packages/core/analytics/core-analytics-server/package.json index 0b5d1fce5638e..cacde75dd8b69 100644 --- a/packages/core/analytics/core-analytics-server/package.json +++ b/packages/core/analytics/core-analytics-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-analytics-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/analytics/core-analytics-server/tsconfig.json b/packages/core/analytics/core-analytics-server/tsconfig.json index ef521586433c9..9c3a721a57e23 100644 --- a/packages/core/analytics/core-analytics-server/tsconfig.json +++ b/packages/core/analytics/core-analytics-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/application/core-application-browser-internal/BUILD.bazel b/packages/core/application/core-application-browser-internal/BUILD.bazel deleted file mode 100644 index 3232dfc677aff..0000000000000 --- a/packages/core/application/core-application-browser-internal/BUILD.bazel +++ /dev/null @@ -1,148 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-application-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-application-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-router-dom", - "@npm//react-use", - "@npm//enzyme", - "@npm//rxjs", - "@npm//history", - "@npm//@elastic/eui", - "//packages/kbn-std", - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/core/application/core-application-common", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/enzyme", - "@npm//@types/react", - "@npm//@types/react-router-dom", - "@npm//react-use", - "@npm//@types/history", - "@npm//rxjs", - "@npm//@elastic/eui", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/capabilities/core-capabilities-browser-internal:npm_module_types", - "//packages/core/application/core-application-common:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/application/core-application-browser-internal/kibana.jsonc b/packages/core/application/core-application-browser-internal/kibana.jsonc index 5ebb9290df118..2c21e932f1ccd 100644 --- a/packages/core/application/core-application-browser-internal/kibana.jsonc +++ b/packages/core/application/core-application-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-application-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/application/core-application-browser-internal/package.json b/packages/core/application/core-application-browser-internal/package.json index 4ded58a99f55c..cfcd138706d33 100644 --- a/packages/core/application/core-application-browser-internal/package.json +++ b/packages/core/application/core-application-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-application-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser-internal/src/application_service.tsx b/packages/core/application/core-application-browser-internal/src/application_service.tsx index 28c7dd1b6ebb0..54e4c98dd241e 100644 --- a/packages/core/application/core-application-browser-internal/src/application_service.tsx +++ b/packages/core/application/core-application-browser-internal/src/application_service.tsx @@ -36,14 +36,14 @@ import { getLeaveAction, isConfirmAction } from './application_leave'; import { getUserConfirmationHandler } from './navigation_confirm'; import { appendAppPath, parseAppUrl, relativeToAbsolute, getAppInfo } from './utils'; -interface SetupDeps { +export interface SetupDeps { http: HttpSetup; history?: History; /** Used to redirect to external urls */ redirectTo?: (path: string) => void; } -interface StartDeps { +export interface StartDeps { http: HttpStart; theme: ThemeServiceStart; overlays: OverlayStart; diff --git a/packages/core/application/core-application-browser-internal/tsconfig.json b/packages/core/application/core-application-browser-internal/tsconfig.json index c561d9f220124..e6bff7c88eb49 100644 --- a/packages/core/application/core-application-browser-internal/tsconfig.json +++ b/packages/core/application/core-application-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,28 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/std", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/core-base-common", + "@kbn/core-http-browser", + "@kbn/core-capabilities-common", + "@kbn/core-theme-browser", + "@kbn/core-overlays-browser", + "@kbn/core-mount-utils-browser", + "@kbn/core-capabilities-browser-internal", + "@kbn/core-application-common", + "@kbn/core-application-browser", + "@kbn/core-capabilities-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-http-browser-internal", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/application/core-application-browser-mocks/BUILD.bazel b/packages/core/application/core-application-browser-mocks/BUILD.bazel deleted file mode 100644 index 979cc8d11021b..0000000000000 --- a/packages/core/application/core-application-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-application-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-application-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", - "//packages/core/capabilities/core-capabilities-browser-mocks" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/history", - "@npm//rxjs", - "//packages/kbn-std:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/capabilities/core-capabilities-browser-mocks:npm_module_types", - "//packages/core/theme/core-theme-browser-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/application/core-application-browser-mocks/kibana.jsonc b/packages/core/application/core-application-browser-mocks/kibana.jsonc index bdbeafdcc2652..35714d9df41d4 100644 --- a/packages/core/application/core-application-browser-mocks/kibana.jsonc +++ b/packages/core/application/core-application-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-application-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/application/core-application-browser-mocks/package.json b/packages/core/application/core-application-browser-mocks/package.json index 925c02bcbb09d..530be8622ac26 100644 --- a/packages/core/application/core-application-browser-mocks/package.json +++ b/packages/core/application/core-application-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-application-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser-mocks/tsconfig.json b/packages/core/application/core-application-browser-mocks/tsconfig.json index 37f8e83d0d7a6..aac8040ebe3ec 100644 --- a/packages/core/application/core-application-browser-mocks/tsconfig.json +++ b/packages/core/application/core-application-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,16 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-mount-utils-browser", + "@kbn/core-application-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-capabilities-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/application/core-application-browser/BUILD.bazel b/packages/core/application/core-application-browser/BUILD.bazel deleted file mode 100644 index b2e1184ef03ed..0000000000000 --- a/packages/core/application/core-application-browser/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-application-browser" -PKG_REQUIRE_NAME = "@kbn/core-application-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/history", - "@npm//@elastic/eui", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types", - "//packages/core/application/core-application-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/application/core-application-browser/kibana.jsonc b/packages/core/application/core-application-browser/kibana.jsonc index 6a8931fa36f74..6d8428610bba0 100644 --- a/packages/core/application/core-application-browser/kibana.jsonc +++ b/packages/core/application/core-application-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-application-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/application/core-application-browser/package.json b/packages/core/application/core-application-browser/package.json index 3626396a9eff3..4ff030fb4b9ee 100644 --- a/packages/core/application/core-application-browser/package.json +++ b/packages/core/application/core-application-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-application-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/application/core-application-browser/tsconfig.json b/packages/core/application/core-application-browser/tsconfig.json index 48df8f2957246..3a15995e0a007 100644 --- a/packages/core/application/core-application-browser/tsconfig.json +++ b/packages/core/application/core-application-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,15 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-theme-browser", + "@kbn/core-mount-utils-browser", + "@kbn/core-capabilities-common", + "@kbn/core-application-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/application/core-application-common/BUILD.bazel b/packages/core/application/core-application-common/BUILD.bazel deleted file mode 100644 index 43edda698fa09..0000000000000 --- a/packages/core/application/core-application-common/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-application-common" -PKG_REQUIRE_NAME = "@kbn/core-application-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "//packages/kbn-i18n", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-i18n:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/application/core-application-common/kibana.jsonc b/packages/core/application/core-application-common/kibana.jsonc index da1cc4d8f7d9b..762e4f62119e8 100644 --- a/packages/core/application/core-application-common/kibana.jsonc +++ b/packages/core/application/core-application-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-application-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/application/core-application-common/package.json b/packages/core/application/core-application-common/package.json index 22b9a3e452f17..6a402e1ad15d4 100644 --- a/packages/core/application/core-application-common/package.json +++ b/packages/core/application/core-application-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-application-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/application/core-application-common/tsconfig.json b/packages/core/application/core-application-common/tsconfig.json index 48df8f2957246..648faae82941a 100644 --- a/packages/core/application/core-application-common/tsconfig.json +++ b/packages/core/application/core-application-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/apps/core-apps-browser-internal/BUILD.bazel b/packages/core/apps/core-apps-browser-internal/BUILD.bazel deleted file mode 100644 index 941b011104ba9..0000000000000 --- a/packages/core/apps/core-apps-browser-internal/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-apps-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-apps-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//history", - "@npm//@elastic/eui", - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/core/mount-utils/core-mount-utils-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-dom", - "@npm//@types/history", - "@npm//@elastic/eui", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", - "//packages/core/notifications/core-notifications-browser:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser-internal:npm_module_types", - "//packages/core/status/core-status-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/apps/core-apps-browser-internal/kibana.jsonc b/packages/core/apps/core-apps-browser-internal/kibana.jsonc index 552de143ce1de..29b64390ec547 100644 --- a/packages/core/apps/core-apps-browser-internal/kibana.jsonc +++ b/packages/core/apps/core-apps-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-apps-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/apps/core-apps-browser-internal/package.json b/packages/core/apps/core-apps-browser-internal/package.json index 04029a6f91fbc..f5ff325da6c59 100644 --- a/packages/core/apps/core-apps-browser-internal/package.json +++ b/packages/core/apps/core-apps-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-apps-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-browser-internal/tsconfig.json b/packages/core/apps/core-apps-browser-internal/tsconfig.json index 37f8e83d0d7a6..f824f9f638215 100644 --- a/packages/core/apps/core-apps-browser-internal/tsconfig.json +++ b/packages/core/apps/core-apps-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,32 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/core-base-browser-internal", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-doc-links-browser", + "@kbn/core-http-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-notifications-browser", + "@kbn/core-application-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-theme-browser-internal", + "@kbn/core-mount-utils-browser-internal", + "@kbn/core-status-common-internal", + "@kbn/core-http-browser-internal", + "@kbn/core-application-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-metrics-collectors-server-mocks", + "@kbn/core-status-common", + "@kbn/core-doc-links-browser-mocks", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/apps/core-apps-browser-mocks/BUILD.bazel b/packages/core/apps/core-apps-browser-mocks/BUILD.bazel deleted file mode 100644 index 65ce563a97d97..0000000000000 --- a/packages/core/apps/core-apps-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-apps-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-apps-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/apps/core-apps-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/apps/core-apps-browser-mocks/kibana.jsonc b/packages/core/apps/core-apps-browser-mocks/kibana.jsonc index 074993f2bd62b..970d9411462ad 100644 --- a/packages/core/apps/core-apps-browser-mocks/kibana.jsonc +++ b/packages/core/apps/core-apps-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-apps-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/apps/core-apps-browser-mocks/package.json b/packages/core/apps/core-apps-browser-mocks/package.json index 690d50dc3a1cf..af2cd7b1027ba 100644 --- a/packages/core/apps/core-apps-browser-mocks/package.json +++ b/packages/core/apps/core-apps-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-apps-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-browser-mocks/tsconfig.json b/packages/core/apps/core-apps-browser-mocks/tsconfig.json index 741519055e986..8b74f6d511cc2 100644 --- a/packages/core/apps/core-apps-browser-mocks/tsconfig.json +++ b/packages/core/apps/core-apps-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-apps-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/apps/core-apps-server-internal/BUILD.bazel b/packages/core/apps/core-apps-server-internal/BUILD.bazel deleted file mode 100644 index 94f52482c27d4..0000000000000 --- a/packages/core/apps/core-apps-server-internal/BUILD.bazel +++ /dev/null @@ -1,141 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-apps-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-apps-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -ASSETS = glob(["assets/**/*"]) - -filegroup( - name = "assets", - srcs = ASSETS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - ":assets" -] - -RUNTIME_DEPS = [ - "@npm//elastic-apm-node", - "@npm//lru-cache", - "@npm//mime-types", - "//packages/kbn-config", - "//packages/kbn-config-schema", - "//packages/kbn-utils", - "//packages/kbn-logging", - "//packages/kbn-ui-shared-deps-npm", - "//packages/kbn-ui-shared-deps-src", - "//packages/core/base/core-base-server-internal", - "//packages/core/lifecycle/core-lifecycle-server-internal", - "//packages/core/plugins/core-plugins-base-server-internal", -] - -TYPES_DEPS = [ - "@npm//elastic-apm-node", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lru-cache", - "@npm//@types/mime-types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-ui-shared-deps-src:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-resources-server:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server-internal:npm_module_types", - "//packages/core/plugins/core-plugins-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/apps/core-apps-server-internal/kibana.jsonc b/packages/core/apps/core-apps-server-internal/kibana.jsonc index 976f82a69e7c9..8c73dfc0752d4 100644 --- a/packages/core/apps/core-apps-server-internal/kibana.jsonc +++ b/packages/core/apps/core-apps-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-apps-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/apps/core-apps-server-internal/package.json b/packages/core/apps/core-apps-server-internal/package.json index 04c52e856bf2a..0a91a88092468 100644 --- a/packages/core/apps/core-apps-server-internal/package.json +++ b/packages/core/apps/core-apps-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-apps-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts index 218fee67289a9..c5937886ad3e4 100644 --- a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts @@ -18,3 +18,7 @@ jest.doMock('@kbn/ui-shared-deps-src', () => ({ jest.doMock('@kbn/ui-shared-deps-npm', () => ({ distDir: 'uiSharedDepsNpmDistDir', })); + +jest.doMock('@kbn/monaco/server', () => ({ + bundleDir: 'kbnMonacoBundleDir', +})); diff --git a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts index 6ec5603137340..249d3880c07d6 100644 --- a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts @@ -56,7 +56,7 @@ describe('registerBundleRoutes', () => { uiPlugins: createUiPlugins(), }); - expect(registerRouteForBundleMock).toHaveBeenCalledTimes(3); + expect(registerRouteForBundleMock).toHaveBeenCalledTimes(4); expect(registerRouteForBundleMock).toHaveBeenCalledWith(router, { fileHashCache: expect.any(FileHashCache), @@ -81,6 +81,14 @@ describe('registerBundleRoutes', () => { publicPath: '/server-base-path/42/bundles/core/', routePath: '/42/bundles/core/', }); + + expect(registerRouteForBundleMock).toHaveBeenCalledWith(router, { + fileHashCache: expect.any(FileHashCache), + isDist: true, + bundlesPath: 'kbnMonacoBundleDir', + publicPath: '/server-base-path/42/bundles/kbn-monaco/', + routePath: '/42/bundles/kbn-monaco/', + }); }); it('registers plugin bundles', () => { @@ -91,7 +99,7 @@ describe('registerBundleRoutes', () => { uiPlugins: createUiPlugins('plugin-a', 'plugin-b'), }); - expect(registerRouteForBundleMock).toHaveBeenCalledTimes(5); + expect(registerRouteForBundleMock).toHaveBeenCalledTimes(6); expect(registerRouteForBundleMock).toHaveBeenCalledWith(router, { fileHashCache: expect.any(FileHashCache), diff --git a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts index d0b5094edf94c..ad1008c5ac1e3 100644 --- a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts @@ -8,9 +8,10 @@ import { join } from 'path'; import type { PackageInfo } from '@kbn/config'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import UiSharedDepsNpm from '@kbn/ui-shared-deps-npm'; import { distDir as UiSharedDepsSrcDistDir } from '@kbn/ui-shared-deps-src'; +import * as KbnMonaco from '@kbn/monaco/server'; import type { IRouter } from '@kbn/core-http-server'; import type { UiPlugins } from '@kbn/core-plugins-base-server-internal'; import { FileHashCache } from './file_hash_cache'; @@ -64,6 +65,13 @@ export function registerBundleRoutes({ fileHashCache, isDist, }); + registerRouteForBundle(router, { + publicPath: `${serverBasePath}/${buildNum}/bundles/kbn-monaco/`, + routePath: `/${buildNum}/bundles/kbn-monaco/`, + bundlesPath: KbnMonaco.bundleDir, + fileHashCache, + isDist, + }); [...uiPlugins.internal.entries()].forEach(([id, { publicTargetDir, version }]) => { registerRouteForBundle(router, { diff --git a/packages/core/apps/core-apps-server-internal/src/core_app.ts b/packages/core/apps/core-apps-server-internal/src/core_app.ts index 3e094fab889a6..872f3761b327f 100644 --- a/packages/core/apps/core-apps-server-internal/src/core_app.ts +++ b/packages/core/apps/core-apps-server-internal/src/core_app.ts @@ -9,7 +9,7 @@ import { stringify } from 'querystring'; import { Env } from '@kbn/config'; import { schema } from '@kbn/config-schema'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import type { Logger } from '@kbn/logging'; import type { CoreContext } from '@kbn/core-base-server-internal'; import type { diff --git a/packages/core/apps/core-apps-server-internal/tsconfig.json b/packages/core/apps/core-apps-server-internal/tsconfig.json index ff48529c6f303..36ecc68c7cbc1 100644 --- a/packages/core/apps/core-apps-server-internal/tsconfig.json +++ b/packages/core/apps/core-apps-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -12,5 +10,30 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/ui-shared-deps-npm", + "@kbn/ui-shared-deps-src", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-http-resources-server", + "@kbn/core-http-server", + "@kbn/core-lifecycle-server-internal", + "@kbn/core-plugins-base-server-internal", + "@kbn/repo-info", + "@kbn/core-base-server-mocks", + "@kbn/core-http-router-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-http-resources-server-mocks", + "@kbn/core-base-common", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-lifecycle-server-mocks", + "@kbn/core-ui-settings-server", + "@kbn/monaco", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-browser-internal/BUILD.bazel b/packages/core/base/core-base-browser-internal/BUILD.bazel deleted file mode 100644 index 02e0c85678632..0000000000000 --- a/packages/core/base/core-base-browser-internal/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-base-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/core/base/core-base-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-browser-internal/kibana.jsonc b/packages/core/base/core-base-browser-internal/kibana.jsonc index 7254343b42c5f..e264f079717ed 100644 --- a/packages/core/base/core-base-browser-internal/kibana.jsonc +++ b/packages/core/base/core-base-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-browser-internal/package.json b/packages/core/base/core-base-browser-internal/package.json index dc3cbe0f4fd5f..cda8355033624 100644 --- a/packages/core/base/core-base-browser-internal/package.json +++ b/packages/core/base/core-base-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-base-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-browser-internal/tsconfig.json b/packages/core/base/core-base-browser-internal/tsconfig.json index 3cdea36de9eac..a3e5d5fc950b9 100644 --- a/packages/core/base/core-base-browser-internal/tsconfig.json +++ b/packages/core/base/core-base-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/config", + "@kbn/core-base-common-internal", + "@kbn/logging", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-browser-mocks/BUILD.bazel b/packages/core/base/core-base-browser-mocks/BUILD.bazel deleted file mode 100644 index 4eefc60344077..0000000000000 --- a/packages/core/base/core-base-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-base-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-browser-mocks/kibana.jsonc b/packages/core/base/core-base-browser-mocks/kibana.jsonc index 5911ba33ca9d4..48c6b95d3afbd 100644 --- a/packages/core/base/core-base-browser-mocks/kibana.jsonc +++ b/packages/core/base/core-base-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-browser-mocks/package.json b/packages/core/base/core-base-browser-mocks/package.json index b0e8f7612cbc0..a6c7560e4cccd 100644 --- a/packages/core/base/core-base-browser-mocks/package.json +++ b/packages/core/base/core-base-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-base-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-browser-mocks/tsconfig.json b/packages/core/base/core-base-browser-mocks/tsconfig.json index ef521586433c9..c55b005c3a570 100644 --- a/packages/core/base/core-base-browser-mocks/tsconfig.json +++ b/packages/core/base/core-base-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging-mocks", + "@kbn/core-base-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-common-internal/BUILD.bazel b/packages/core/base/core-base-common-internal/BUILD.bazel deleted file mode 100644 index 06e7daca4fa3e..0000000000000 --- a/packages/core/base/core-base-common-internal/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-common-internal" -PKG_REQUIRE_NAME = "@kbn/core-base-common-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-common-internal/kibana.jsonc b/packages/core/base/core-base-common-internal/kibana.jsonc index 61abd6d9a872c..8f2083119d1ba 100644 --- a/packages/core/base/core-base-common-internal/kibana.jsonc +++ b/packages/core/base/core-base-common-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-common-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-common-internal/package.json b/packages/core/base/core-base-common-internal/package.json index ea555dbf17a7d..aa0d19ac4689c 100644 --- a/packages/core/base/core-base-common-internal/package.json +++ b/packages/core/base/core-base-common-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-base-common-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-common-internal/tsconfig.json b/packages/core/base/core-base-common-internal/tsconfig.json index 3cdea36de9eac..0f16c2b9311d8 100644 --- a/packages/core/base/core-base-common-internal/tsconfig.json +++ b/packages/core/base/core-base-common-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-common/BUILD.bazel b/packages/core/base/core-base-common/BUILD.bazel deleted file mode 100644 index 4a5b48d3aaeb3..0000000000000 --- a/packages/core/base/core-base-common/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-common" -PKG_REQUIRE_NAME = "@kbn/core-base-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-config:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-common/kibana.jsonc b/packages/core/base/core-base-common/kibana.jsonc index d72d5da919f1c..5a9691ad80c45 100644 --- a/packages/core/base/core-base-common/kibana.jsonc +++ b/packages/core/base/core-base-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-common/package.json b/packages/core/base/core-base-common/package.json index 6eb5ea8f82bc7..6d794b679b3cb 100644 --- a/packages/core/base/core-base-common/package.json +++ b/packages/core/base/core-base-common/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-base-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-common/tsconfig.json b/packages/core/base/core-base-common/tsconfig.json index ef521586433c9..40ac62b671e04 100644 --- a/packages/core/base/core-base-common/tsconfig.json +++ b/packages/core/base/core-base-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-server-internal/BUILD.bazel b/packages/core/base/core-base-server-internal/BUILD.bazel deleted file mode 100644 index b30d20874ae1c..0000000000000 --- a/packages/core/base/core-base-server-internal/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-base-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/base/core-base-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-server-internal/kibana.jsonc b/packages/core/base/core-base-server-internal/kibana.jsonc index 0a21a2b7e6384..569148c437ddc 100644 --- a/packages/core/base/core-base-server-internal/kibana.jsonc +++ b/packages/core/base/core-base-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-server-internal/package.json b/packages/core/base/core-base-server-internal/package.json index 88348d974ae7a..1b35ac29d27e0 100644 --- a/packages/core/base/core-base-server-internal/package.json +++ b/packages/core/base/core-base-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-base-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-server-internal/tsconfig.json b/packages/core/base/core-base-server-internal/tsconfig.json index ef521586433c9..fa2b8ec8c8cb1 100644 --- a/packages/core/base/core-base-server-internal/tsconfig.json +++ b/packages/core/base/core-base-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/utility-types", + "@kbn/core-base-common-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/base/core-base-server-mocks/BUILD.bazel b/packages/core/base/core-base-server-mocks/BUILD.bazel deleted file mode 100644 index 164c71eade849..0000000000000 --- a/packages/core/base/core-base-server-mocks/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-base-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-base-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-utils", - "//packages/kbn-config", - "//packages/kbn-logging-mocks", - "//packages/kbn-config-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/base/core-base-server-mocks/kibana.jsonc b/packages/core/base/core-base-server-mocks/kibana.jsonc index 762615e557b81..438181d917750 100644 --- a/packages/core/base/core-base-server-mocks/kibana.jsonc +++ b/packages/core/base/core-base-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-base-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/base/core-base-server-mocks/package.json b/packages/core/base/core-base-server-mocks/package.json index 99b8d1823c036..88bd6628ffd85 100644 --- a/packages/core/base/core-base-server-mocks/package.json +++ b/packages/core/base/core-base-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-base-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/base/core-base-server-mocks/src/core_context.mock.ts b/packages/core/base/core-base-server-mocks/src/core_context.mock.ts index 6a0ed511a97b0..ca9cb0a654a90 100644 --- a/packages/core/base/core-base-server-mocks/src/core_context.mock.ts +++ b/packages/core/base/core-base-server-mocks/src/core_context.mock.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import type { DeeplyMockedKeys } from '@kbn/utility-types-jest'; import { Env, IConfigService } from '@kbn/config'; import type { LoggerFactory } from '@kbn/logging'; diff --git a/packages/core/base/core-base-server-mocks/tsconfig.json b/packages/core/base/core-base-server-mocks/tsconfig.json index ef521586433c9..55ec929a987a5 100644 --- a/packages/core/base/core-base-server-mocks/tsconfig.json +++ b/packages/core/base/core-base-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,17 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types-jest", + "@kbn/config", + "@kbn/config-mocks", + "@kbn/logging", + "@kbn/logging-mocks", + "@kbn/core-base-server-internal", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-browser-internal/BUILD.bazel b/packages/core/capabilities/core-capabilities-browser-internal/BUILD.bazel deleted file mode 100644 index ae1ae63ce7275..0000000000000 --- a/packages/core/capabilities/core-capabilities-browser-internal/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", - ### test dependencies - "//packages/core/http/core-http-browser-mocks" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc index 48f55a81a7a68..4986d1386610f 100644 --- a/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-browser-internal/package.json b/packages/core/capabilities/core-capabilities-browser-internal/package.json index db46291953708..6734b2b734937 100644 --- a/packages/core/capabilities/core-capabilities-browser-internal/package.json +++ b/packages/core/capabilities/core-capabilities-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-capabilities-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json index 48df8f2957246..258f96a51d15b 100644 --- a/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,6 +9,16 @@ }, "include": [ "**/*.ts", - "**/*.tsx", + "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/std", + "@kbn/core-http-browser", + "@kbn/core-http-browser-mocks", + "@kbn/core-capabilities-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/BUILD.bazel b/packages/core/capabilities/core-capabilities-browser-mocks/BUILD.bazel deleted file mode 100644 index bed02693f0b20..0000000000000 --- a/packages/core/capabilities/core-capabilities-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/capabilities/core-capabilities-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc index 5e6ddff3a4283..ab693c53daa3f 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/package.json b/packages/core/capabilities/core-capabilities-browser-mocks/package.json index c278de75213cd..848ca72a3449f 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/package.json +++ b/packages/core/capabilities/core-capabilities-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-capabilities-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json index 48df8f2957246..d281d8f8d1ebb 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/std", + "@kbn/utility-types", + "@kbn/core-capabilities-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-common/BUILD.bazel b/packages/core/capabilities/core-capabilities-common/BUILD.bazel deleted file mode 100644 index 1cb1470f2c4e7..0000000000000 --- a/packages/core/capabilities/core-capabilities-common/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-common" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-common/kibana.jsonc b/packages/core/capabilities/core-capabilities-common/kibana.jsonc index 5349e81ad3626..87bb4d2977a33 100644 --- a/packages/core/capabilities/core-capabilities-common/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-common/package.json b/packages/core/capabilities/core-capabilities-common/package.json index c0454d5a5e73e..160b66ad7ecfd 100644 --- a/packages/core/capabilities/core-capabilities-common/package.json +++ b/packages/core/capabilities/core-capabilities-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-capabilities-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-common/tsconfig.json b/packages/core/capabilities/core-capabilities-common/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/capabilities/core-capabilities-common/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-server-internal/BUILD.bazel b/packages/core/capabilities/core-capabilities-server-internal/BUILD.bazel deleted file mode 100644 index 2c99ea26797aa..0000000000000 --- a/packages/core/capabilities/core-capabilities-server-internal/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "//packages/kbn-config-schema", - "//packages/kbn-apm-utils", - ### test dependencies - "//packages/core/base/core-base-server-mocks", - "//packages/core/http/core-http-router-server-mocks", - "//packages/core/http/core-http-server-mocks", - -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "//packages/kbn-apm-utils:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types", - "//packages/core/capabilities/core-capabilities-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc index 3c464af07ea43..89591227f2542 100644 --- a/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-server-internal/package.json b/packages/core/capabilities/core-capabilities-server-internal/package.json index c5d445c4ae520..9637e88808e20 100644 --- a/packages/core/capabilities/core-capabilities-server-internal/package.json +++ b/packages/core/capabilities/core-capabilities-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-capabilities-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json b/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json index ef521586433c9..64ee048df3913 100644 --- a/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,21 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/apm-utils", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-capabilities-common", + "@kbn/core-capabilities-server", + "@kbn/core-base-server-mocks", + "@kbn/core-http-router-server-mocks", + "@kbn/core-http-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-server-mocks/BUILD.bazel b/packages/core/capabilities/core-capabilities-server-mocks/BUILD.bazel deleted file mode 100644 index 1666555ef5f37..0000000000000 --- a/packages/core/capabilities/core-capabilities-server-mocks/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types", - "//packages/core/capabilities/core-capabilities-server:npm_module_types", - "//packages/core/capabilities/core-capabilities-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc index 5404ed714a6eb..68739c985d15b 100644 --- a/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-server-mocks/package.json b/packages/core/capabilities/core-capabilities-server-mocks/package.json index 0c82d3de94e53..edd5860d2136c 100644 --- a/packages/core/capabilities/core-capabilities-server-mocks/package.json +++ b/packages/core/capabilities/core-capabilities-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-capabilities-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json index ef521586433c9..a8fa17426573a 100644 --- a/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-capabilities-common", + "@kbn/core-capabilities-server", + "@kbn/core-capabilities-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/capabilities/core-capabilities-server/BUILD.bazel b/packages/core/capabilities/core-capabilities-server/BUILD.bazel deleted file mode 100644 index f52df2ffaec03..0000000000000 --- a/packages/core/capabilities/core-capabilities-server/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-capabilities-server" -PKG_REQUIRE_NAME = "@kbn/core-capabilities-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/capabilities/core-capabilities-common:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/capabilities/core-capabilities-server/kibana.jsonc b/packages/core/capabilities/core-capabilities-server/kibana.jsonc index dc6e6ac3c1279..cfa34dba13ad9 100644 --- a/packages/core/capabilities/core-capabilities-server/kibana.jsonc +++ b/packages/core/capabilities/core-capabilities-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-capabilities-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/capabilities/core-capabilities-server/package.json b/packages/core/capabilities/core-capabilities-server/package.json index 013a8a5e8fa38..d0aaa15414614 100644 --- a/packages/core/capabilities/core-capabilities-server/package.json +++ b/packages/core/capabilities/core-capabilities-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-capabilities-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/capabilities/core-capabilities-server/tsconfig.json b/packages/core/capabilities/core-capabilities-server/tsconfig.json index ef521586433c9..1bb52580bb4df 100644 --- a/packages/core/capabilities/core-capabilities-server/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-http-server", + "@kbn/core-capabilities-common", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/chrome/core-chrome-browser-internal/BUILD.bazel b/packages/core/chrome/core-chrome-browser-internal/BUILD.bazel deleted file mode 100644 index 7399951064bff..0000000000000 --- a/packages/core/chrome/core-chrome-browser-internal/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-chrome-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-chrome-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//lodash", - "@npm//rxjs", - "@npm//classnames", - "@npm//react-use", - "@npm//@elastic/eui", - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/core/mount-utils/core-mount-utils-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/classnames", - "@npm//react-use", - "@npm//lodash", - "@npm//rxjs", - "@npm//@elastic/eui", - "//packages/kbn-crypto-browser:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/notifications/core-notifications-browser:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser-internal:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/chrome/core-chrome-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ] -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc index 2d0a7bada7bb9..84db611a0b348 100644 --- a/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-chrome-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/chrome/core-chrome-browser-internal/package.json b/packages/core/chrome/core-chrome-browser-internal/package.json index 121dce5d9fe60..51108d8d25023 100644 --- a/packages/core/chrome/core-chrome-browser-internal/package.json +++ b/packages/core/chrome/core-chrome-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-chrome-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser-internal/tsconfig.json b/packages/core/chrome/core-chrome-browser-internal/tsconfig.json index c561d9f220124..d55e52c906a05 100644 --- a/packages/core/chrome/core-chrome-browser-internal/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,30 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/crypto-browser", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-doc-links-browser", + "@kbn/core-http-browser", + "@kbn/core-notifications-browser", + "@kbn/core-mount-utils-browser-internal", + "@kbn/core-application-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-chrome-browser", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-doc-links-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/test-jest-helpers", + "@kbn/core-application-common", + "@kbn/core-mount-utils-browser", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/chrome/core-chrome-browser-mocks/BUILD.bazel b/packages/core/chrome/core-chrome-browser-mocks/BUILD.bazel deleted file mode 100644 index 4a45606503f67..0000000000000 --- a/packages/core/chrome/core-chrome-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,117 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-chrome-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-chrome-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/core/chrome/core-chrome-browser:npm_module_types", - "//packages/core/chrome/core-chrome-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc index 5968ce1224da8..e9283e5dab605 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-chrome-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/chrome/core-chrome-browser-mocks/package.json b/packages/core/chrome/core-chrome-browser-mocks/package.json index bd5b73194a52f..f73bd5dba44f4 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/package.json +++ b/packages/core/chrome/core-chrome-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-chrome-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json b/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json index 741519055e986..46d416acc55c1 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,14 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/utility-types-jest", + "@kbn/core-chrome-browser", + "@kbn/core-chrome-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/chrome/core-chrome-browser/BUILD.bazel b/packages/core/chrome/core-chrome-browser/BUILD.bazel deleted file mode 100644 index 00e46c7614988..0000000000000 --- a/packages/core/chrome/core-chrome-browser/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-chrome-browser" -PKG_REQUIRE_NAME = "@kbn/core-chrome-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "@npm//rxjs", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types", - "//packages/core/application/core-application-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/chrome/core-chrome-browser/kibana.jsonc b/packages/core/chrome/core-chrome-browser/kibana.jsonc index 64eba06444507..ea1cb4638d0f9 100644 --- a/packages/core/chrome/core-chrome-browser/kibana.jsonc +++ b/packages/core/chrome/core-chrome-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-chrome-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/chrome/core-chrome-browser/package.json b/packages/core/chrome/core-chrome-browser/package.json index 42854ddcca13c..ac747187f1375 100644 --- a/packages/core/chrome/core-chrome-browser/package.json +++ b/packages/core/chrome/core-chrome-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-chrome-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/chrome/core-chrome-browser/tsconfig.json b/packages/core/chrome/core-chrome-browser/tsconfig.json index 741519055e986..281389cd0927c 100644 --- a/packages/core/chrome/core-chrome-browser/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-mount-utils-browser", + "@kbn/core-application-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/config/core-config-server-internal/BUILD.bazel b/packages/core/config/core-config-server-internal/BUILD.bazel deleted file mode 100644 index 2b4ef85f0484c..0000000000000 --- a/packages/core/config/core-config-server-internal/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-config-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-config-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-safer-lodash-set", - "//packages/kbn-config", - "//packages/core/base/core-base-server-internal", - "//packages/kbn-config-mocks", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/config/core-config-server-internal/kibana.jsonc b/packages/core/config/core-config-server-internal/kibana.jsonc index a6ba80afe9590..7b1e11349fc73 100644 --- a/packages/core/config/core-config-server-internal/kibana.jsonc +++ b/packages/core/config/core-config-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-config-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/config/core-config-server-internal/package.json b/packages/core/config/core-config-server-internal/package.json index 504824cb9613f..a3864186c5f47 100644 --- a/packages/core/config/core-config-server-internal/package.json +++ b/packages/core/config/core-config-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-config-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/config/core-config-server-internal/tsconfig.json b/packages/core/config/core-config-server-internal/tsconfig.json index ef521586433c9..23a51196a73c3 100644 --- a/packages/core/config/core-config-server-internal/tsconfig.json +++ b/packages/core/config/core-config-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-mocks", + "@kbn/core-base-server-internal", + "@kbn/core-test-helpers-deprecations-getters" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-browser-internal/BUILD.bazel b/packages/core/deprecations/core-deprecations-browser-internal/BUILD.bazel deleted file mode 100644 index 799d368a5a66b..0000000000000 --- a/packages/core/deprecations/core-deprecations-browser-internal/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "//packages/core/http/core-http-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-i18n:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/http/core-http-browser-mocks:npm_module_types", - "//packages/core/deprecations/core-deprecations-common:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc index c5bf07aa7052f..7db30fcf05173 100644 --- a/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-browser-internal/package.json b/packages/core/deprecations/core-deprecations-browser-internal/package.json index 5778e7fa149a5..014cadb77f35b 100644 --- a/packages/core/deprecations/core-deprecations-browser-internal/package.json +++ b/packages/core/deprecations/core-deprecations-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-deprecations-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json b/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json index ef521586433c9..8c7dde1c84e07 100644 --- a/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/core-base-browser-internal", + "@kbn/core-http-browser", + "@kbn/core-http-browser-mocks", + "@kbn/core-deprecations-common", + "@kbn/core-deprecations-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/BUILD.bazel b/packages/core/deprecations/core-deprecations-browser-mocks/BUILD.bazel deleted file mode 100644 index bea9231acf84e..0000000000000 --- a/packages/core/deprecations/core-deprecations-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/deprecations/core-deprecations-browser-internal" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc index 28424208cd582..464f09cb0edd1 100644 --- a/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/package.json b/packages/core/deprecations/core-deprecations-browser-mocks/package.json index cd9f1986ad146..3c01322543a1f 100644 --- a/packages/core/deprecations/core-deprecations-browser-mocks/package.json +++ b/packages/core/deprecations/core-deprecations-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-deprecations-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json b/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json index ef521586433c9..db74de14068d4 100644 --- a/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-deprecations-browser", + "@kbn/core-deprecations-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-browser/BUILD.bazel b/packages/core/deprecations/core-deprecations-browser/BUILD.bazel deleted file mode 100644 index 98367818f6162..0000000000000 --- a/packages/core/deprecations/core-deprecations-browser/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-browser" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/core/deprecations/core-deprecations-common:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-browser/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc index 3e708f34935b5..624ce8f9a24c2 100644 --- a/packages/core/deprecations/core-deprecations-browser/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-browser/package.json b/packages/core/deprecations/core-deprecations-browser/package.json index 410b55d4d1751..cade193e602d1 100644 --- a/packages/core/deprecations/core-deprecations-browser/package.json +++ b/packages/core/deprecations/core-deprecations-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-deprecations-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-browser/tsconfig.json b/packages/core/deprecations/core-deprecations-browser/tsconfig.json index ef521586433c9..60c79345dd69f 100644 --- a/packages/core/deprecations/core-deprecations-browser/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-deprecations-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-common/BUILD.bazel b/packages/core/deprecations/core-deprecations-common/BUILD.bazel deleted file mode 100644 index 0a21fa19ef491..0000000000000 --- a/packages/core/deprecations/core-deprecations-common/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-common" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-common/kibana.jsonc b/packages/core/deprecations/core-deprecations-common/kibana.jsonc index 60494dec2502f..81fc008124c78 100644 --- a/packages/core/deprecations/core-deprecations-common/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-common/package.json b/packages/core/deprecations/core-deprecations-common/package.json index 511e4a942f32e..cd3ba57b35d0b 100644 --- a/packages/core/deprecations/core-deprecations-common/package.json +++ b/packages/core/deprecations/core-deprecations-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-deprecations-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-common/tsconfig.json b/packages/core/deprecations/core-deprecations-common/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/deprecations/core-deprecations-common/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-server-internal/BUILD.bazel b/packages/core/deprecations/core-deprecations-server-internal/BUILD.bazel deleted file mode 100644 index 336bda22def79..0000000000000 --- a/packages/core/deprecations/core-deprecations-server-internal/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/kbn-i18n", - "//packages/kbn-std", - ### test dependencies - "//packages/kbn-logging-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-common:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc index 367adb98a89b2..7c9e02b525c04 100644 --- a/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-server-internal/package.json b/packages/core/deprecations/core-deprecations-server-internal/package.json index 4dca63aa16619..a022cfdf83733 100644 --- a/packages/core/deprecations/core-deprecations-server-internal/package.json +++ b/packages/core/deprecations/core-deprecations-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-deprecations-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json b/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json index 4582562d6c9bb..ba06a3e9ec2f7 100644 --- a/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,32 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/utility-types", + "@kbn/std", + "@kbn/i18n", + "@kbn/logging", + "@kbn/config", + "@kbn/core-base-server-internal", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-deprecations-common", + "@kbn/core-deprecations-server", + "@kbn/logging-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/config-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-http-server", + "@kbn/core-elasticsearch-client-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-server-mocks/BUILD.bazel b/packages/core/deprecations/core-deprecations-server-mocks/BUILD.bazel deleted file mode 100644 index ab178fad79f1f..0000000000000 --- a/packages/core/deprecations/core-deprecations-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", - "//packages/core/deprecations/core-deprecations-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc index fc56bc34368f1..f897a7c512b97 100644 --- a/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-server-mocks/package.json b/packages/core/deprecations/core-deprecations-server-mocks/package.json index 15318700c494f..9b429d07ee721 100644 --- a/packages/core/deprecations/core-deprecations-server-mocks/package.json +++ b/packages/core/deprecations/core-deprecations-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-deprecations-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json b/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json index 4582562d6c9bb..84627ac21e204 100644 --- a/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-deprecations-server", + "@kbn/core-deprecations-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/deprecations/core-deprecations-server/BUILD.bazel b/packages/core/deprecations/core-deprecations-server/BUILD.bazel deleted file mode 100644 index 27f711ff83b43..0000000000000 --- a/packages/core/deprecations/core-deprecations-server/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-deprecations-server" -PKG_REQUIRE_NAME = "@kbn/core-deprecations-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/deprecations/core-deprecations-common:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/deprecations/core-deprecations-server/kibana.jsonc b/packages/core/deprecations/core-deprecations-server/kibana.jsonc index 96270007d4ad3..6747cae836866 100644 --- a/packages/core/deprecations/core-deprecations-server/kibana.jsonc +++ b/packages/core/deprecations/core-deprecations-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-deprecations-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/deprecations/core-deprecations-server/package.json b/packages/core/deprecations/core-deprecations-server/package.json index 68882ca7ba6dd..e21b001ee9328 100644 --- a/packages/core/deprecations/core-deprecations-server/package.json +++ b/packages/core/deprecations/core-deprecations-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-deprecations-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/deprecations/core-deprecations-server/tsconfig.json b/packages/core/deprecations/core-deprecations-server/tsconfig.json index 4582562d6c9bb..fa09534af0b92 100644 --- a/packages/core/deprecations/core-deprecations-server/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-deprecations-common", + "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-api-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-browser-internal/BUILD.bazel b/packages/core/doc-links/core-doc-links-browser-internal/BUILD.bazel deleted file mode 100644 index b0a8cea7da17d..0000000000000 --- a/packages/core/doc-links/core-doc-links-browser-internal/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-doc-links:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc index b72ad3a17021a..8b54adc776848 100644 --- a/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-browser-internal/package.json b/packages/core/doc-links/core-doc-links-browser-internal/package.json index 00bfad1514cc1..26b93132d397b 100644 --- a/packages/core/doc-links/core-doc-links-browser-internal/package.json +++ b/packages/core/doc-links/core-doc-links-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-doc-links-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json b/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json index ef521586433c9..dda4c975120d7 100644 --- a/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/doc-links", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-doc-links-browser", + "@kbn/core-injected-metadata-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/BUILD.bazel b/packages/core/doc-links/core-doc-links-browser-mocks/BUILD.bazel deleted file mode 100644 index 67d4cf29a1e48..0000000000000 --- a/packages/core/doc-links/core-doc-links-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "//packages/core/doc-links/core-doc-links-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc index d1c5b7af28390..c081dab3fdb64 100644 --- a/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/package.json b/packages/core/doc-links/core-doc-links-browser-mocks/package.json index d2085b6c99089..e83064509f12c 100644 --- a/packages/core/doc-links/core-doc-links-browser-mocks/package.json +++ b/packages/core/doc-links/core-doc-links-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-doc-links-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json b/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json index ef521586433c9..473ae750e67ee 100644 --- a/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-doc-links-browser", + "@kbn/core-doc-links-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-browser/BUILD.bazel b/packages/core/doc-links/core-doc-links-browser/BUILD.bazel deleted file mode 100644 index 564858b40c5a7..0000000000000 --- a/packages/core/doc-links/core-doc-links-browser/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-browser" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-doc-links:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-browser/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc index 68ed9f30aff6b..e21e71f26fbe0 100644 --- a/packages/core/doc-links/core-doc-links-browser/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-browser/package.json b/packages/core/doc-links/core-doc-links-browser/package.json index 91d8b643949d2..af280c55ade61 100644 --- a/packages/core/doc-links/core-doc-links-browser/package.json +++ b/packages/core/doc-links/core-doc-links-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-doc-links-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-browser/tsconfig.json b/packages/core/doc-links/core-doc-links-browser/tsconfig.json index ef521586433c9..68b5d3d0d0194 100644 --- a/packages/core/doc-links/core-doc-links-browser/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/doc-links" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-server-internal/BUILD.bazel b/packages/core/doc-links/core-doc-links-server-internal/BUILD.bazel deleted file mode 100644 index 911d177dd40ba..0000000000000 --- a/packages/core/doc-links/core-doc-links-server-internal/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/base/core-base-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-doc-links:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/base/core-base-server-mocks:npm_module_types", - "//packages/core/doc-links/core-doc-links-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc index f2158ec018209..2e8ef46d85c88 100644 --- a/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-server-internal/package.json b/packages/core/doc-links/core-doc-links-server-internal/package.json index 1c5ee24849e21..675462eb9661b 100644 --- a/packages/core/doc-links/core-doc-links-server-internal/package.json +++ b/packages/core/doc-links/core-doc-links-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-doc-links-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json b/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json index ef521586433c9..2cbc824289c1f 100644 --- a/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/doc-links", + "@kbn/core-base-server-internal", + "@kbn/core-base-server-mocks", + "@kbn/core-doc-links-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-server-mocks/BUILD.bazel b/packages/core/doc-links/core-doc-links-server-mocks/BUILD.bazel deleted file mode 100644 index 546564f9f581b..0000000000000 --- a/packages/core/doc-links/core-doc-links-server-mocks/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-doc-links", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-doc-links:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:npm_module_types", - "//packages/core/doc-links/core-doc-links-server:npm_module_types", - "//packages/core/doc-links/core-doc-links-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc index 5d61cf066d312..76c59c8f5b31a 100644 --- a/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-server-mocks/package.json b/packages/core/doc-links/core-doc-links-server-mocks/package.json index 7d15b2ecb0a7d..b3a6f1f05aa13 100644 --- a/packages/core/doc-links/core-doc-links-server-mocks/package.json +++ b/packages/core/doc-links/core-doc-links-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-doc-links-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json b/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json index ef521586433c9..7ffdec8e985dc 100644 --- a/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/doc-links", + "@kbn/core-doc-links-server", + "@kbn/core-doc-links-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/doc-links/core-doc-links-server/BUILD.bazel b/packages/core/doc-links/core-doc-links-server/BUILD.bazel deleted file mode 100644 index b670b86f3b41f..0000000000000 --- a/packages/core/doc-links/core-doc-links-server/BUILD.bazel +++ /dev/null @@ -1,103 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-doc-links-server" -PKG_REQUIRE_NAME = "@kbn/core-doc-links-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-doc-links:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/doc-links/core-doc-links-server/kibana.jsonc b/packages/core/doc-links/core-doc-links-server/kibana.jsonc index e0460f4da99bc..74063c462a4bd 100644 --- a/packages/core/doc-links/core-doc-links-server/kibana.jsonc +++ b/packages/core/doc-links/core-doc-links-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-doc-links-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/doc-links/core-doc-links-server/package.json b/packages/core/doc-links/core-doc-links-server/package.json index 98e82071c1afb..891b6e625ec7d 100644 --- a/packages/core/doc-links/core-doc-links-server/package.json +++ b/packages/core/doc-links/core-doc-links-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-doc-links-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/doc-links/core-doc-links-server/tsconfig.json b/packages/core/doc-links/core-doc-links-server/tsconfig.json index ef521586433c9..68b5d3d0d0194 100644 --- a/packages/core/doc-links/core-doc-links-server/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/doc-links" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/BUILD.bazel b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/BUILD.bazel deleted file mode 100644 index af435dff173a7..0000000000000 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-elasticsearch-client-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-elasticsearch-client-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//moment", - "@npm//@elastic/elasticsearch", - "@npm//@elastic/numeral", - "//packages/kbn-std", - "//packages/kbn-es-errors", - "//packages/core/http/core-http-router-server-internal", - ### test dependencies - "//packages/core/logging/core-logging-server-mocks", - "//packages/core/http/core-http-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "@npm//@elastic/elasticsearch", - "@npm//@elastic/numeral", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-es-errors:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-router-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc index e2393e888d5de..064e503803d9a 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-elasticsearch-client-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/package.json b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/package.json index 26a5453f7deb8..393f1c5418ff4 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/package.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-elasticsearch-client-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json index ef521586433c9..d43e5bcbe630d 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,20 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/std", + "@kbn/es-errors", + "@kbn/logging", + "@kbn/core-http-server", + "@kbn/core-http-router-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/logging-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-http-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/BUILD.bazel b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/BUILD.bazel deleted file mode 100644 index 903df3a4bf668..0000000000000 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-elasticsearch-client-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-elasticsearch-client-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/elasticsearch", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc index ae267b45ddc1c..234f583289e7a 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-elasticsearch-client-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/package.json b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/package.json index 2e40a2411c6f5..481aeec61ba6a 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/package.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-elasticsearch-client-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json index ef521586433c9..961653f7e4c0e 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-client-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/BUILD.bazel b/packages/core/elasticsearch/core-elasticsearch-server-internal/BUILD.bazel deleted file mode 100644 index a609d040b08f3..0000000000000 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/BUILD.bazel +++ /dev/null @@ -1,140 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-elasticsearch-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-elasticsearch-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//semver", - "@npm//moment", - "@npm//@elastic/elasticsearch", - "//packages/kbn-std", - "//packages/kbn-i18n", - "//packages/kbn-crypto", - "//packages/kbn-config-schema", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal", - ### test dependencies - "//packages/kbn-config-mocks", - "//packages/core/logging/core-logging-server-mocks", - "//packages/core/analytics/core-analytics-server-mocks", - "//packages/core/execution-context/core-execution-context-server-mocks", - "//packages/core/http/core-http-server-mocks", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks", - "//packages/core/config/core-config-server-internal", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//@types/semver", - "@npm//moment", - "@npm//@elastic/elasticsearch", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-crypto:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:npm_module_types", - "//packages/core/test-helpers/core-test-helpers-deprecations-getters:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc index 34ea515ba045f..d7d99fa587f47 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-elasticsearch-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/package.json b/packages/core/elasticsearch/core-elasticsearch-server-internal/package.json index 7da243a2ddd91..01035adcda8b1 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/package.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-elasticsearch-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts index ecd364b4283cf..f523cfe8c4a8f 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts @@ -21,7 +21,7 @@ import { MockClusterClient, isScriptingEnabledMock } from './elasticsearch_servi import type { NodesVersionCompatibility } from './version_check/ensure_es_version'; import { BehaviorSubject, firstValueFrom } from 'rxjs'; import { first, concatMap } from 'rxjs/operators'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { configServiceMock, getEnvOptions } from '@kbn/config-mocks'; import type { CoreContext } from '@kbn/core-base-server-internal'; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json index ef521586433c9..7b444c90f62c9 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,33 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/std", + "@kbn/logging", + "@kbn/i18n", + "@kbn/crypto", + "@kbn/config-schema", + "@kbn/core-base-server-internal", + "@kbn/core-status-common", + "@kbn/core-analytics-server", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-execution-context-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/core-test-helpers-deprecations-getters", + "@kbn/config", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/core-analytics-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/repo-info", + "@kbn/config-mocks", + "@kbn/core-execution-context-server-mocks", + "@kbn/core-http-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/BUILD.bazel b/packages/core/elasticsearch/core-elasticsearch-server-mocks/BUILD.bazel deleted file mode 100644 index bfc62c14edd0b..0000000000000 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/BUILD.bazel +++ /dev/null @@ -1,109 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-elasticsearch-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-elasticsearch-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc index d08d5d04cbb39..07c507160e1b3 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-elasticsearch-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/package.json b/packages/core/elasticsearch/core-elasticsearch-server-mocks/package.json index 4bfdb9ae43502..8e5774d75f6a9 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/package.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-elasticsearch-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json index ef521586433c9..ee0d179f22017 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-status-common", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/core-elasticsearch-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/elasticsearch/core-elasticsearch-server/BUILD.bazel b/packages/core/elasticsearch/core-elasticsearch-server/BUILD.bazel deleted file mode 100644 index b21a8c7febbb4..0000000000000 --- a/packages/core/elasticsearch/core-elasticsearch-server/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-elasticsearch-server" -PKG_REQUIRE_NAME = "@kbn/core-elasticsearch-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "@npm//@elastic/elasticsearch", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-es-errors:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc index 5bf72319cc41b..0cc1c07fa2b30 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc +++ b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-elasticsearch-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/elasticsearch/core-elasticsearch-server/package.json b/packages/core/elasticsearch/core-elasticsearch-server/package.json index 3c922fc3fff6d..db40eec90146f 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/package.json +++ b/packages/core/elasticsearch/core-elasticsearch-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-elasticsearch-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json index ef521586433c9..88e18c12e41e0 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/es-errors", + "@kbn/core-http-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/environment/core-environment-server-internal/BUILD.bazel b/packages/core/environment/core-environment-server-internal/BUILD.bazel deleted file mode 100644 index 02787bec3ad60..0000000000000 --- a/packages/core/environment/core-environment-server-internal/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-environment-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-environment-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//lodash", - "@npm//uuid", - "//packages/core/base/core-base-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//rxjs", - "@npm//lodash", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/logging/core-logging-server-mocks:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/environment/core-environment-server-internal/kibana.jsonc b/packages/core/environment/core-environment-server-internal/kibana.jsonc index 9d8de1124ce0f..c25c03c1a433d 100644 --- a/packages/core/environment/core-environment-server-internal/kibana.jsonc +++ b/packages/core/environment/core-environment-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-environment-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/environment/core-environment-server-internal/package.json b/packages/core/environment/core-environment-server-internal/package.json index 4be8f11e12fc6..698f7c88923e9 100644 --- a/packages/core/environment/core-environment-server-internal/package.json +++ b/packages/core/environment/core-environment-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-environment-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/environment/core-environment-server-internal/tsconfig.json b/packages/core/environment/core-environment-server-internal/tsconfig.json index ef521586433c9..b1853e14a9ead 100644 --- a/packages/core/environment/core-environment-server-internal/tsconfig.json +++ b/packages/core/environment/core-environment-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,20 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utils", + "@kbn/logging", + "@kbn/config", + "@kbn/core-base-server-internal", + "@kbn/core-analytics-server", + "@kbn/core-logging-server-mocks", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-analytics-server-mocks", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/environment/core-environment-server-mocks/BUILD.bazel b/packages/core/environment/core-environment-server-mocks/BUILD.bazel deleted file mode 100644 index 99bb5420b5685..0000000000000 --- a/packages/core/environment/core-environment-server-mocks/BUILD.bazel +++ /dev/null @@ -1,103 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-environment-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-environment-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/environment/core-environment-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/environment/core-environment-server-mocks/kibana.jsonc b/packages/core/environment/core-environment-server-mocks/kibana.jsonc index 6644816727a70..6905db81b1d91 100644 --- a/packages/core/environment/core-environment-server-mocks/kibana.jsonc +++ b/packages/core/environment/core-environment-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-environment-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/environment/core-environment-server-mocks/package.json b/packages/core/environment/core-environment-server-mocks/package.json index c8de3e7c69acf..3d8c7cb8525c0 100644 --- a/packages/core/environment/core-environment-server-mocks/package.json +++ b/packages/core/environment/core-environment-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-environment-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/environment/core-environment-server-mocks/tsconfig.json b/packages/core/environment/core-environment-server-mocks/tsconfig.json index ef521586433c9..a3529d5cdb9f3 100644 --- a/packages/core/environment/core-environment-server-mocks/tsconfig.json +++ b/packages/core/environment/core-environment-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-environment-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-browser-internal/BUILD.bazel b/packages/core/execution-context/core-execution-context-browser-internal/BUILD.bazel deleted file mode 100644 index 5dafaa8a707cf..0000000000000 --- a/packages/core/execution-context/core-execution-context-browser-internal/BUILD.bazel +++ /dev/null @@ -1,117 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "//packages/core/analytics/core-analytics-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/analytics/core-analytics-browser:npm_module_types", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc index 1771d94a14b8a..36f56a25426a8 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-browser-internal/package.json b/packages/core/execution-context/core-execution-context-browser-internal/package.json index 448610f80f573..601ce7cce3ec5 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/package.json +++ b/packages/core/execution-context/core-execution-context-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-execution-context-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json b/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json index ef521586433c9..a8301ada1eaa4 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-base-browser-internal", + "@kbn/core-analytics-browser", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-execution-context-common", + "@kbn/core-execution-context-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/BUILD.bazel b/packages/core/execution-context/core-execution-context-browser-mocks/BUILD.bazel deleted file mode 100644 index f47b874438a3a..0000000000000 --- a/packages/core/execution-context/core-execution-context-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc index 8d27a9ec919dd..63963af90bdff 100644 --- a/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/package.json b/packages/core/execution-context/core-execution-context-browser-mocks/package.json index e6e278b62aec6..79332249636a7 100644 --- a/packages/core/execution-context/core-execution-context-browser-mocks/package.json +++ b/packages/core/execution-context/core-execution-context-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-execution-context-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json b/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json index ef521586433c9..39e9576ba62e0 100644 --- a/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-execution-context-browser", + "@kbn/core-execution-context-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-browser/BUILD.bazel b/packages/core/execution-context/core-execution-context-browser/BUILD.bazel deleted file mode 100644 index bd66cba6f7716..0000000000000 --- a/packages/core/execution-context/core-execution-context-browser/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-browser" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-browser/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc index 550d63fc67de1..ee8dd2fad5ebe 100644 --- a/packages/core/execution-context/core-execution-context-browser/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-browser/package.json b/packages/core/execution-context/core-execution-context-browser/package.json index fe065da833ba4..c450345458713 100644 --- a/packages/core/execution-context/core-execution-context-browser/package.json +++ b/packages/core/execution-context/core-execution-context-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-execution-context-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-browser/tsconfig.json b/packages/core/execution-context/core-execution-context-browser/tsconfig.json index ef521586433c9..b240bd7f5bc8e 100644 --- a/packages/core/execution-context/core-execution-context-browser/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-execution-context-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-common/BUILD.bazel b/packages/core/execution-context/core-execution-context-common/BUILD.bazel deleted file mode 100644 index 2346a268246e5..0000000000000 --- a/packages/core/execution-context/core-execution-context-common/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-common" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-common/kibana.jsonc b/packages/core/execution-context/core-execution-context-common/kibana.jsonc index d3cf33be164d2..4775632a026b7 100644 --- a/packages/core/execution-context/core-execution-context-common/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-common/package.json b/packages/core/execution-context/core-execution-context-common/package.json index 8811373e38431..e8bc5a341ca8b 100644 --- a/packages/core/execution-context/core-execution-context-common/package.json +++ b/packages/core/execution-context/core-execution-context-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-execution-context-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-common/tsconfig.json b/packages/core/execution-context/core-execution-context-common/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/execution-context/core-execution-context-common/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-server-internal/BUILD.bazel b/packages/core/execution-context/core-execution-context-server-internal/BUILD.bazel deleted file mode 100644 index bc44df8b75205..0000000000000 --- a/packages/core/execution-context/core-execution-context-server-internal/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "//packages/kbn-config-schema", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//rxjs", - "@npm//elastic-apm-node", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", - "//packages/core/execution-context/core-execution-context-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc index d344f53f34f57..7da11bd3d4571 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-server-internal/package.json b/packages/core/execution-context/core-execution-context-server-internal/package.json index 40e2e6b7d1a2d..aceeec16d11e4 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/package.json +++ b/packages/core/execution-context/core-execution-context-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-execution-context-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json b/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json index ef521586433c9..ecaf9eb98cc59 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,17 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-execution-context-common", + "@kbn/core-execution-context-server", + "@kbn/core-base-server-mocks", + "@kbn/core-logging-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-server-mocks/BUILD.bazel b/packages/core/execution-context/core-execution-context-server-mocks/BUILD.bazel deleted file mode 100644 index 4f20c479b8de3..0000000000000 --- a/packages/core/execution-context/core-execution-context-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", - "//packages/core/execution-context/core-execution-context-server:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc index e73d0b4f9b216..05ebf05ec64ba 100644 --- a/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-server-mocks/package.json b/packages/core/execution-context/core-execution-context-server-mocks/package.json index 398a5984a4568..1b5660f4ba2c3 100644 --- a/packages/core/execution-context/core-execution-context-server-mocks/package.json +++ b/packages/core/execution-context/core-execution-context-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-execution-context-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json b/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json index ef521586433c9..3b28753beb435 100644 --- a/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-execution-context-common", + "@kbn/core-execution-context-server", + "@kbn/core-execution-context-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/execution-context/core-execution-context-server/BUILD.bazel b/packages/core/execution-context/core-execution-context-server/BUILD.bazel deleted file mode 100644 index 8b50d3351a8cd..0000000000000 --- a/packages/core/execution-context/core-execution-context-server/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-execution-context-server" -PKG_REQUIRE_NAME = "@kbn/core-execution-context-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//elastic-apm-node", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/execution-context/core-execution-context-server/kibana.jsonc b/packages/core/execution-context/core-execution-context-server/kibana.jsonc index 5de7baaaccb32..3249180ad327e 100644 --- a/packages/core/execution-context/core-execution-context-server/kibana.jsonc +++ b/packages/core/execution-context/core-execution-context-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-execution-context-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/execution-context/core-execution-context-server/package.json b/packages/core/execution-context/core-execution-context-server/package.json index 898c44da57f1c..84e77a89939d8 100644 --- a/packages/core/execution-context/core-execution-context-server/package.json +++ b/packages/core/execution-context/core-execution-context-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-execution-context-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/execution-context/core-execution-context-server/tsconfig.json b/packages/core/execution-context/core-execution-context-server/tsconfig.json index ef521586433c9..b240bd7f5bc8e 100644 --- a/packages/core/execution-context/core-execution-context-server/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-execution-context-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/BUILD.bazel b/packages/core/fatal-errors/core-fatal-errors-browser-internal/BUILD.bazel deleted file mode 100644 index bd1cf9b240027..0000000000000 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-fatal-errors-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-fatal-errors-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//rxjs", - "@npm//@elastic/eui", - "//packages/core/theme/core-theme-browser-internal", - "//packages/core/theme/core-theme-browser-mocks", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "//packages/kbn-i18n-react", - "//packages/kbn-test-jest-helpers", - "//packages/kbn-test-subj-selector", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-dom", - "@npm//rxjs", - "@npm//@elastic/eui", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-test-jest-helpers", - "//packages/kbn-test-subj-selector", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc index 76752593fd00c..5b5b044518d52 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-fatal-errors-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/package.json b/packages/core/fatal-errors/core-fatal-errors-browser-internal/package.json index 327573f65a502..aa45271c86bbd 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/package.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-fatal-errors-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json index c561d9f220124..0e892d0a955ea 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,20 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-theme-browser", + "@kbn/core-theme-browser-internal", + "@kbn/core-i18n-browser", + "@kbn/core-fatal-errors-browser", + "@kbn/i18n-react", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/test-subj-selector", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/BUILD.bazel b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/BUILD.bazel deleted file mode 100644 index cc6407d5d9e3e..0000000000000 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-fatal-errors-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-fatal-errors-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/core/fatal-errors/core-fatal-errors-browser:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal:npm_module_types", - "//packages/kbn-utility-types:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc index 6109111801eb1..61cb6496a2410 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-fatal-errors-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/package.json b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/package.json index edc9e1832b147..906b532c1fb98 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/package.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-fatal-errors-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json index 3cdea36de9eac..ee791562dfd89 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-fatal-errors-browser", + "@kbn/core-fatal-errors-browser-internal", + "@kbn/utility-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/BUILD.bazel b/packages/core/fatal-errors/core-fatal-errors-browser/BUILD.bazel deleted file mode 100644 index 680205ac2db28..0000000000000 --- a/packages/core/fatal-errors/core-fatal-errors-browser/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-fatal-errors-browser" -PKG_REQUIRE_NAME = "@kbn/core-fatal-errors-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//rxjs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc index 95423568bca93..a8e7670392301 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc +++ b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-fatal-errors-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/package.json b/packages/core/fatal-errors/core-fatal-errors-browser/package.json index 880780bb73c05..4e40d1aa3eddb 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser/package.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-fatal-errors-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json index 3cdea36de9eac..0f16c2b9311d8 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-browser-internal/BUILD.bazel b/packages/core/http/core-http-browser-internal/BUILD.bazel deleted file mode 100644 index 5f46ac65c2c24..0000000000000 --- a/packages/core/http/core-http-browser-internal/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "//packages/core/execution-context/core-execution-context-browser-internal", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "//packages/kbn-crypto-browser", - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/http/core-http-common:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/kbn-crypto-browser:npm_module_types", - "//packages/kbn-std:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-browser-internal/kibana.jsonc b/packages/core/http/core-http-browser-internal/kibana.jsonc index d5855d71ca178..aca4d47656686 100644 --- a/packages/core/http/core-http-browser-internal/kibana.jsonc +++ b/packages/core/http/core-http-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-browser-internal/package.json b/packages/core/http/core-http-browser-internal/package.json index f61b71cc8d6ea..e2558c9cf2ae9 100644 --- a/packages/core/http/core-http-browser-internal/package.json +++ b/packages/core/http/core-http-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-http-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts b/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts index 80947b5988a7b..61affac369211 100644 --- a/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts +++ b/packages/core/http/core-http-browser-internal/src/http_fetch_error.ts @@ -11,8 +11,6 @@ import type { IHttpFetchError } from '@kbn/core-http-browser'; /** @internal */ export class HttpFetchError extends Error implements IHttpFetchError { public readonly name: string; - public readonly req: Request; - public readonly res?: Response; constructor( message: string, @@ -23,8 +21,6 @@ export class HttpFetchError extends Error implements IHttpFetchError { ) { super(message); this.name = name; - this.req = request; - this.res = response; // captureStackTrace is only available in the V8 engine, so any browser using // a different JS engine won't have access to this method. diff --git a/packages/core/http/core-http-browser-internal/tsconfig.json b/packages/core/http/core-http-browser-internal/tsconfig.json index ef521586433c9..382c591951eb7 100644 --- a/packages/core/http/core-http-browser-internal/tsconfig.json +++ b/packages/core/http/core-http-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,23 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-base-browser-internal", + "@kbn/core-http-browser", + "@kbn/core-http-common", + "@kbn/core-execution-context-browser-internal", + "@kbn/core-execution-context-browser", + "@kbn/core-fatal-errors-browser", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/crypto-browser", + "@kbn/std", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-browser-mocks/BUILD.bazel b/packages/core/http/core-http-browser-mocks/BUILD.bazel deleted file mode 100644 index f951d30645a75..0000000000000 --- a/packages/core/http/core-http-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-http-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/http/core-http-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/http/core-http-browser-internal:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-browser-mocks/kibana.jsonc b/packages/core/http/core-http-browser-mocks/kibana.jsonc index 9819977cb419d..929adb25ee477 100644 --- a/packages/core/http/core-http-browser-mocks/kibana.jsonc +++ b/packages/core/http/core-http-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-browser-mocks/package.json b/packages/core/http/core-http-browser-mocks/package.json index 85d397fcb3018..2f6d39a345de8 100644 --- a/packages/core/http/core-http-browser-mocks/package.json +++ b/packages/core/http/core-http-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-http-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser-mocks/src/fetch_error.mock.ts b/packages/core/http/core-http-browser-mocks/src/fetch_error.mock.ts index 33c62e84e38d4..b8bd2893a0bbf 100644 --- a/packages/core/http/core-http-browser-mocks/src/fetch_error.mock.ts +++ b/packages/core/http/core-http-browser-mocks/src/fetch_error.mock.ts @@ -19,8 +19,6 @@ export function createHttpFetchError( name, request, response, - req: request, - res: response, body, }); } diff --git a/packages/core/http/core-http-browser-mocks/tsconfig.json b/packages/core/http/core-http-browser-mocks/tsconfig.json index ef521586433c9..e370c748ef29b 100644 --- a/packages/core/http/core-http-browser-mocks/tsconfig.json +++ b/packages/core/http/core-http-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-http-browser-internal", + "@kbn/core-http-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-browser/BUILD.bazel b/packages/core/http/core-http-browser/BUILD.bazel deleted file mode 100644 index f0566749a6206..0000000000000 --- a/packages/core/http/core-http-browser/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-browser" -PKG_REQUIRE_NAME = "@kbn/core-http-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/execution-context/core-execution-context-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-browser/kibana.jsonc b/packages/core/http/core-http-browser/kibana.jsonc index 87510d65336e3..8c1fdee8d3298 100644 --- a/packages/core/http/core-http-browser/kibana.jsonc +++ b/packages/core/http/core-http-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-browser/package.json b/packages/core/http/core-http-browser/package.json index 6124448731b9d..0c1dd7495fb9c 100644 --- a/packages/core/http/core-http-browser/package.json +++ b/packages/core/http/core-http-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-http-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-browser/src/types.ts b/packages/core/http/core-http-browser/src/types.ts index 313877378d1da..9b8abc89acaaa 100644 --- a/packages/core/http/core-http-browser/src/types.ts +++ b/packages/core/http/core-http-browser/src/types.ts @@ -349,22 +349,6 @@ export interface IHttpFetchError extends Error { readonly name: string; readonly request: Request; readonly response?: Response; - /** - * @deprecated Provided for legacy compatibility. Prefer the `request` property instead. - * @removeBy 8.8.0 - * - * Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, - * so TS and code-reference navigation might not highlight them. - */ - readonly req: Request; - /** - * @deprecated Provided for legacy compatibility. Prefer the `response` property instead. - * @removeBy 8.8.0 - * - * Note to maintainers: when looking at usages, mind that typical use could be inside a `catch` block, - * so TS and code-reference navigation might not highlight them. - */ - readonly res?: Response; readonly body?: TResponseBody; } diff --git a/packages/core/http/core-http-browser/src/utils.ts b/packages/core/http/core-http-browser/src/utils.ts index 2ecd61ee5ca10..9eda314e93010 100644 --- a/packages/core/http/core-http-browser/src/utils.ts +++ b/packages/core/http/core-http-browser/src/utils.ts @@ -10,5 +10,5 @@ import type { IHttpFetchError } from './types'; /** @public */ export function isHttpFetchError(error: T | IHttpFetchError): error is IHttpFetchError { - return error instanceof Error && ('request' in error || 'req' in error) && 'name' in error; + return error instanceof Error && 'request' in error && 'name' in error; } diff --git a/packages/core/http/core-http-browser/tsconfig.json b/packages/core/http/core-http-browser/tsconfig.json index ef521586433c9..ae85ff081604a 100644 --- a/packages/core/http/core-http-browser/tsconfig.json +++ b/packages/core/http/core-http-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-execution-context-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-common/BUILD.bazel b/packages/core/http/core-http-common/BUILD.bazel deleted file mode 100644 index 4852f4c69dcba..0000000000000 --- a/packages/core/http/core-http-common/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-common" -PKG_REQUIRE_NAME = "@kbn/core-http-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-common/kibana.jsonc b/packages/core/http/core-http-common/kibana.jsonc index bdf00df353c63..372eaf2d892a8 100644 --- a/packages/core/http/core-http-common/kibana.jsonc +++ b/packages/core/http/core-http-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-common/package.json b/packages/core/http/core-http-common/package.json index 42a7a24c829e7..83275f6a576c8 100644 --- a/packages/core/http/core-http-common/package.json +++ b/packages/core/http/core-http-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-http-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-common/tsconfig.json b/packages/core/http/core-http-common/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/http/core-http-common/tsconfig.json +++ b/packages/core/http/core-http-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-context-server-internal/BUILD.bazel b/packages/core/http/core-http-context-server-internal/BUILD.bazel deleted file mode 100644 index 93229dd4f2eee..0000000000000 --- a/packages/core/http/core-http-context-server-internal/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-context-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-context-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.mocks.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-common-internal:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-context-server-internal/kibana.jsonc b/packages/core/http/core-http-context-server-internal/kibana.jsonc index 18f306d721759..434d1c3055670 100644 --- a/packages/core/http/core-http-context-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-context-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-context-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-context-server-internal/package.json b/packages/core/http/core-http-context-server-internal/package.json index 3c43287f81311..58171795a82cd 100644 --- a/packages/core/http/core-http-context-server-internal/package.json +++ b/packages/core/http/core-http-context-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-context-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-context-server-internal/tsconfig.json b/packages/core/http/core-http-context-server-internal/tsconfig.json index ef521586433c9..0caeb0d5e0093 100644 --- a/packages/core/http/core-http-context-server-internal/tsconfig.json +++ b/packages/core/http/core-http-context-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-base-common", + "@kbn/core-base-common-internal", + "@kbn/core-base-server-internal", + "@kbn/core-http-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-context-server-mocks/BUILD.bazel b/packages/core/http/core-http-context-server-mocks/BUILD.bazel deleted file mode 100644 index e6deb74b09ab9..0000000000000 --- a/packages/core/http/core-http-context-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-context-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-http-context-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-context-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-context-server-mocks/kibana.jsonc b/packages/core/http/core-http-context-server-mocks/kibana.jsonc index 323d78350596b..aee5e424e6d33 100644 --- a/packages/core/http/core-http-context-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-context-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-context-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-context-server-mocks/package.json b/packages/core/http/core-http-context-server-mocks/package.json index a45376bd7c46f..b04f6ca97de75 100644 --- a/packages/core/http/core-http-context-server-mocks/package.json +++ b/packages/core/http/core-http-context-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-context-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-context-server-mocks/tsconfig.json b/packages/core/http/core-http-context-server-mocks/tsconfig.json index ef521586433c9..a47257e63f059 100644 --- a/packages/core/http/core-http-context-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-context-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-http-server", + "@kbn/core-http-context-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-request-handler-context-server-internal/BUILD.bazel b/packages/core/http/core-http-request-handler-context-server-internal/BUILD.bazel deleted file mode 100644 index af501978f3246..0000000000000 --- a/packages/core/http/core-http-request-handler-context-server-internal/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-request-handler-context-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-request-handler-context-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/elasticsearch/core-elasticsearch-server-internal", - "//packages/core/saved-objects/core-saved-objects-server-internal", - "//packages/core/deprecations/core-deprecations-server-internal", - "//packages/core/ui-settings/core-ui-settings-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-server-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc b/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc index 98b452aec0d97..5e5099ff6933b 100644 --- a/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-request-handler-context-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-request-handler-context-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-request-handler-context-server-internal/package.json b/packages/core/http/core-http-request-handler-context-server-internal/package.json index 15efa6e69096b..4569a702d9991 100644 --- a/packages/core/http/core-http-request-handler-context-server-internal/package.json +++ b/packages/core/http/core-http-request-handler-context-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-request-handler-context-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json b/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json index 4582562d6c9bb..5a15616fd2e54 100644 --- a/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json +++ b/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,22 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-http-server", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-deprecations-server-internal", + "@kbn/core-ui-settings-server", + "@kbn/core-ui-settings-server-internal", + "@kbn/core-http-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/core-deprecations-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-request-handler-context-server/BUILD.bazel b/packages/core/http/core-http-request-handler-context-server/BUILD.bazel deleted file mode 100644 index 6ca6411dbfbd1..0000000000000 --- a/packages/core/http/core-http-request-handler-context-server/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-request-handler-context-server" -PKG_REQUIRE_NAME = "@kbn/core-http-request-handler-context-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-request-handler-context-server/kibana.jsonc b/packages/core/http/core-http-request-handler-context-server/kibana.jsonc index 3fba38b6444e4..488812d9ae1f0 100644 --- a/packages/core/http/core-http-request-handler-context-server/kibana.jsonc +++ b/packages/core/http/core-http-request-handler-context-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-request-handler-context-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-request-handler-context-server/package.json b/packages/core/http/core-http-request-handler-context-server/package.json index 665e4f309631a..fb92737110781 100644 --- a/packages/core/http/core-http-request-handler-context-server/package.json +++ b/packages/core/http/core-http-request-handler-context-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-request-handler-context-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-request-handler-context-server/tsconfig.json b/packages/core/http/core-http-request-handler-context-server/tsconfig.json index 4582562d6c9bb..64112effbcc17 100644 --- a/packages/core/http/core-http-request-handler-context-server/tsconfig.json +++ b/packages/core/http/core-http-request-handler-context-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-http-server", + "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-server", + "@kbn/core-deprecations-server", + "@kbn/core-ui-settings-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-resources-server-internal/BUILD.bazel b/packages/core/http/core-http-resources-server-internal/BUILD.bazel deleted file mode 100644 index 3c299b5442ebc..0000000000000 --- a/packages/core/http/core-http-resources-server-internal/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-resources-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-resources-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//elastic-apm-node", - "//packages/kbn-logging", - "//packages/kbn-apm-config-loader", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//elastic-apm-node", - "//packages/kbn-apm-config-loader:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-resources-server:npm_module_types", - "//packages/core/rendering/core-rendering-server-internal:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-resources-server-internal/kibana.jsonc b/packages/core/http/core-http-resources-server-internal/kibana.jsonc index bea96a4a60844..5aaa476b2b770 100644 --- a/packages/core/http/core-http-resources-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-resources-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-resources-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-resources-server-internal/package.json b/packages/core/http/core-http-resources-server-internal/package.json index 70144170ed0b0..d491c4940f818 100644 --- a/packages/core/http/core-http-resources-server-internal/package.json +++ b/packages/core/http/core-http-resources-server-internal/package.json @@ -2,7 +2,5 @@ "name": "@kbn/core-http-resources-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server-internal/tsconfig.json b/packages/core/http/core-http-resources-server-internal/tsconfig.json index 4582562d6c9bb..446edf2894177 100644 --- a/packages/core/http/core-http-resources-server-internal/tsconfig.json +++ b/packages/core/http/core-http-resources-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,22 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/apm-config-loader", + "@kbn/logging", + "@kbn/core-http-server", + "@kbn/core-http-resources-server", + "@kbn/core-rendering-server-internal", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-http-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-rendering-server-mocks", + "@kbn/core-base-server-internal", + "@kbn/core-http-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-resources-server-mocks/BUILD.bazel b/packages/core/http/core-http-resources-server-mocks/BUILD.bazel deleted file mode 100644 index 5060511ec65ee..0000000000000 --- a/packages/core/http/core-http-resources-server-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-resources-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-http-resources-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/http/core-http-server-mocks", - "//packages/core/http/core-http-resources-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/http/core-http-server-mocks:npm_module_types", - "//packages/core/http/core-http-resources-server:npm_module_types", - "//packages/core/http/core-http-resources-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-resources-server-mocks/kibana.jsonc b/packages/core/http/core-http-resources-server-mocks/kibana.jsonc index e8703bdd42aa3..fee811ff5d489 100644 --- a/packages/core/http/core-http-resources-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-resources-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-resources-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-resources-server-mocks/package.json b/packages/core/http/core-http-resources-server-mocks/package.json index 7a264c389f642..cbc4795106a19 100644 --- a/packages/core/http/core-http-resources-server-mocks/package.json +++ b/packages/core/http/core-http-resources-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-resources-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server-mocks/tsconfig.json b/packages/core/http/core-http-resources-server-mocks/tsconfig.json index 4582562d6c9bb..d4b986317e6a1 100644 --- a/packages/core/http/core-http-resources-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-resources-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-http-server-mocks", + "@kbn/core-http-resources-server", + "@kbn/core-http-resources-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-resources-server/BUILD.bazel b/packages/core/http/core-http-resources-server/BUILD.bazel deleted file mode 100644 index a17973e8d5e64..0000000000000 --- a/packages/core/http/core-http-resources-server/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-resources-server" -PKG_REQUIRE_NAME = "@kbn/core-http-resources-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-resources-server/kibana.jsonc b/packages/core/http/core-http-resources-server/kibana.jsonc index a05c1223a7817..dd204cfcd25e0 100644 --- a/packages/core/http/core-http-resources-server/kibana.jsonc +++ b/packages/core/http/core-http-resources-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-resources-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-resources-server/package.json b/packages/core/http/core-http-resources-server/package.json index ecf7f2691ae9f..43b494116cf57 100644 --- a/packages/core/http/core-http-resources-server/package.json +++ b/packages/core/http/core-http-resources-server/package.json @@ -2,7 +2,5 @@ "name": "@kbn/core-http-resources-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-resources-server/tsconfig.json b/packages/core/http/core-http-resources-server/tsconfig.json index 4582562d6c9bb..3f8e3b88aece5 100644 --- a/packages/core/http/core-http-resources-server/tsconfig.json +++ b/packages/core/http/core-http-resources-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-http-server", + "@kbn/core-http-request-handler-context-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-router-server-internal/BUILD.bazel b/packages/core/http/core-http-router-server-internal/BUILD.bazel deleted file mode 100644 index 511f84695274d..0000000000000 --- a/packages/core/http/core-http-router-server-internal/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-router-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-router-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//@hapi/boom", - "@npm//uuid", - "@npm//rxjs", - "@npm//type-detect", - "//packages/kbn-config-schema", - "//packages/kbn-es-errors", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//type-detect", - "@npm//@hapi/hapi", - "@npm//@types/hapi__hapi", - "@npm//@hapi/boom", - "@npm//rxjs", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-es-errors:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-router-server-internal/kibana.jsonc b/packages/core/http/core-http-router-server-internal/kibana.jsonc index 5f7482d9fa06c..329d03a5490cb 100644 --- a/packages/core/http/core-http-router-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-router-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-router-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-router-server-internal/package.json b/packages/core/http/core-http-router-server-internal/package.json index 6bf05d2b0d2c3..b93c901bae3d4 100644 --- a/packages/core/http/core-http-router-server-internal/package.json +++ b/packages/core/http/core-http-router-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-router-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-router-server-internal/src/request.test.ts b/packages/core/http/core-http-router-server-internal/src/request.test.ts index c90d00c776585..8d3143bac02ef 100644 --- a/packages/core/http/core-http-router-server-internal/src/request.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/request.test.ts @@ -12,282 +12,342 @@ jest.mock('uuid', () => ({ import { RouteOptions } from '@hapi/hapi'; import { hapiMocks } from '@kbn/hapi-mocks'; +import type { FakeRawRequest } from '@kbn/core-http-server'; import { CoreKibanaRequest } from './request'; import { schema } from '@kbn/config-schema'; describe('CoreKibanaRequest', () => { - describe('id property', () => { - it('uses the request.app.requestId property if present', () => { - const request = hapiMocks.createRequest({ - app: { requestId: 'fakeId' }, + describe('using real requests', () => { + describe('id property', () => { + it('uses the request.app.requestId property if present', () => { + const request = hapiMocks.createRequest({ + app: { requestId: 'fakeId' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.id).toEqual('fakeId'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.id).toEqual('fakeId'); - }); - it('generates a new UUID if request.app property is not present', () => { - // Undefined app property - const request = hapiMocks.createRequest({ - app: undefined, + it('generates a new UUID if request.app property is not present', () => { + // Undefined app property + const request = hapiMocks.createRequest({ + app: undefined, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.id).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.id).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); - }); - it('generates a new UUID if request.app.requestId property is not present', () => { - // Undefined app.requestId property - const request = hapiMocks.createRequest({ - app: {}, + it('generates a new UUID if request.app.requestId property is not present', () => { + // Undefined app.requestId property + const request = hapiMocks.createRequest({ + app: {}, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.id).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.id).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - }); - describe('uuid property', () => { - it('uses the request.app.requestUuid property if present', () => { - const request = hapiMocks.createRequest({ - app: { requestUuid: '123e4567-e89b-12d3-a456-426614174000' }, + describe('uuid property', () => { + it('uses the request.app.requestUuid property if present', () => { + const request = hapiMocks.createRequest({ + app: { requestUuid: '123e4567-e89b-12d3-a456-426614174000' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.uuid).toEqual('123e4567-e89b-12d3-a456-426614174000'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.uuid).toEqual('123e4567-e89b-12d3-a456-426614174000'); - }); - it('generates a new UUID if request.app property is not present', () => { - // Undefined app property - const request = hapiMocks.createRequest({ - app: undefined, + it('generates a new UUID if request.app property is not present', () => { + // Undefined app property + const request = hapiMocks.createRequest({ + app: undefined, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.uuid).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.uuid).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); - }); - it('generates a new UUID if request.app.requestUuid property is not present', () => { - // Undefined app.requestUuid property - const request = hapiMocks.createRequest({ - app: {}, + it('generates a new UUID if request.app.requestUuid property is not present', () => { + // Undefined app.requestUuid property + const request = hapiMocks.createRequest({ + app: {}, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.uuid).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.uuid).toEqual('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'); }); - }); - describe('get all headers', () => { - it('returns all headers', () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one', authorization: 'token' }, + describe('get all headers', () => { + it('returns all headers', () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one', authorization: 'token' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.headers).toEqual({ custom: 'one', authorization: 'token' }); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.headers).toEqual({ custom: 'one', authorization: 'token' }); }); - }); - describe('headers property', () => { - it('provides a frozen copy of request headers', () => { - const rawRequestHeaders = { custom: 'one' }; - const request = hapiMocks.createRequest({ - headers: rawRequestHeaders, - }); - const kibanaRequest = CoreKibanaRequest.from(request); + describe('headers property', () => { + it('provides a frozen copy of request headers', () => { + const rawRequestHeaders = { custom: 'one' }; + const request = hapiMocks.createRequest({ + headers: rawRequestHeaders, + }); + const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.headers).toEqual({ custom: 'one' }); - expect(kibanaRequest.headers).not.toBe(rawRequestHeaders); - expect(Object.isFrozen(kibanaRequest.headers)).toBe(true); - }); - - it.skip("doesn't expose authorization header by default", () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one', authorization: 'token' }, - }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.headers).toEqual({ - custom: 'one', + expect(kibanaRequest.headers).toEqual({ custom: 'one' }); + expect(kibanaRequest.headers).not.toBe(rawRequestHeaders); + expect(Object.isFrozen(kibanaRequest.headers)).toBe(true); }); - }); - it('exposes authorization header if secured = false', () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one', authorization: 'token' }, + it.skip("doesn't expose authorization header by default", () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one', authorization: 'token' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.headers).toEqual({ + custom: 'one', + }); }); - const kibanaRequest = CoreKibanaRequest.from(request, undefined, false); - expect(kibanaRequest.headers).toEqual({ - custom: 'one', - authorization: 'token', + + it('exposes authorization header if secured = false', () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one', authorization: 'token' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request, undefined, false); + expect(kibanaRequest.headers).toEqual({ + custom: 'one', + authorization: 'token', + }); }); }); - }); - describe('isSytemApi property', () => { - it('is false when no kbn-system-request header is set', () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one' }, + describe('isSytemApi property', () => { + it('is false when no kbn-system-request header is set', () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.isSystemRequest).toBe(false); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.isSystemRequest).toBe(false); - }); - it('is true when kbn-system-request header is set to true', () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one', 'kbn-system-request': 'true' }, + it('is true when kbn-system-request header is set to true', () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one', 'kbn-system-request': 'true' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.isSystemRequest).toBe(true); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.isSystemRequest).toBe(true); - }); - it('is false when kbn-system-request header is set to false', () => { - const request = hapiMocks.createRequest({ - headers: { custom: 'one', 'kbn-system-request': 'false' }, + it('is false when kbn-system-request header is set to false', () => { + const request = hapiMocks.createRequest({ + headers: { custom: 'one', 'kbn-system-request': 'false' }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.isSystemRequest).toBe(false); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.isSystemRequest).toBe(false); }); - }); - describe('route.options.authRequired property', () => { - it('handles required auth: undefined', () => { - const auth: RouteOptions['auth'] = undefined; - const request = hapiMocks.createRequest({ - route: { - settings: { - auth, + describe('route.options.authRequired property', () => { + it('handles required auth: undefined', () => { + const auth: RouteOptions['auth'] = undefined; + const request = hapiMocks.createRequest({ + route: { + settings: { + auth, + }, }, - }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + + expect(kibanaRequest.route.options.authRequired).toBe(true); }); - const kibanaRequest = CoreKibanaRequest.from(request); + it('handles required auth: false', () => { + const auth: RouteOptions['auth'] = false; + const request = hapiMocks.createRequest({ + route: { + settings: { + // @ts-expect-error According to types/hapi__hapi, `auth` can't be a boolean, but it can according to the @hapi/hapi source (https://github.com/hapijs/hapi/blob/v18.4.2/lib/route.js#L139) + auth, + }, + }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.route.options.authRequired).toBe(true); - }); - it('handles required auth: false', () => { - const auth: RouteOptions['auth'] = false; - const request = hapiMocks.createRequest({ - route: { - settings: { - // @ts-expect-error According to types/hapi__hapi, `auth` can't be a boolean, but it can according to the @hapi/hapi source (https://github.com/hapijs/hapi/blob/v18.4.2/lib/route.js#L139) - auth, + expect(kibanaRequest.route.options.authRequired).toBe(false); + }); + it('handles required auth: { mode: "required" }', () => { + const request = hapiMocks.createRequest({ + route: { + settings: { + auth: { mode: 'required' }, + }, }, - }, + }); + const kibanaRequest = CoreKibanaRequest.from(request); + + expect(kibanaRequest.route.options.authRequired).toBe(true); }); - const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.route.options.authRequired).toBe(false); - }); - it('handles required auth: { mode: "required" }', () => { - const request = hapiMocks.createRequest({ - route: { - settings: { - auth: { mode: 'required' }, + it('handles required auth: { mode: "optional" }', () => { + const request = hapiMocks.createRequest({ + route: { + settings: { + auth: { mode: 'optional' }, + }, }, - }, - }); - const kibanaRequest = CoreKibanaRequest.from(request); + }); + const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.route.options.authRequired).toBe(true); - }); + expect(kibanaRequest.route.options.authRequired).toBe('optional'); + }); - it('handles required auth: { mode: "optional" }', () => { - const request = hapiMocks.createRequest({ - route: { - settings: { - auth: { mode: 'optional' }, + it('handles required auth: { mode: "try" } as "optional"', () => { + const request = hapiMocks.createRequest({ + route: { + settings: { + auth: { mode: 'try' }, + }, }, - }, - }); - const kibanaRequest = CoreKibanaRequest.from(request); + }); + const kibanaRequest = CoreKibanaRequest.from(request); - expect(kibanaRequest.route.options.authRequired).toBe('optional'); - }); + expect(kibanaRequest.route.options.authRequired).toBe('optional'); + }); - it('handles required auth: { mode: "try" } as "optional"', () => { - const request = hapiMocks.createRequest({ - route: { - settings: { - auth: { mode: 'try' }, + it('throws on auth: strategy name', () => { + const request = hapiMocks.createRequest({ + route: { + settings: { + auth: { strategies: ['session'] }, + }, }, - }, - }); - const kibanaRequest = CoreKibanaRequest.from(request); + }); - expect(kibanaRequest.route.options.authRequired).toBe('optional'); - }); + expect(() => CoreKibanaRequest.from(request)).toThrowErrorMatchingInlineSnapshot( + `"unexpected authentication options: {\\"strategies\\":[\\"session\\"]} for route: /"` + ); + }); - it('throws on auth: strategy name', () => { - const request = hapiMocks.createRequest({ - route: { - settings: { - auth: { strategies: ['session'] }, + it('throws on auth: { mode: unexpected mode }', () => { + const request = hapiMocks.createRequest({ + route: { + settings: { + auth: { mode: undefined }, + }, }, - }, - }); + }); - expect(() => CoreKibanaRequest.from(request)).toThrowErrorMatchingInlineSnapshot( - `"unexpected authentication options: {\\"strategies\\":[\\"session\\"]} for route: /"` - ); + expect(() => CoreKibanaRequest.from(request)).toThrowErrorMatchingInlineSnapshot( + `"unexpected authentication options: {} for route: /"` + ); + }); }); - it('throws on auth: { mode: unexpected mode }', () => { - const request = hapiMocks.createRequest({ - route: { - settings: { - auth: { mode: undefined }, + describe('RouteSchema type inferring', () => { + it('should work with config-schema', () => { + const body = Buffer.from('body!'); + const request = { + ...hapiMocks.createRequest({ + params: { id: 'params' }, + query: { search: 'query' }, + }), + payload: body, // Set outside because the mock is using `merge` by lodash and breaks the Buffer into arrays + } as any; + const kibanaRequest = CoreKibanaRequest.from(request, { + params: schema.object({ id: schema.string() }), + query: schema.object({ search: schema.string() }), + body: schema.buffer(), + }); + expect(kibanaRequest.params).toStrictEqual({ id: 'params' }); + expect(kibanaRequest.params.id.toUpperCase()).toEqual('PARAMS'); // infers it's a string + expect(kibanaRequest.query).toStrictEqual({ search: 'query' }); + expect(kibanaRequest.query.search.toUpperCase()).toEqual('QUERY'); // infers it's a string + expect(kibanaRequest.body).toEqual(body); + expect(kibanaRequest.body.byteLength).toBeGreaterThan(0); // infers it's a buffer + }); + + it('should work with ValidationFunction', () => { + const body = Buffer.from('body!'); + const request = { + ...hapiMocks.createRequest({ + params: { id: 'params' }, + query: { search: 'query' }, + }), + payload: body, // Set outside because the mock is using `merge` by lodash and breaks the Buffer into arrays + } as any; + const kibanaRequest = CoreKibanaRequest.from(request, { + params: schema.object({ id: schema.string() }), + query: schema.object({ search: schema.string() }), + body: (data, { ok, badRequest }) => { + if (Buffer.isBuffer(data)) { + return ok(data); + } else { + return badRequest('It should be a Buffer', []); + } }, - }, + }); + expect(kibanaRequest.params).toStrictEqual({ id: 'params' }); + expect(kibanaRequest.params.id.toUpperCase()).toEqual('PARAMS'); // infers it's a string + expect(kibanaRequest.query).toStrictEqual({ search: 'query' }); + expect(kibanaRequest.query.search.toUpperCase()).toEqual('QUERY'); // infers it's a string + expect(kibanaRequest.body).toEqual(body); + expect(kibanaRequest.body.byteLength).toBeGreaterThan(0); // infers it's a buffer }); + }); - expect(() => CoreKibanaRequest.from(request)).toThrowErrorMatchingInlineSnapshot( - `"unexpected authentication options: {} for route: /"` - ); + describe('isFakeRequest', () => { + it('should be false', () => { + const request = hapiMocks.createRequest({}); + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.isFakeRequest).toBe(false); + }); }); }); - describe('RouteSchema type inferring', () => { - it('should work with config-schema', () => { - const body = Buffer.from('body!'); - const request = { - ...hapiMocks.createRequest({ - params: { id: 'params' }, - query: { search: 'query' }, - }), - payload: body, // Set outside because the mock is using `merge` by lodash and breaks the Buffer into arrays - } as any; - const kibanaRequest = CoreKibanaRequest.from(request, { - params: schema.object({ id: schema.string() }), - query: schema.object({ search: schema.string() }), - body: schema.buffer(), + describe('using fake requests', () => { + describe('isFakeRequest', () => { + it('should be true', () => { + const request: FakeRawRequest = { + headers: {}, + path: '/', + }; + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.isFakeRequest).toBe(true); + }); + }); + + describe('headers', () => { + it('returns the correct headers', () => { + const request: FakeRawRequest = { + headers: { + foo: 'bar', + hello: 'dolly', + }, + path: '/', + }; + const kibanaRequest = CoreKibanaRequest.from(request); + expect(kibanaRequest.headers).toEqual({ + foo: 'bar', + hello: 'dolly', + }); }); - expect(kibanaRequest.params).toStrictEqual({ id: 'params' }); - expect(kibanaRequest.params.id.toUpperCase()).toEqual('PARAMS'); // infers it's a string - expect(kibanaRequest.query).toStrictEqual({ search: 'query' }); - expect(kibanaRequest.query.search.toUpperCase()).toEqual('QUERY'); // infers it's a string - expect(kibanaRequest.body).toEqual(body); - expect(kibanaRequest.body.byteLength).toBeGreaterThan(0); // infers it's a buffer }); - it('should work with ValidationFunction', () => { - const body = Buffer.from('body!'); - const request = { - ...hapiMocks.createRequest({ - params: { id: 'params' }, - query: { search: 'query' }, - }), - payload: body, // Set outside because the mock is using `merge` by lodash and breaks the Buffer into arrays - } as any; - const kibanaRequest = CoreKibanaRequest.from(request, { - params: schema.object({ id: schema.string() }), - query: schema.object({ search: schema.string() }), - body: (data, { ok, badRequest }) => { - if (Buffer.isBuffer(data)) { - return ok(data); - } else { - return badRequest('It should be a Buffer', []); - } - }, + describe('auth', () => { + it('returns the correct value for isAuthenticated', () => { + expect( + CoreKibanaRequest.from({ + headers: {}, + path: '/', + auth: { isAuthenticated: true }, + }).auth.isAuthenticated + ).toEqual(true); + expect( + CoreKibanaRequest.from({ + headers: {}, + path: '/', + auth: { isAuthenticated: false }, + }).auth.isAuthenticated + ).toEqual(false); }); - expect(kibanaRequest.params).toStrictEqual({ id: 'params' }); - expect(kibanaRequest.params.id.toUpperCase()).toEqual('PARAMS'); // infers it's a string - expect(kibanaRequest.query).toStrictEqual({ search: 'query' }); - expect(kibanaRequest.query.search.toUpperCase()).toEqual('QUERY'); // infers it's a string - expect(kibanaRequest.body).toEqual(body); - expect(kibanaRequest.body.byteLength).toBeGreaterThan(0); // infers it's a buffer }); }); }); diff --git a/packages/core/http/core-http-router-server-internal/src/request.ts b/packages/core/http/core-http-router-server-internal/src/request.ts index 243ea5acb78ce..66dedcc017e9b 100644 --- a/packages/core/http/core-http-router-server-internal/src/request.ts +++ b/packages/core/http/core-http-router-server-internal/src/request.ts @@ -26,6 +26,8 @@ import { KibanaRequestState, KibanaRouteOptions, KibanaRequestRouteOptions, + RawRequest, + FakeRawRequest, } from '@kbn/core-http-server'; import { isSafeMethod } from './route'; import { KibanaSocket } from './socket'; @@ -52,7 +54,7 @@ export class CoreKibanaRequest< * @internal */ public static from( - req: Request, + req: RawRequest, routeSchemas: RouteValidator | RouteValidatorFullConfig = {}, withoutSecretHeaders: boolean = true ) { @@ -74,13 +76,16 @@ export class CoreKibanaRequest< * @internal */ private static validate( - req: Request, + req: RawRequest, routeValidator: RouteValidator ): { params: P; query: Q; body: B; } { + if (isFakeRawRequest(req)) { + return { query: {} as Q, params: {} as P, body: {} as B }; + } const params = routeValidator.getParams(req.params, 'request params'); const query = routeValidator.getQuery(req.query, 'request query'); const body = routeValidator.getBody(req.payload, 'request body'); @@ -105,6 +110,8 @@ export class CoreKibanaRequest< public readonly events: KibanaRequestEvents; /** {@inheritDoc IKibanaRequest.auth} */ public readonly auth: KibanaRequestAuth; + /** {@inheritDoc IKibanaRequest.isFakeRequest} */ + public readonly isFakeRequest: boolean; /** {@inheritDoc IKibanaRequest.rewrittenUrl} */ public readonly rewrittenUrl?: URL; @@ -112,7 +119,7 @@ export class CoreKibanaRequest< protected readonly [requestSymbol]: Request; constructor( - request: Request, + request: RawRequest, public readonly params: Params, public readonly query: Query, public readonly body: Body, @@ -128,9 +135,10 @@ export class CoreKibanaRequest< this.uuid = appState?.requestUuid ?? uuid.v4(); this.rewrittenUrl = appState?.rewrittenUrl; - this.url = request.url; - this.headers = deepFreeze({ ...request.headers }); - this.isSystemRequest = request.headers['kbn-system-request'] === 'true'; + this.url = request.url ?? new URL('https://fake-request/url'); + this.headers = isRealRawRequest(request) ? deepFreeze({ ...request.headers }) : request.headers; + this.isSystemRequest = this.headers['kbn-system-request'] === 'true'; + this.isFakeRequest = isFakeRawRequest(request); // prevent Symbol exposure via Object.getOwnPropertySymbols() Object.defineProperty(this, requestSymbol, { @@ -139,17 +147,19 @@ export class CoreKibanaRequest< }); this.route = deepFreeze(this.getRouteInfo(request)); - this.socket = new KibanaSocket(request.raw.req.socket); + this.socket = isRealRawRequest(request) + ? new KibanaSocket(request.raw.req.socket) + : KibanaSocket.getFakeSocket(); this.events = this.getEvents(request); this.auth = { // missing in fakeRequests, so we cast to false - isAuthenticated: Boolean(request.auth?.isAuthenticated), + isAuthenticated: request.auth?.isAuthenticated ?? false, }; } - private getEvents(request: Request): KibanaRequestEvents { - if (!request.raw.res) { + private getEvents(request: RawRequest): KibanaRequestEvents { + if (isFakeRawRequest(request)) { return { aborted$: NEVER, completed$: NEVER, @@ -166,18 +176,18 @@ export class CoreKibanaRequest< } as const; } - private getRouteInfo(request: Request): KibanaRequestRoute { - const method = request.method as Method; + private getRouteInfo(request: RawRequest): KibanaRequestRoute { + const method = (request.method as Method) ?? 'get'; const { parse, maxBytes, allow, output, timeout: payloadTimeout, - } = request.route.settings.payload || {}; + } = request.route?.settings?.payload || {}; // the socket is undefined when using @hapi/shot, or when a "fake request" is used - const socketTimeout = request.raw.req.socket?.timeout; + const socketTimeout = isRealRawRequest(request) ? request.raw.req.socket?.timeout : undefined; const options = { authRequired: this.getAuthRequired(request), // TypeScript note: Casting to `RouterOptions` to fix the following error: @@ -189,8 +199,9 @@ export class CoreKibanaRequest< // a mistake. In v19, the `RouteSettings` interface does have an `app` // property. xsrfRequired: - ((request.route.settings as RouteOptions).app as KibanaRouteOptions)?.xsrfRequired ?? true, // some places in LP call KibanaRequest.from(request) manually. remove fallback to true before v8 - tags: request.route.settings.tags || [], + ((request.route?.settings as RouteOptions)?.app as KibanaRouteOptions)?.xsrfRequired ?? + true, // some places in LP call KibanaRequest.from(request) manually. remove fallback to true before v8 + tags: request.route?.settings?.tags || [], timeout: { payload: payloadTimeout, idleSocket: socketTimeout === 0 ? undefined : socketTimeout, @@ -206,13 +217,17 @@ export class CoreKibanaRequest< } as unknown as KibanaRequestRouteOptions; // TS does not understand this is OK so I'm enforced to do this enforced casting return { - path: request.path, + path: request.path ?? '/', method, options, }; } - private getAuthRequired(request: Request): boolean | 'optional' { + private getAuthRequired(request: RawRequest): boolean | 'optional' { + if (isFakeRawRequest(request)) { + return true; + } + const authOptions = request.route.settings.auth; if (typeof authOptions === 'object') { // 'try' is used in the legacy platform @@ -230,7 +245,9 @@ export class CoreKibanaRequest< } // @ts-expect-error According to @types/hapi__hapi, `route.settings` should be of type `RouteSettings`, but it seems that it's actually `RouteOptions` (https://github.com/hapijs/hapi/blob/v18.4.2/lib/route.js#L139) - if (authOptions === false) return false; + if (authOptions === false) { + return false; + } throw new Error( `unexpected authentication options: ${JSON.stringify(authOptions)} for route: ${ this.url.pathname @@ -254,20 +271,29 @@ export function isKibanaRequest(request: unknown): request is CoreKibanaRequest return request instanceof CoreKibanaRequest; } -function isRequest(request: any): request is Request { +function isRealRawRequest(request: any): request is Request { try { - return request.raw.req && typeof request.raw.req === 'object'; + return ( + request.raw.req && + typeof request.raw.req === 'object' && + request.raw.res && + typeof request.raw.res === 'object' + ); } catch { return false; } } +function isFakeRawRequest(request: RawRequest): request is FakeRawRequest { + return !isRealRawRequest(request); +} + /** * Checks if an incoming request either KibanaRequest or Hapi.Request * @internal */ export function isRealRequest(request: unknown): request is KibanaRequest | Request { - return isKibanaRequest(request) || isRequest(request); + return isKibanaRequest(request) || isRealRawRequest(request); } function isCompleted(request: Request) { diff --git a/packages/core/http/core-http-router-server-internal/src/socket.test.ts b/packages/core/http/core-http-router-server-internal/src/socket.test.ts index 389c08825d51b..b4ccfb37b1405 100644 --- a/packages/core/http/core-http-router-server-internal/src/socket.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/socket.test.ts @@ -152,4 +152,20 @@ describe('KibanaSocket', () => { expect(socket.authorizationError).toBe(authorizationError); }); }); + + describe('remoteAddress', () => { + it('mirrors the value of net.Socket instance', () => { + const socket = new KibanaSocket({ remoteAddress: '1.1.1.1' } as Socket); + expect(socket.remoteAddress).toBe('1.1.1.1'); + }); + }); + + describe('getFakeSocket', () => { + it('returns a stub', async () => { + const fakeSocket = KibanaSocket.getFakeSocket(); + expect(fakeSocket.getPeerCertificate()).toBeNull(); + expect(fakeSocket.getProtocol()).toBeNull(); + await expect(fakeSocket.renegotiate({})).resolves.toBeUndefined(); + }); + }); }); diff --git a/packages/core/http/core-http-router-server-internal/src/socket.ts b/packages/core/http/core-http-router-server-internal/src/socket.ts index 14923a51e9f7f..eaa6e18570a0e 100644 --- a/packages/core/http/core-http-router-server-internal/src/socket.ts +++ b/packages/core/http/core-http-router-server-internal/src/socket.ts @@ -12,6 +12,14 @@ import { promisify } from 'util'; import type { IKibanaSocket } from '@kbn/core-http-server'; export class KibanaSocket implements IKibanaSocket { + public static getFakeSocket(): IKibanaSocket { + return { + getPeerCertificate: () => null, + getProtocol: () => null, + renegotiate: () => Promise.resolve(), + }; + } + public get authorized() { return this.socket instanceof TLSSocket ? this.socket.authorized : undefined; } @@ -20,6 +28,10 @@ export class KibanaSocket implements IKibanaSocket { return this.socket instanceof TLSSocket ? this.socket.authorizationError : undefined; } + public get remoteAddress() { + return this.socket.remoteAddress; + } + constructor(private readonly socket: Socket) {} getPeerCertificate(detailed: true): DetailedPeerCertificate | null; diff --git a/packages/core/http/core-http-router-server-internal/tsconfig.json b/packages/core/http/core-http-router-server-internal/tsconfig.json index ef521586433c9..347f4b4162268 100644 --- a/packages/core/http/core-http-router-server-internal/tsconfig.json +++ b/packages/core/http/core-http-router-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/std", + "@kbn/utility-types", + "@kbn/config-schema", + "@kbn/es-errors", + "@kbn/core-http-server", + "@kbn/hapi-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/logging", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-router-server-mocks/BUILD.bazel b/packages/core/http/core-http-router-server-mocks/BUILD.bazel deleted file mode 100644 index 867785d471708..0000000000000 --- a/packages/core/http/core-http-router-server-mocks/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-router-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-http-router-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//query-string", - "//packages/kbn-hapi-mocks", - "//packages/kbn-config-schema", - "//packages/core/http/core-http-router-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//query-string", - "//packages/kbn-hapi-mocks:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-router-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-router-server-mocks/kibana.jsonc b/packages/core/http/core-http-router-server-mocks/kibana.jsonc index a1883a9c92ff7..a00b5ef3bdf10 100644 --- a/packages/core/http/core-http-router-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-router-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-router-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-router-server-mocks/package.json b/packages/core/http/core-http-router-server-mocks/package.json index 578109fa9e5b0..679793dab8056 100644 --- a/packages/core/http/core-http-router-server-mocks/package.json +++ b/packages/core/http/core-http-router-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-router-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-router-server-mocks/tsconfig.json b/packages/core/http/core-http-router-server-mocks/tsconfig.json index ef521586433c9..4504850612bee 100644 --- a/packages/core/http/core-http-router-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-router-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/hapi-mocks", + "@kbn/config-schema", + "@kbn/core-http-server", + "@kbn/core-http-router-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-server-internal/BUILD.bazel b/packages/core/http/core-http-server-internal/BUILD.bazel deleted file mode 100644 index a5457aca25e03..0000000000000 --- a/packages/core/http/core-http-server-internal/BUILD.bazel +++ /dev/null @@ -1,153 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-http-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "@npm//uuid", - "@npm//moment", - "@npm//@elastic/numeral", - "@npm//@hapi/boom", - "@npm//@hapi/cookie", - "@npm//@hapi/inert", - "@npm//elastic-apm-node", - "@npm//brok", - "//packages/kbn-utils", - "//packages/kbn-std", - "//packages/kbn-config-schema", - "//packages/kbn-logging", - "//packages/kbn-crypto", - "//packages/kbn-server-http-tools", - "//packages/core/http/core-http-router-server-internal", - ### test dependencies - "@npm//supertest", - "@npm//chance", - "//packages/kbn-hapi-mocks", - "//packages/core/http/core-http-router-server-mocks", - "//packages/core/logging/core-logging-server-mocks", - "//packages/core/http/core-http-context-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//rxjs", - "@npm//moment", - "@npm//@elastic/numeral", - "@npm//lodash", - "@npm//brok", - "@npm//@hapi/hapi", - "@npm//@hapi/boom", - "@npm//@hapi/cookie", - "@npm//@hapi/inert", - "@npm//@types/hapi__hapi", - "@npm//@types/hapi__cookie", - "@npm//@types/hapi__inert", - "@npm//elastic-apm-node", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-server-http-tools:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-crypto:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-internal:npm_module_types", - "//packages/core/http/core-http-common:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-context-server-internal:npm_module_types", - "//packages/core/http/core-http-router-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-server-internal/kibana.jsonc b/packages/core/http/core-http-server-internal/kibana.jsonc index 0d1d5b04eaae2..984aaa761f171 100644 --- a/packages/core/http/core-http-server-internal/kibana.jsonc +++ b/packages/core/http/core-http-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-server-internal/package.json b/packages/core/http/core-http-server-internal/package.json index 10e06bebc4846..7ce5acd43b67e 100644 --- a/packages/core/http/core-http-server-internal/package.json +++ b/packages/core/http/core-http-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-server-internal/src/http_service.test.ts b/packages/core/http/core-http-server-internal/src/http_service.test.ts index 8201560c935df..6fe180536e61e 100644 --- a/packages/core/http/core-http-server-internal/src/http_service.test.ts +++ b/packages/core/http/core-http-server-internal/src/http_service.test.ts @@ -10,7 +10,7 @@ import { mockHttpServer } from './http_service.test.mocks'; import { noop } from 'lodash'; import { BehaviorSubject } from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { hapiMocks } from '@kbn/hapi-mocks'; import { ConfigService, Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; diff --git a/packages/core/http/core-http-server-internal/tsconfig.json b/packages/core/http/core-http-server-internal/tsconfig.json index ef521586433c9..e163741c21c7e 100644 --- a/packages/core/http/core-http-server-internal/tsconfig.json +++ b/packages/core/http/core-http-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,32 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/std", + "@kbn/server-http-tools", + "@kbn/logging", + "@kbn/config-schema", + "@kbn/crypto", + "@kbn/core-base-common", + "@kbn/core-base-server-internal", + "@kbn/core-execution-context-server-internal", + "@kbn/core-http-common", + "@kbn/core-http-server", + "@kbn/core-http-context-server-internal", + "@kbn/core-http-router-server-internal", + "@kbn/core-http-router-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/dev-utils", + "@kbn/config", + "@kbn/repo-info", + "@kbn/hapi-mocks", + "@kbn/config-mocks", + "@kbn/core-execution-context-server-mocks", + "@kbn/core-http-context-server-mocks", + "@kbn/logging-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-server-mocks/BUILD.bazel b/packages/core/http/core-http-server-mocks/BUILD.bazel deleted file mode 100644 index e5f898bd4f632..0000000000000 --- a/packages/core/http/core-http-server-mocks/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-http-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//moment", - "//packages/kbn-hapi-mocks", - "//packages/kbn-config-schema", - "//packages/kbn-config-mocks", - "//packages/core/logging/core-logging-server-mocks", - "//packages/core/http/core-http-router-server-mocks", - "//packages/core/http/core-http-router-server-internal", - "//packages/core/http/core-http-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//moment", - "@npm//@hapi/hapi", - "@npm//@types/hapi__hapi", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-hapi-mocks:npm_module_types", - "//packages/core/logging/core-logging-server-mocks:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-router-server-mocks:npm_module_types", - "//packages/core/http/core-http-router-server-internal:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-server-mocks/kibana.jsonc b/packages/core/http/core-http-server-mocks/kibana.jsonc index 598898176f62c..6964e15f6ab82 100644 --- a/packages/core/http/core-http-server-mocks/kibana.jsonc +++ b/packages/core/http/core-http-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-server-mocks/package.json b/packages/core/http/core-http-server-mocks/package.json index e1d3718cfc708..a04777e75202a 100644 --- a/packages/core/http/core-http-server-mocks/package.json +++ b/packages/core/http/core-http-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-server-mocks/src/test_utils.ts b/packages/core/http/core-http-server-mocks/src/test_utils.ts index 18e6a21ed2dba..17b493e96b869 100644 --- a/packages/core/http/core-http-server-mocks/src/test_utils.ts +++ b/packages/core/http/core-http-server-mocks/src/test_utils.ts @@ -8,7 +8,7 @@ import { BehaviorSubject } from 'rxjs'; import moment from 'moment'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ByteSizeValue } from '@kbn/config-schema'; import { Env } from '@kbn/config'; import { getEnvOptions, configServiceMock } from '@kbn/config-mocks'; diff --git a/packages/core/http/core-http-server-mocks/tsconfig.json b/packages/core/http/core-http-server-mocks/tsconfig.json index ef521586433c9..e039916845bbd 100644 --- a/packages/core/http/core-http-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,21 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/config-mocks", + "@kbn/config-schema", + "@kbn/hapi-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-http-server", + "@kbn/core-http-router-server-mocks", + "@kbn/core-http-server-internal", + "@kbn/repo-info", + "@kbn/config", + "@kbn/core-base-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/http/core-http-server/BUILD.bazel b/packages/core/http/core-http-server/BUILD.bazel deleted file mode 100644 index 128d466207ed6..0000000000000 --- a/packages/core/http/core-http-server/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-http-server" -PKG_REQUIRE_NAME = "@kbn/core-http-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-config-schema", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//@hapi/hapi", - "@npm//@types/hapi__hapi", - "@npm//@hapi/boom", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/http/core-http-common:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/http/core-http-server/index.ts b/packages/core/http/core-http-server/index.ts index 3a2749f588839..d55ad7cf4ae69 100644 --- a/packages/core/http/core-http-server/index.ts +++ b/packages/core/http/core-http-server/index.ts @@ -97,6 +97,8 @@ export type { KibanaSuccessResponseFactory, KibanaResponseFactory, LifecycleResponseFactory, + RawRequest, + FakeRawRequest, } from './src/router'; export { validBodyOutput, RouteValidationError } from './src/router'; diff --git a/packages/core/http/core-http-server/kibana.jsonc b/packages/core/http/core-http-server/kibana.jsonc index da671fec6aaec..6ff36f0dea0d6 100644 --- a/packages/core/http/core-http-server/kibana.jsonc +++ b/packages/core/http/core-http-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-http-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/http/core-http-server/package.json b/packages/core/http/core-http-server/package.json index 17ad2086c6034..5a4cdcaf5fdc6 100644 --- a/packages/core/http/core-http-server/package.json +++ b/packages/core/http/core-http-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-http-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/http/core-http-server/src/router/index.ts b/packages/core/http/core-http-server/src/router/index.ts index 5b02bd3643533..60e35fbf6e279 100644 --- a/packages/core/http/core-http-server/src/router/index.ts +++ b/packages/core/http/core-http-server/src/router/index.ts @@ -69,3 +69,4 @@ export type { KibanaResponseFactory, LifecycleResponseFactory, } from './response_factory'; +export type { RawRequest, FakeRawRequest } from './raw_request'; diff --git a/packages/core/http/core-http-server/src/router/raw_request.ts b/packages/core/http/core-http-server/src/router/raw_request.ts new file mode 100644 index 0000000000000..25f428d2412a1 --- /dev/null +++ b/packages/core/http/core-http-server/src/router/raw_request.ts @@ -0,0 +1,38 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { URL } from 'url'; +import type { Request, RouteOptionsPayload } from '@hapi/hapi'; +import type { KibanaRouteOptions } from './request'; +import type { Headers } from './headers'; + +/** + * Represents a fake raw request. + * Can be used to instantiate a `KibanaRequest`. + */ +export interface FakeRawRequest { + /** The headers associated with the request. */ + headers: Headers; + /** The path of the request */ + path: string; + method?: string; + url?: URL; + app?: Record; + auth?: { + isAuthenticated?: boolean; + }; + route?: { + settings?: { + tags?: string[]; + app?: KibanaRouteOptions; + payload?: RouteOptionsPayload; + }; + }; +} + +export type RawRequest = Request | FakeRawRequest; diff --git a/packages/core/http/core-http-server/src/router/request.ts b/packages/core/http/core-http-server/src/router/request.ts index 73214c7271483..ef33bec14f841 100644 --- a/packages/core/http/core-http-server/src/router/request.ts +++ b/packages/core/http/core-http-server/src/router/request.ts @@ -127,6 +127,12 @@ export interface KibanaRequest< */ readonly isSystemRequest: boolean; + /** + * Allows identifying requests that were created using a {@link FakeRawRequest} + * Even if the API facade is the same, fake requests have some stubbed functionalities. + */ + readonly isFakeRequest: boolean; + /** * The socket associated with this request. * See {@link IKibanaSocket}. diff --git a/packages/core/http/core-http-server/src/router/socket.ts b/packages/core/http/core-http-server/src/router/socket.ts index cc47373a583f2..b4c53a95daab3 100644 --- a/packages/core/http/core-http-server/src/router/socket.ts +++ b/packages/core/http/core-http-server/src/router/socket.ts @@ -51,4 +51,11 @@ export interface IKibanaSocket { * only when `authorized` is `false`. */ readonly authorizationError?: Error; + + /** + * The string representation of the remote IP address. For example,`'74.125.127.100'` or + * `'2001:4860:a005::68'`. Value may be `undefined` if the socket is destroyed (for example, if + * the client disconnected). + */ + readonly remoteAddress?: string; } diff --git a/packages/core/http/core-http-server/tsconfig.json b/packages/core/http/core-http-server/tsconfig.json index ef521586433c9..737c4e54906f9 100644 --- a/packages/core/http/core-http-server/tsconfig.json +++ b/packages/core/http/core-http-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/utility-types", + "@kbn/core-base-common", + "@kbn/core-http-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-browser-internal/BUILD.bazel b/packages/core/i18n/core-i18n-browser-internal/BUILD.bazel deleted file mode 100644 index fbfe5f0d565a0..0000000000000 --- a/packages/core/i18n/core-i18n-browser-internal/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-i18n-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - '//packages/kbn-i18n-react' -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc index 424e9d3dcdbcd..40d9d2ffbb869 100644 --- a/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-browser-internal/package.json b/packages/core/i18n/core-i18n-browser-internal/package.json index b2a27795b4663..ca12ff980fb50 100644 --- a/packages/core/i18n/core-i18n-browser-internal/package.json +++ b/packages/core/i18n/core-i18n-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-i18n-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 19bdd11212924..087b5db023ef5 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -265,6 +265,7 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiQuickSelect.tenseLabel": "Time tense", "euiQuickSelect.unitLabel": "Time unit", "euiQuickSelect.valueLabel": "Time value", + "euiQuickSelectPopover.buttonLabel": "Date quick select", "euiRecentlyUsed.legend": "Recently used date ranges", "euiRefreshInterval.fullDescriptionOff": [Function], "euiRefreshInterval.fullDescriptionOn": [Function], diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index c5237b50c2f08..143da92aae897 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -1323,6 +1323,9 @@ export const getEuiContextMapping = (): EuiTokensObject => { 'euiQuickSelect.valueLabel': i18n.translate('core.euiQuickSelect.valueLabel', { defaultMessage: 'Time value', }), + 'euiQuickSelectPopover.buttonLabel': i18n.translate('core.euiQuickSelectPopover.buttonLabel', { + defaultMessage: 'Date quick select', + }), 'euiRecentlyUsed.legend': i18n.translate('core.euiRecentlyUsed.legend', { defaultMessage: 'Recently used date ranges', }), diff --git a/packages/core/i18n/core-i18n-browser-internal/tsconfig.json b/packages/core/i18n/core-i18n-browser-internal/tsconfig.json index 741519055e986..fe90039b68112 100644 --- a/packages/core/i18n/core-i18n-browser-internal/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/core-i18n-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-browser-mocks/BUILD.bazel b/packages/core/i18n/core-i18n-browser-mocks/BUILD.bazel deleted file mode 100644 index 024b03ca186e6..0000000000000 --- a/packages/core/i18n/core-i18n-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-i18n-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "//packages/core/i18n/core-i18n-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/i18n/core-i18n-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc index 0f5b73ed3b453..b53670e4d6265 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-browser-mocks/package.json b/packages/core/i18n/core-i18n-browser-mocks/package.json index b04b9ab71bc6b..dd4e0ccb9db58 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/package.json +++ b/packages/core/i18n/core-i18n-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-i18n-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json index ef521586433c9..e7888be88e12d 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-i18n-browser", + "@kbn/core-i18n-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-browser/BUILD.bazel b/packages/core/i18n/core-i18n-browser/BUILD.bazel deleted file mode 100644 index be675f43567fb..0000000000000 --- a/packages/core/i18n/core-i18n-browser/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-browser" -PKG_REQUIRE_NAME = "@kbn/core-i18n-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-i18n:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-browser/kibana.jsonc b/packages/core/i18n/core-i18n-browser/kibana.jsonc index dcbf951b201f1..ef5cba0b357e0 100644 --- a/packages/core/i18n/core-i18n-browser/kibana.jsonc +++ b/packages/core/i18n/core-i18n-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-browser/package.json b/packages/core/i18n/core-i18n-browser/package.json index cb97be2e54d99..aa13430095ffe 100644 --- a/packages/core/i18n/core-i18n-browser/package.json +++ b/packages/core/i18n/core-i18n-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-i18n-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-browser/tsconfig.json b/packages/core/i18n/core-i18n-browser/tsconfig.json index ef521586433c9..6f535b8372d54 100644 --- a/packages/core/i18n/core-i18n-browser/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,10 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-server-internal/BUILD.bazel b/packages/core/i18n/core-i18n-server-internal/BUILD.bazel deleted file mode 100644 index d1885f2ff09c1..0000000000000 --- a/packages/core/i18n/core-i18n-server-internal/BUILD.bazel +++ /dev/null @@ -1,128 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-i18n-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//json-stable-stringify", - "@npm//globby", - "@npm//rxjs", - "//packages/kbn-config-schema", - "//packages/core/base/core-base-common", - "//packages/kbn-i18n", - "//packages/kbn-utils", - "//packages/kbn-config-mocks", - "//packages/kbn-utility-types", - "//packages/core/base/core-base-server-mocks", - "//packages/core/http/core-http-server-mocks" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/json-stable-stringify", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/deprecations/core-deprecations-common:npm_module_types", - "//packages/core/i18n/core-i18n-server:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-server-internal/kibana.jsonc b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc index 3b89a42976bbc..fe63ef9f53f9a 100644 --- a/packages/core/i18n/core-i18n-server-internal/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-server-internal/package.json b/packages/core/i18n/core-i18n-server-internal/package.json index eeee098fa9348..752cf62a4f322 100644 --- a/packages/core/i18n/core-i18n-server-internal/package.json +++ b/packages/core/i18n/core-i18n-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-i18n-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.test.ts b/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.test.ts index 89a03c35d66ae..76c8ba7c02808 100644 --- a/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.test.ts +++ b/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.test.ts @@ -14,7 +14,7 @@ const mockGetTranslationPaths = getTranslationPaths as jest.Mock; jest.mock('./get_translation_paths', () => ({ getTranslationPaths: jest.fn().mockResolvedValue([]), })); -jest.mock('@kbn/utils', () => ({ +jest.mock('@kbn/repo-info', () => ({ fromRoot: jest.fn().mockImplementation((path: string) => path), })); diff --git a/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.ts b/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.ts index 4e7ee718113ce..672ec2f0a3a27 100644 --- a/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.ts +++ b/packages/core/i18n/core-i18n-server-internal/src/get_kibana_translation_files.ts @@ -7,7 +7,7 @@ */ import { basename } from 'path'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { getTranslationPaths } from './get_translation_paths'; export const getKibanaTranslationFiles = async ( diff --git a/packages/core/i18n/core-i18n-server-internal/tsconfig.json b/packages/core/i18n/core-i18n-server-internal/tsconfig.json index 4582562d6c9bb..813e3469b746c 100644 --- a/packages/core/i18n/core-i18n-server-internal/tsconfig.json +++ b/packages/core/i18n/core-i18n-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,22 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-i18n-server", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/repo-info", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-server-mocks/BUILD.bazel b/packages/core/i18n/core-i18n-server-mocks/BUILD.bazel deleted file mode 100644 index 0468c8d6b8628..0000000000000 --- a/packages/core/i18n/core-i18n-server-mocks/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-i18n-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/i18n/core-i18n-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/i18n/core-i18n-server:npm_module_types", - "//packages/core/i18n/core-i18n-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc index 41ef001641b57..7cd0a24565bd7 100644 --- a/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-server-mocks/package.json b/packages/core/i18n/core-i18n-server-mocks/package.json index e53b59962a3bf..e7042cd84a160 100644 --- a/packages/core/i18n/core-i18n-server-mocks/package.json +++ b/packages/core/i18n/core-i18n-server-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-i18n-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server-mocks/tsconfig.json b/packages/core/i18n/core-i18n-server-mocks/tsconfig.json index ef521586433c9..f8ed0171fb0af 100644 --- a/packages/core/i18n/core-i18n-server-mocks/tsconfig.json +++ b/packages/core/i18n/core-i18n-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-i18n-server", + "@kbn/core-i18n-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/i18n/core-i18n-server/BUILD.bazel b/packages/core/i18n/core-i18n-server/BUILD.bazel deleted file mode 100644 index ac40679dcbefb..0000000000000 --- a/packages/core/i18n/core-i18n-server/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-i18n-server" -PKG_REQUIRE_NAME = "@kbn/core-i18n-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/i18n/core-i18n-server/kibana.jsonc b/packages/core/i18n/core-i18n-server/kibana.jsonc index c32d5d9cd8e7b..52cd43387a99c 100644 --- a/packages/core/i18n/core-i18n-server/kibana.jsonc +++ b/packages/core/i18n/core-i18n-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-i18n-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/i18n/core-i18n-server/package.json b/packages/core/i18n/core-i18n-server/package.json index 6e4c172f54200..cb280a7458799 100644 --- a/packages/core/i18n/core-i18n-server/package.json +++ b/packages/core/i18n/core-i18n-server/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-i18n-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/i18n/core-i18n-server/tsconfig.json b/packages/core/i18n/core-i18n-server/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/i18n/core-i18n-server/tsconfig.json +++ b/packages/core/i18n/core-i18n-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/BUILD.bazel b/packages/core/injected-metadata/core-injected-metadata-browser-internal/BUILD.bazel deleted file mode 100644 index 619d355c908fc..0000000000000 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/BUILD.bazel +++ /dev/null @@ -1,117 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-injected-metadata-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-injected-metadata-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc index d66f834c08eb3..efa2b0d56127e 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-injected-metadata-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/package.json b/packages/core/injected-metadata/core-injected-metadata-browser-internal/package.json index 107773154a0b5..348afceed3187 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/package.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-injected-metadata-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json index 3cdea36de9eac..a3a2ef572e19a 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/std", + "@kbn/ui-shared-deps-npm", + "@kbn/core-base-common", + "@kbn/core-injected-metadata-common-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/BUILD.bazel b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/BUILD.bazel deleted file mode 100644 index f4c3fbdec9a1c..0000000000000 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-injected-metadata-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-injected-metadata-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc index cfbfae1b907e2..340968dde25f6 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-injected-metadata-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/package.json b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/package.json index 4c96174666f69..94098a16650b3 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/package.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-injected-metadata-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json index 3cdea36de9eac..236476943bc6f 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-injected-metadata-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/BUILD.bazel b/packages/core/injected-metadata/core-injected-metadata-common-internal/BUILD.bazel deleted file mode 100644 index 0540de01bc9c4..0000000000000 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-injected-metadata-common-internal" -PKG_REQUIRE_NAME = "@kbn/core-injected-metadata-common-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc index 88943c788515f..c3dcd61159ae0 100644 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-injected-metadata-common-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/package.json b/packages/core/injected-metadata/core-injected-metadata-common-internal/package.json index 7f4052847f183..d3a691a7db3e0 100644 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/package.json +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-injected-metadata-common-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json index 3cdea36de9eac..7ff1f2d20bd53 100644 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config", + "@kbn/ui-shared-deps-npm", + "@kbn/core-base-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/integrations/core-integrations-browser-internal/BUILD.bazel b/packages/core/integrations/core-integrations-browser-internal/BUILD.bazel deleted file mode 100644 index 049424ab2bc9a..0000000000000 --- a/packages/core/integrations/core-integrations-browser-internal/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-integrations-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-integrations-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.css", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//moment-timezone", - ### test dependencies - "//packages/core/ui-settings/core-ui-settings-browser-mocks" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment-timezone", - "@npm//rxjs", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc index fd72743c08597..73312e0e70a99 100644 --- a/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc +++ b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-integrations-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/integrations/core-integrations-browser-internal/package.json b/packages/core/integrations/core-integrations-browser-internal/package.json index a4e0066c114a0..6a515cf11da9a 100644 --- a/packages/core/integrations/core-integrations-browser-internal/package.json +++ b/packages/core/integrations/core-integrations-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-integrations-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/integrations/core-integrations-browser-internal/tsconfig.json b/packages/core/integrations/core-integrations-browser-internal/tsconfig.json index e1805086a07a5..a160ce80ae03a 100644 --- a/packages/core/integrations/core-integrations-browser-internal/tsconfig.json +++ b/packages/core/integrations/core-integrations-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,13 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/core-base-browser-internal", + "@kbn/core-ui-settings-browser", + "@kbn/core-ui-settings-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/integrations/core-integrations-browser-mocks/BUILD.bazel b/packages/core/integrations/core-integrations-browser-mocks/BUILD.bazel deleted file mode 100644 index ce47f36d5853e..0000000000000 --- a/packages/core/integrations/core-integrations-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-integrations-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-integrations-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/integrations/core-integrations-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc index a4bcddaecba14..3231c3e282bcd 100644 --- a/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc +++ b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-integrations-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/integrations/core-integrations-browser-mocks/package.json b/packages/core/integrations/core-integrations-browser-mocks/package.json index eea3536fe806a..33caac2c4d2ac 100644 --- a/packages/core/integrations/core-integrations-browser-mocks/package.json +++ b/packages/core/integrations/core-integrations-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-integrations-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json b/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json index 3cdea36de9eac..71ce10bb0c909 100644 --- a/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json +++ b/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-integrations-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-browser-internal/BUILD.bazel deleted file mode 100644 index 9cbc08c356faf..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/lifecycle/core-lifecycle-browser:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc index c552d622aa43c..33ea1f94aecc5 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/package.json b/packages/core/lifecycle/core-lifecycle-browser-internal/package.json index c78d95efa4f5a..1d945c215fe7b 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/package.json +++ b/packages/core/lifecycle/core-lifecycle-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-lifecycle-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json index 61706db827bc4..2031aa4b6f6c4 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-lifecycle-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-injected-metadata-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-browser-mocks/BUILD.bazel deleted file mode 100644 index b94917a0f63d8..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/doc-links/core-doc-links-browser-mocks", - "//packages/core/theme/core-theme-browser-mocks", - "//packages/core/analytics/core-analytics-browser-mocks", - "//packages/core/execution-context/core-execution-context-browser-mocks", - "//packages/core/i18n/core-i18n-browser-mocks", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks", - "//packages/core/http/core-http-browser-mocks", - "//packages/core/ui-settings/core-ui-settings-browser-mocks", - "//packages/core/deprecations/core-deprecations-browser-mocks", - "//packages/core/overlays/core-overlays-browser-mocks", - "//packages/core/saved-objects/core-saved-objects-browser-mocks", - "//packages/core/notifications/core-notifications-browser-mocks", - "//packages/core/application/core-application-browser-mocks", - "//packages/core/chrome/core-chrome-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/doc-links/core-doc-links-browser-mocks:npm_module_types", - "//packages/core/theme/core-theme-browser-mocks:npm_module_types", - "//packages/core/analytics/core-analytics-browser-mocks:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser-mocks:npm_module_types", - "//packages/core/i18n/core-i18n-browser-mocks:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks:npm_module_types", - "//packages/core/http/core-http-browser-mocks:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser-mocks:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser-mocks:npm_module_types", - "//packages/core/overlays/core-overlays-browser-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser-mocks:npm_module_types", - "//packages/core/notifications/core-notifications-browser-mocks:npm_module_types", - "//packages/core/application/core-application-browser-mocks:npm_module_types", - "//packages/core/chrome/core-chrome-browser-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc index ed65ce8dacf54..e3dda6943018b 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/package.json b/packages/core/lifecycle/core-lifecycle-browser-mocks/package.json index 2017564049aa9..e584b3ccf878b 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/package.json +++ b/packages/core/lifecycle/core-lifecycle-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-lifecycle-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json index 47ad657279cbb..f75992604faac 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,24 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-doc-links-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-i18n-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-deprecations-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-saved-objects-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/core-chrome-browser-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-browser/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-browser/BUILD.bazel deleted file mode 100644 index 2b311e9c58fde..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-browser/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-browser" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/analytics/core-analytics-browser:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", - "//packages/core/notifications/core-notifications-browser:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser:npm_module_types", - "//packages/core/chrome/core-chrome-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc index e17c98379b110..664562cba4d09 100644 --- a/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-browser/package.json b/packages/core/lifecycle/core-lifecycle-browser/package.json index 72eae4ae4d40e..d47bfd2d3dd84 100644 --- a/packages/core/lifecycle/core-lifecycle-browser/package.json +++ b/packages/core/lifecycle/core-lifecycle-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-lifecycle-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json index 48df8f2957246..7db13f868ee5f 100644 --- a/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,24 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-theme-browser", + "@kbn/core-analytics-browser", + "@kbn/core-execution-context-browser", + "@kbn/core-http-browser", + "@kbn/core-fatal-errors-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-notifications-browser", + "@kbn/core-application-browser", + "@kbn/core-doc-links-browser", + "@kbn/core-i18n-browser", + "@kbn/core-deprecations-browser", + "@kbn/core-overlays-browser", + "@kbn/core-saved-objects-browser", + "@kbn/core-chrome-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-server-internal/BUILD.bazel deleted file mode 100644 index 650127f655d2a..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-server-internal/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/logging/core-logging-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/preboot/core-preboot-server-internal:npm_module_types", - "//packages/core/http/core-http-context-server-internal:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-internal:npm_module_types", - "//packages/core/http/core-http-resources-server-internal:npm_module_types", - "//packages/core/capabilities/core-capabilities-server:npm_module_types", - "//packages/core/doc-links/core-doc-links-server:npm_module_types", - "//packages/core/i18n/core-i18n-server:npm_module_types", - "//packages/core/environment/core-environment-server-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-server-internal:npm_module_types", - "//packages/core/rendering/core-rendering-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/status/core-status-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc index 7f8fa2fc8f6ad..d456283f5a607 100644 --- a/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/package.json b/packages/core/lifecycle/core-lifecycle-server-internal/package.json index 6b02fc1feea5e..b24f4f55fa640 100644 --- a/packages/core/lifecycle/core-lifecycle-server-internal/package.json +++ b/packages/core/lifecycle/core-lifecycle-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-lifecycle-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json index 4582562d6c9bb..a92db0274831c 100644 --- a/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,30 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-logging-server-internal", + "@kbn/core-analytics-server", + "@kbn/core-preboot-server-internal", + "@kbn/core-http-context-server-internal", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-ui-settings-server-internal", + "@kbn/core-http-resources-server-internal", + "@kbn/core-capabilities-server", + "@kbn/core-doc-links-server", + "@kbn/core-i18n-server", + "@kbn/core-environment-server-internal", + "@kbn/core-execution-context-server-internal", + "@kbn/core-deprecations-server-internal", + "@kbn/core-metrics-server-internal", + "@kbn/core-rendering-server-internal", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-status-server-internal", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-usage-data-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-server-mocks/BUILD.bazel deleted file mode 100644 index 8edde25e3ea13..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/BUILD.bazel +++ /dev/null @@ -1,141 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/analytics/core-analytics-server-mocks", - "//packages/core/capabilities/core-capabilities-server-mocks", - "//packages/core/doc-links/core-doc-links-server-mocks", - "//packages/core/deprecations/core-deprecations-server-mocks", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks", - "//packages/core/environment/core-environment-server-mocks", - "//packages/core/execution-context/core-execution-context-server-mocks", - "//packages/core/http/core-http-context-server-mocks", - "//packages/core/http/core-http-server-mocks", - "//packages/core/http/core-http-resources-server-mocks", - "//packages/core/i18n/core-i18n-server-mocks", - "//packages/core/lifecycle/core-lifecycle-server", - "//packages/core/metrics/core-metrics-server-mocks", - "//packages/core/preboot/core-preboot-server-mocks", - "//packages/core/rendering/core-rendering-server-mocks", - "//packages/core/saved-objects/core-saved-objects-server-mocks", - "//packages/core/status/core-status-server-mocks", - "//packages/core/ui-settings/core-ui-settings-server-mocks", - "//packages/core/usage-data/core-usage-data-server-mocks", - -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/core/analytics/core-analytics-server-mocks:npm_module_types", - "//packages/core/capabilities/core-capabilities-server-mocks:npm_module_types", - "//packages/core/doc-links/core-doc-links-server-mocks:npm_module_types", - "//packages/core/deprecations/core-deprecations-server-mocks:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks:npm_module_types", - "//packages/core/environment/core-environment-server-mocks:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-mocks:npm_module_types", - "//packages/core/http/core-http-context-server-mocks:npm_module_types", - "//packages/core/http/core-http-server-mocks:npm_module_types", - "//packages/core/http/core-http-resources-server-mocks:npm_module_types", - "//packages/core/i18n/core-i18n-server-mocks:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server:npm_module_types", - "//packages/core/metrics/core-metrics-server-mocks:npm_module_types", - "//packages/core/preboot/core-preboot-server-mocks:npm_module_types", - "//packages/core/rendering/core-rendering-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-mocks:npm_module_types", - "//packages/core/status/core-status-server-mocks:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-mocks:npm_module_types", - "//packages/core/usage-data/core-usage-data-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc index ea9bbadfd57e9..abb14b3c14867 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/package.json b/packages/core/lifecycle/core-lifecycle-server-mocks/package.json index 532c072107303..416cbf484ca8a 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/package.json +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-lifecycle-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json index 4582562d6c9bb..7ae60869a501e 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,32 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types-jest", + "@kbn/core-analytics-server-mocks", + "@kbn/core-capabilities-server-mocks", + "@kbn/core-doc-links-server-mocks", + "@kbn/core-deprecations-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-environment-server-mocks", + "@kbn/core-execution-context-server-mocks", + "@kbn/core-http-context-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-http-resources-server-mocks", + "@kbn/core-i18n-server-mocks", + "@kbn/core-lifecycle-server", + "@kbn/core-metrics-server-mocks", + "@kbn/core-preboot-server-mocks", + "@kbn/core-rendering-server-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-status-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/core-usage-data-server-mocks", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-logging-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/lifecycle/core-lifecycle-server/BUILD.bazel b/packages/core/lifecycle/core-lifecycle-server/BUILD.bazel deleted file mode 100644 index ad8be070d8fa0..0000000000000 --- a/packages/core/lifecycle/core-lifecycle-server/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-lifecycle-server" -PKG_REQUIRE_NAME = "@kbn/core-lifecycle-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/capabilities/core-capabilities-server:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", - "//packages/core/doc-links/core-doc-links-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/execution-context/core-execution-context-server:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", - "//packages/core/http/core-http-resources-server:npm_module_types", - "//packages/core/i18n/core-i18n-server:npm_module_types", - "//packages/core/logging/core-logging-server:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/preboot/core-preboot-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/status/core-status-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc b/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc index 867db6cc2dab0..76017c824b42a 100644 --- a/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc +++ b/packages/core/lifecycle/core-lifecycle-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-lifecycle-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/lifecycle/core-lifecycle-server/package.json b/packages/core/lifecycle/core-lifecycle-server/package.json index e594d4972e6c8..8dc7f723b1ef0 100644 --- a/packages/core/lifecycle/core-lifecycle-server/package.json +++ b/packages/core/lifecycle/core-lifecycle-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-lifecycle-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/lifecycle/core-lifecycle-server/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server/tsconfig.json index 4582562d6c9bb..560cde1c3152d 100644 --- a/packages/core/lifecycle/core-lifecycle-server/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,27 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-analytics-server", + "@kbn/core-capabilities-server", + "@kbn/core-deprecations-server", + "@kbn/core-doc-links-server", + "@kbn/core-elasticsearch-server", + "@kbn/core-execution-context-server", + "@kbn/core-http-server", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-http-resources-server", + "@kbn/core-i18n-server", + "@kbn/core-logging-server", + "@kbn/core-metrics-server", + "@kbn/core-preboot-server", + "@kbn/core-saved-objects-server", + "@kbn/core-status-server", + "@kbn/core-ui-settings-server", + "@kbn/core-usage-data-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-browser-internal/BUILD.bazel b/packages/core/logging/core-logging-browser-internal/BUILD.bazel deleted file mode 100644 index b707b68279e4b..0000000000000 --- a/packages/core/logging/core-logging-browser-internal/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-logging-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/logging/core-logging-common-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-logging:npm_module_types", - "//packages/core/logging/core-logging-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-browser-internal/kibana.jsonc b/packages/core/logging/core-logging-browser-internal/kibana.jsonc index 6d60078e34da8..326b03a2367f0 100644 --- a/packages/core/logging/core-logging-browser-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-browser-internal/package.json b/packages/core/logging/core-logging-browser-internal/package.json index 56cf9d28f32b2..a594baa046962 100644 --- a/packages/core/logging/core-logging-browser-internal/package.json +++ b/packages/core/logging/core-logging-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-logging-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-browser-internal/tsconfig.json b/packages/core/logging/core-logging-browser-internal/tsconfig.json index fbd1249f66205..d0d9f725a4ee0 100644 --- a/packages/core/logging/core-logging-browser-internal/tsconfig.json +++ b/packages/core/logging/core-logging-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/core-logging-common-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-browser-mocks/BUILD.bazel b/packages/core/logging/core-logging-browser-mocks/BUILD.bazel deleted file mode 100644 index a5e2c1ac54b19..0000000000000 --- a/packages/core/logging/core-logging-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-logging-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "//packages/kbn-logging-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/core/logging/core-logging-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-browser-mocks/kibana.jsonc b/packages/core/logging/core-logging-browser-mocks/kibana.jsonc index 377320816c652..122934b8cfd18 100644 --- a/packages/core/logging/core-logging-browser-mocks/kibana.jsonc +++ b/packages/core/logging/core-logging-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-browser-mocks/package.json b/packages/core/logging/core-logging-browser-mocks/package.json index 8ab9610e35470..288da29de2ba4 100644 --- a/packages/core/logging/core-logging-browser-mocks/package.json +++ b/packages/core/logging/core-logging-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-logging-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-browser-mocks/tsconfig.json b/packages/core/logging/core-logging-browser-mocks/tsconfig.json index 37f8e83d0d7a6..5f39bc493b33c 100644 --- a/packages/core/logging/core-logging-browser-mocks/tsconfig.json +++ b/packages/core/logging/core-logging-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/logging-mocks", + "@kbn/core-logging-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-common-internal/BUILD.bazel b/packages/core/logging/core-logging-common-internal/BUILD.bazel deleted file mode 100644 index 2f78f8df668ae..0000000000000 --- a/packages/core/logging/core-logging-common-internal/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-common-internal" -PKG_REQUIRE_NAME = "@kbn/core-logging-common-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//moment-timezone", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment-timezone", - "@npm//lodash", - "//packages/kbn-logging:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-common-internal/kibana.jsonc b/packages/core/logging/core-logging-common-internal/kibana.jsonc index 353df47ee9dd0..4e4f23a47c56a 100644 --- a/packages/core/logging/core-logging-common-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-common-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-common-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-common-internal/package.json b/packages/core/logging/core-logging-common-internal/package.json index 3c0aff6df7b0b..4a10d4dacaac9 100644 --- a/packages/core/logging/core-logging-common-internal/package.json +++ b/packages/core/logging/core-logging-common-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-logging-common-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-common-internal/src/logger.test.ts b/packages/core/logging/core-logging-common-internal/src/logger.test.ts index adf4275a7d6cd..613c0cbde93da 100644 --- a/packages/core/logging/core-logging-common-internal/src/logger.test.ts +++ b/packages/core/logging/core-logging-common-internal/src/logger.test.ts @@ -7,7 +7,7 @@ */ import { Appender, LogLevel, LogMeta, LogRecord } from '@kbn/logging'; -import { getLoggerContext } from '@kbn/core-logging-common-internal'; +import { getLoggerContext } from '..'; import { AbstractLogger, CreateLogRecordFn } from './logger'; describe('AbstractLogger', () => { diff --git a/packages/core/logging/core-logging-common-internal/tsconfig.json b/packages/core/logging/core-logging-common-internal/tsconfig.json index fbd1249f66205..371dc89b18172 100644 --- a/packages/core/logging/core-logging-common-internal/tsconfig.json +++ b/packages/core/logging/core-logging-common-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/logging" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-server-internal/BUILD.bazel b/packages/core/logging/core-logging-server-internal/BUILD.bazel deleted file mode 100644 index 078fdd6ac348a..0000000000000 --- a/packages/core/logging/core-logging-server-internal/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-logging-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//moment-timezone", - "@npm//chalk", - "@npm//elastic-apm-node", - "//packages/kbn-safer-lodash-set", - "//packages/kbn-config-schema", - "//packages/kbn-std", - "//packages/core/logging/core-logging-common-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//rxjs", - "@npm//moment-timezone", - "@npm//elastic-apm-node", - "@npm//chalk", - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-ecs:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/logging/core-logging-common-internal:npm_module_types", - "//packages/core/logging/core-logging-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-server-internal/kibana.jsonc b/packages/core/logging/core-logging-server-internal/kibana.jsonc index ec5ab06a6effd..827b3e7ed1203 100644 --- a/packages/core/logging/core-logging-server-internal/kibana.jsonc +++ b/packages/core/logging/core-logging-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-server-internal/package.json b/packages/core/logging/core-logging-server-internal/package.json index df0984f8e6cab..8aa6c20bffeed 100644 --- a/packages/core/logging/core-logging-server-internal/package.json +++ b/packages/core/logging/core-logging-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-logging-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server-internal/tsconfig.json b/packages/core/logging/core-logging-server-internal/tsconfig.json index ef521586433c9..43c80b0fcdcd5 100644 --- a/packages/core/logging/core-logging-server-internal/tsconfig.json +++ b/packages/core/logging/core-logging-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,21 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/safer-lodash-set", + "@kbn/logging", + "@kbn/config-schema", + "@kbn/core-base-server-internal", + "@kbn/core-logging-common-internal", + "@kbn/core-logging-server", + "@kbn/logging-mocks", + "@kbn/std", + "@kbn/utility-types-jest", + "@kbn/utility-types", + "@kbn/ecs", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-server-mocks/BUILD.bazel b/packages/core/logging/core-logging-server-mocks/BUILD.bazel deleted file mode 100644 index c81d459fe3982..0000000000000 --- a/packages/core/logging/core-logging-server-mocks/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-logging-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging-mocks" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/core/logging/core-logging-server:npm_module_types", - "//packages/core/logging/core-logging-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-server-mocks/kibana.jsonc b/packages/core/logging/core-logging-server-mocks/kibana.jsonc index 83793b02fca6b..3408f6692746c 100644 --- a/packages/core/logging/core-logging-server-mocks/kibana.jsonc +++ b/packages/core/logging/core-logging-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-server-mocks/package.json b/packages/core/logging/core-logging-server-mocks/package.json index d028f9469f534..63e4abc2e8c0b 100644 --- a/packages/core/logging/core-logging-server-mocks/package.json +++ b/packages/core/logging/core-logging-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-logging-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server-mocks/tsconfig.json b/packages/core/logging/core-logging-server-mocks/tsconfig.json index ef521586433c9..3bf688eeda73b 100644 --- a/packages/core/logging/core-logging-server-mocks/tsconfig.json +++ b/packages/core/logging/core-logging-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/logging", + "@kbn/logging-mocks", + "@kbn/core-logging-server", + "@kbn/core-logging-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/logging/core-logging-server/BUILD.bazel b/packages/core/logging/core-logging-server/BUILD.bazel deleted file mode 100644 index 9a34097e42504..0000000000000 --- a/packages/core/logging/core-logging-server/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-logging-server" -PKG_REQUIRE_NAME = "@kbn/core-logging-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment-timezone", - "@npm//rxjs", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config-schema:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/logging/core-logging-server/kibana.jsonc b/packages/core/logging/core-logging-server/kibana.jsonc index 27dadd782dcdc..92940b93a8dbe 100644 --- a/packages/core/logging/core-logging-server/kibana.jsonc +++ b/packages/core/logging/core-logging-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-logging-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/logging/core-logging-server/package.json b/packages/core/logging/core-logging-server/package.json index 924cbc152d03d..c81cdbd23a650 100644 --- a/packages/core/logging/core-logging-server/package.json +++ b/packages/core/logging/core-logging-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-logging-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/logging/core-logging-server/tsconfig.json b/packages/core/logging/core-logging-server/tsconfig.json index ef521586433c9..0f3e14ff4a6f6 100644 --- a/packages/core/logging/core-logging-server/tsconfig.json +++ b/packages/core/logging/core-logging-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/config-schema" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/BUILD.bazel b/packages/core/metrics/core-metrics-collectors-server-internal/BUILD.bazel deleted file mode 100644 index 16a97c7e54995..0000000000000 --- a/packages/core/metrics/core-metrics-collectors-server-internal/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-metrics-collectors-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-metrics-collectors-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__mocks__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging", - "@npm//moment", - "@npm//getos", - ### test dependencies - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "@npm//@types/getos", - "@npm//@hapi/hapi", - "@npm//@types/hapi__hapi", - "//packages/kbn-logging:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc index 39a1aff44dba5..a277d5fad2112 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc +++ b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-metrics-collectors-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/package.json b/packages/core/metrics/core-metrics-collectors-server-internal/package.json index d9df7f7c232db..779d682ec60f0 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/package.json +++ b/packages/core/metrics/core-metrics-collectors-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-metrics-collectors-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json b/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json index ef521586433c9..d1a2498ffbd68 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json +++ b/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/core-metrics-server", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/logging-mocks", + "@kbn/core-elasticsearch-client-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/BUILD.bazel b/packages/core/metrics/core-metrics-collectors-server-mocks/BUILD.bazel deleted file mode 100644 index 9b7f70aed3743..0000000000000 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-metrics-collectors-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-metrics-collectors-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//moment", - "//packages/core/metrics/core-metrics-server", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/metrics/core-metrics-collectors-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc index 053d67afb5f68..3b24f1787e049 100644 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-metrics-collectors-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/package.json b/packages/core/metrics/core-metrics-collectors-server-mocks/package.json index 344b8978cd02e..b2f71629e5d10 100644 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/package.json +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-metrics-collectors-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json b/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json index ef521586433c9..e872cb26accf5 100644 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-metrics-server", + "@kbn/core-metrics-collectors-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/metrics/core-metrics-server-internal/BUILD.bazel b/packages/core/metrics/core-metrics-server-internal/BUILD.bazel deleted file mode 100644 index aceafc4e3ca86..0000000000000 --- a/packages/core/metrics/core-metrics-server-internal/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-metrics-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-metrics-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//moment", - "//packages/kbn-config-schema", - "//packages/core/metrics/core-metrics-collectors-server-internal", - "//packages/core/elasticsearch/core-elasticsearch-server-internal", - ### test dependencies - "//packages/kbn-logging-mocks", - "//packages/core/http/core-http-server-mocks", - "//packages/core/metrics/core-metrics-server-mocks", - "//packages/core/metrics/core-metrics-collectors-server-mocks", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks", - -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//moment", - "@npm//@hapi/hapi", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/metrics/core-metrics-collectors-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/metrics/core-metrics-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc index 325f7e64bbb52..303c3a46d8eaf 100644 --- a/packages/core/metrics/core-metrics-server-internal/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-metrics-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/metrics/core-metrics-server-internal/package.json b/packages/core/metrics/core-metrics-server-internal/package.json index f6d827b4edc36..ca9b0c6d1d6d8 100644 --- a/packages/core/metrics/core-metrics-server-internal/package.json +++ b/packages/core/metrics/core-metrics-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-metrics-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts b/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts index d997433667e27..1e774d1403848 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/logging/get_ops_metrics_log.test.ts @@ -7,10 +7,16 @@ */ import type { OpsMetrics } from '@kbn/core-metrics-server'; +import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; import { getEcsOpsMetricsLog } from './get_ops_metrics_log'; -import { sampleEsClientMetrics } from '@kbn/core-metrics-server-mocks'; import { collectorMock } from '@kbn/core-metrics-collectors-server-mocks'; +export const sampleEsClientMetrics: ElasticsearchClientsMetrics = { + totalActiveSockets: 25, + totalIdleSockets: 2, + totalQueuedRequests: 0, +}; + function createBaseOpsMetrics(): OpsMetrics { const mockProcess = collectorMock.createOpsProcessMetrics(); diff --git a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts index 87011a663404f..7c4682e4c24c0 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts @@ -8,8 +8,8 @@ import { loggerMock } from '@kbn/logging-mocks'; import { httpServiceMock } from '@kbn/core-http-server-mocks'; -import { sampleEsClientMetrics } from '@kbn/core-metrics-server-mocks'; import { AgentManager } from '@kbn/core-elasticsearch-client-server-internal'; +import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; import { mockEsClientCollector, mockOsCollector, @@ -18,6 +18,12 @@ import { } from './ops_metrics_collector.test.mocks'; import { OpsMetricsCollector } from './ops_metrics_collector'; +export const sampleEsClientMetrics: ElasticsearchClientsMetrics = { + totalActiveSockets: 25, + totalIdleSockets: 2, + totalQueuedRequests: 0, +}; + describe('OpsMetricsCollector', () => { let collector: OpsMetricsCollector; diff --git a/packages/core/metrics/core-metrics-server-internal/tsconfig.json b/packages/core/metrics/core-metrics-server-internal/tsconfig.json index ef521586433c9..5478a32a45859 100644 --- a/packages/core/metrics/core-metrics-server-internal/tsconfig.json +++ b/packages/core/metrics/core-metrics-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,25 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/config-schema", + "@kbn/core-base-server-internal", + "@kbn/core-http-server-internal", + "@kbn/core-metrics-server", + "@kbn/core-metrics-collectors-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-metrics-collectors-server-mocks", + "@kbn/logging-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/metrics/core-metrics-server-mocks/BUILD.bazel b/packages/core/metrics/core-metrics-server-mocks/BUILD.bazel deleted file mode 100644 index afd9c1a6d6bc9..0000000000000 --- a/packages/core/metrics/core-metrics-server-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-metrics-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-metrics-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/metrics/core-metrics-collectors-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/metrics/core-metrics-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-collectors-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc index 6af29213a86ce..4e55b952f1321 100644 --- a/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-metrics-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/metrics/core-metrics-server-mocks/package.json b/packages/core/metrics/core-metrics-server-mocks/package.json index f6eb0962aaba7..3f621d044b5cd 100644 --- a/packages/core/metrics/core-metrics-server-mocks/package.json +++ b/packages/core/metrics/core-metrics-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-metrics-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server-mocks/tsconfig.json b/packages/core/metrics/core-metrics-server-mocks/tsconfig.json index ef521586433c9..7ea68efec0aa9 100644 --- a/packages/core/metrics/core-metrics-server-mocks/tsconfig.json +++ b/packages/core/metrics/core-metrics-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-metrics-server", + "@kbn/core-metrics-server-internal", + "@kbn/core-metrics-collectors-server-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/metrics/core-metrics-server/BUILD.bazel b/packages/core/metrics/core-metrics-server/BUILD.bazel deleted file mode 100644 index d0d2f3218b408..0000000000000 --- a/packages/core/metrics/core-metrics-server/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-metrics-server" -PKG_REQUIRE_NAME = "@kbn/core-metrics-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/metrics/core-metrics-server/kibana.jsonc b/packages/core/metrics/core-metrics-server/kibana.jsonc index 64136f9466cb7..094d9112f26b1 100644 --- a/packages/core/metrics/core-metrics-server/kibana.jsonc +++ b/packages/core/metrics/core-metrics-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-metrics-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/metrics/core-metrics-server/package.json b/packages/core/metrics/core-metrics-server/package.json index 62890dfc756ce..5d7f0e022fe7d 100644 --- a/packages/core/metrics/core-metrics-server/package.json +++ b/packages/core/metrics/core-metrics-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-metrics-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/metrics/core-metrics-server/tsconfig.json b/packages/core/metrics/core-metrics-server/tsconfig.json index ef521586433c9..5dccac215ffaf 100644 --- a/packages/core/metrics/core-metrics-server/tsconfig.json +++ b/packages/core/metrics/core-metrics-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/BUILD.bazel b/packages/core/mount-utils/core-mount-utils-browser-internal/BUILD.bazel deleted file mode 100644 index 56ff089165622..0000000000000 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-mount-utils-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-mount-utils-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//enzyme", - "//packages/kbn-i18n-react", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-dom", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ] -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc index c0853a96b395a..4f22bf70d7983 100644 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-mount-utils-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/package.json b/packages/core/mount-utils/core-mount-utils-browser-internal/package.json index 560e995b68ad1..c842576767671 100644 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/package.json +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-mount-utils-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json b/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json index c561d9f220124..fad08cdeb8787 100644 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/core-mount-utils-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/mount-utils/core-mount-utils-browser/BUILD.bazel b/packages/core/mount-utils/core-mount-utils-browser/BUILD.bazel deleted file mode 100644 index ee91849586b48..0000000000000 --- a/packages/core/mount-utils/core-mount-utils-browser/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-mount-utils-browser" -PKG_REQUIRE_NAME = "@kbn/core-mount-utils-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc index 8f8977af53327..87b8148dbed3c 100644 --- a/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc +++ b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-mount-utils-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/mount-utils/core-mount-utils-browser/package.json b/packages/core/mount-utils/core-mount-utils-browser/package.json index 07c43e9ef9e0f..f86069561f530 100644 --- a/packages/core/mount-utils/core-mount-utils-browser/package.json +++ b/packages/core/mount-utils/core-mount-utils-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-mount-utils-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json b/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json index 3cdea36de9eac..0f16c2b9311d8 100644 --- a/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json +++ b/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/node/core-node-server-internal/BUILD.bazel b/packages/core/node/core-node-server-internal/BUILD.bazel deleted file mode 100644 index a7f8ae678685b..0000000000000 --- a/packages/core/node/core-node-server-internal/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-node-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-node-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "//packages/kbn-config-schema", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/logging/core-logging-server-internal:npm_module_types", - "//packages/core/node/core-node-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/node/core-node-server-internal/kibana.jsonc b/packages/core/node/core-node-server-internal/kibana.jsonc index dedee6005b483..15542a4e3042e 100644 --- a/packages/core/node/core-node-server-internal/kibana.jsonc +++ b/packages/core/node/core-node-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-node-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/node/core-node-server-internal/package.json b/packages/core/node/core-node-server-internal/package.json index 7d114d9377587..d5ef852555d41 100644 --- a/packages/core/node/core-node-server-internal/package.json +++ b/packages/core/node/core-node-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-node-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/node/core-node-server-internal/tsconfig.json b/packages/core/node/core-node-server-internal/tsconfig.json index ef521586433c9..7bbe90ab8be74 100644 --- a/packages/core/node/core-node-server-internal/tsconfig.json +++ b/packages/core/node/core-node-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,19 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-logging-server-internal", + "@kbn/core-node-server", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-logging-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/node/core-node-server-mocks/BUILD.bazel b/packages/core/node/core-node-server-mocks/BUILD.bazel deleted file mode 100644 index c1e2d83989b11..0000000000000 --- a/packages/core/node/core-node-server-mocks/BUILD.bazel +++ /dev/null @@ -1,103 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-node-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-node-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - '//packages/core/node/core-node-server-internal' -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - '//packages/core/node/core-node-server-internal:npm_module_types' -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/node/core-node-server-mocks/kibana.jsonc b/packages/core/node/core-node-server-mocks/kibana.jsonc index 7070f0218b1c9..1f1b6639042ec 100644 --- a/packages/core/node/core-node-server-mocks/kibana.jsonc +++ b/packages/core/node/core-node-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-node-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/node/core-node-server-mocks/package.json b/packages/core/node/core-node-server-mocks/package.json index 103ca0f3dce9b..0b7c01a79ba94 100644 --- a/packages/core/node/core-node-server-mocks/package.json +++ b/packages/core/node/core-node-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-node-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/node/core-node-server-mocks/tsconfig.json b/packages/core/node/core-node-server-mocks/tsconfig.json index ef521586433c9..5300b31bcd611 100644 --- a/packages/core/node/core-node-server-mocks/tsconfig.json +++ b/packages/core/node/core-node-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-node-server-internal", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/node/core-node-server/BUILD.bazel b/packages/core/node/core-node-server/BUILD.bazel deleted file mode 100644 index 5be2d208a1bfe..0000000000000 --- a/packages/core/node/core-node-server/BUILD.bazel +++ /dev/null @@ -1,102 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-node-server" -PKG_REQUIRE_NAME = "@kbn/core-node-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/node/core-node-server/kibana.jsonc b/packages/core/node/core-node-server/kibana.jsonc index a2322cffe8ac4..4f4a4d0969bda 100644 --- a/packages/core/node/core-node-server/kibana.jsonc +++ b/packages/core/node/core-node-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-node-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/node/core-node-server/package.json b/packages/core/node/core-node-server/package.json index d303dbbe08b41..96c0f254bc342 100644 --- a/packages/core/node/core-node-server/package.json +++ b/packages/core/node/core-node-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-node-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/node/core-node-server/tsconfig.json b/packages/core/node/core-node-server/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/node/core-node-server/tsconfig.json +++ b/packages/core/node/core-node-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/notifications/core-notifications-browser-internal/BUILD.bazel b/packages/core/notifications/core-notifications-browser-internal/BUILD.bazel deleted file mode 100644 index 59a85f07f2e4b..0000000000000 --- a/packages/core/notifications/core-notifications-browser-internal/BUILD.bazel +++ /dev/null @@ -1,139 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-notifications-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-notifications-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//rxjs", - "@npm//lodash", - "@npm//@elastic/eui", - "@npm//enzyme", - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/core/theme/core-theme-browser-internal", - "//packages/core/overlays/core-overlays-browser-mocks", - "//packages/core/theme/core-theme-browser-mocks", - "//packages/core/ui-settings/core-ui-settings-browser-mocks", - "//packages/core/mount-utils/core-mount-utils-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-dom", - "@npm//rxjs", - "@npm//lodash", - "@npm//@elastic/eui", - "@npm//enzyme", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/core/notifications/core-notifications-browser:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc index 03ad251d65c7b..f41a7a0867ccb 100644 --- a/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-notifications-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/notifications/core-notifications-browser-internal/package.json b/packages/core/notifications/core-notifications-browser-internal/package.json index 116a9d21f6012..3eb1c32452fe9 100644 --- a/packages/core/notifications/core-notifications-browser-internal/package.json +++ b/packages/core/notifications/core-notifications-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-notifications-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser-internal/tsconfig.json b/packages/core/notifications/core-notifications-browser-internal/tsconfig.json index e1805086a07a5..f2828768aa26b 100644 --- a/packages/core/notifications/core-notifications-browser-internal/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,25 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/utility-types", + "@kbn/core-theme-browser", + "@kbn/core-theme-browser-internal", + "@kbn/core-i18n-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-overlays-browser", + "@kbn/core-notifications-browser", + "@kbn/core-mount-utils-browser-internal", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-i18n-browser-mocks", + "@kbn/test-jest-helpers", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-theme-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/notifications/core-notifications-browser-mocks/BUILD.bazel b/packages/core/notifications/core-notifications-browser-mocks/BUILD.bazel deleted file mode 100644 index b1eedb89fb2c1..0000000000000 --- a/packages/core/notifications/core-notifications-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-notifications-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-notifications-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/notifications/core-notifications-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/core/notifications/core-notifications-browser:npm_module_types", - "//packages/core/notifications/core-notifications-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc index d1c1d8f58f935..1705ff3144b48 100644 --- a/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-notifications-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/notifications/core-notifications-browser-mocks/package.json b/packages/core/notifications/core-notifications-browser-mocks/package.json index cb403f57dfc47..60b4aa160c403 100644 --- a/packages/core/notifications/core-notifications-browser-mocks/package.json +++ b/packages/core/notifications/core-notifications-browser-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-notifications-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json b/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json index ef521586433c9..37547a6cd6b1b 100644 --- a/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types-jest", + "@kbn/core-notifications-browser", + "@kbn/core-notifications-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/notifications/core-notifications-browser/BUILD.bazel b/packages/core/notifications/core-notifications-browser/BUILD.bazel deleted file mode 100644 index 1e96205532362..0000000000000 --- a/packages/core/notifications/core-notifications-browser/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-notifications-browser" -PKG_REQUIRE_NAME = "@kbn/core-notifications-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//@elastic/eui", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/notifications/core-notifications-browser/kibana.jsonc b/packages/core/notifications/core-notifications-browser/kibana.jsonc index ae6140a86a200..0bbdd53e56eb2 100644 --- a/packages/core/notifications/core-notifications-browser/kibana.jsonc +++ b/packages/core/notifications/core-notifications-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-notifications-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/notifications/core-notifications-browser/package.json b/packages/core/notifications/core-notifications-browser/package.json index 9274f6230e315..a75f3f598d622 100644 --- a/packages/core/notifications/core-notifications-browser/package.json +++ b/packages/core/notifications/core-notifications-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-notifications-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/notifications/core-notifications-browser/tsconfig.json b/packages/core/notifications/core-notifications-browser/tsconfig.json index 3faa31fe437a8..e74804a5abae4 100644 --- a/packages/core/notifications/core-notifications-browser/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-mount-utils-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/overlays/core-overlays-browser-internal/BUILD.bazel b/packages/core/overlays/core-overlays-browser-internal/BUILD.bazel deleted file mode 100644 index b605c45b504d2..0000000000000 --- a/packages/core/overlays/core-overlays-browser-internal/BUILD.bazel +++ /dev/null @@ -1,129 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-overlays-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-overlays-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss" - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-markdown", - "//packages/kbn-i18n-react", - "//packages/core/theme/core-theme-browser-internal", - "//packages/core/mount-utils/core-mount-utils-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//react-markdown", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/mount-utils/core-mount-utils-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ] -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc index 8890a3c132d66..b0b38b2e851c0 100644 --- a/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-overlays-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/overlays/core-overlays-browser-internal/package.json b/packages/core/overlays/core-overlays-browser-internal/package.json index 0e2232e3f1cef..6888b986b779d 100644 --- a/packages/core/overlays/core-overlays-browser-internal/package.json +++ b/packages/core/overlays/core-overlays-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-overlays-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json index e1805086a07a5..06f6c2c1d36f7 100644 --- a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,22 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/core-theme-browser", + "@kbn/core-theme-browser-internal", + "@kbn/core-mount-utils-browser-internal", + "@kbn/core-i18n-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-overlays-browser", + "@kbn/core-i18n-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-mount-utils-browser", + "@kbn/core-theme-browser-mocks", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/overlays/core-overlays-browser-mocks/BUILD.bazel b/packages/core/overlays/core-overlays-browser-mocks/BUILD.bazel deleted file mode 100644 index f376cb502121a..0000000000000 --- a/packages/core/overlays/core-overlays-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-overlays-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-overlays-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/overlays/core-overlays-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc index 61b14d5cbc8b0..f157b590fb35b 100644 --- a/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-overlays-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/overlays/core-overlays-browser-mocks/package.json b/packages/core/overlays/core-overlays-browser-mocks/package.json index 336f714766496..b15df0984c00a 100644 --- a/packages/core/overlays/core-overlays-browser-mocks/package.json +++ b/packages/core/overlays/core-overlays-browser-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-overlays-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json b/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json index ef521586433c9..a35954a44cd72 100644 --- a/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/utility-types-jest", + "@kbn/core-overlays-browser", + "@kbn/core-overlays-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/overlays/core-overlays-browser/BUILD.bazel b/packages/core/overlays/core-overlays-browser/BUILD.bazel deleted file mode 100644 index c77d2fe12d6be..0000000000000 --- a/packages/core/overlays/core-overlays-browser/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-overlays-browser" -PKG_REQUIRE_NAME = "@kbn/core-overlays-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//rxjs", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/eui", - "//packages/core/mount-utils/core-mount-utils-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/overlays/core-overlays-browser/kibana.jsonc b/packages/core/overlays/core-overlays-browser/kibana.jsonc index de43c7689f1fc..6d5de7ad36d43 100644 --- a/packages/core/overlays/core-overlays-browser/kibana.jsonc +++ b/packages/core/overlays/core-overlays-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-overlays-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/overlays/core-overlays-browser/package.json b/packages/core/overlays/core-overlays-browser/package.json index 02c1fee3083c0..abae9d3ec97d0 100644 --- a/packages/core/overlays/core-overlays-browser/package.json +++ b/packages/core/overlays/core-overlays-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-overlays-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/overlays/core-overlays-browser/tsconfig.json b/packages/core/overlays/core-overlays-browser/tsconfig.json index 3cdea36de9eac..461df2c838a70 100644 --- a/packages/core/overlays/core-overlays-browser/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-mount-utils-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-base-server-internal/BUILD.bazel b/packages/core/plugins/core-plugins-base-server-internal/BUILD.bazel deleted file mode 100644 index 3a88e9ead9844..0000000000000 --- a/packages/core/plugins/core-plugins-base-server-internal/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-base-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-plugins-base-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/core/base/core-base-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc b/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc index a593530ab5fc4..313d463f8f8c5 100644 --- a/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-base-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-base-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-base-server-internal/package.json b/packages/core/plugins/core-plugins-base-server-internal/package.json index d11839515ba61..75b20566bc175 100644 --- a/packages/core/plugins/core-plugins-base-server-internal/package.json +++ b/packages/core/plugins/core-plugins-base-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-plugins-base-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json b/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json index 4582562d6c9bb..48f63905bf591 100644 --- a/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-base-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-browser-internal/BUILD.bazel b/packages/core/plugins/core-plugins-browser-internal/BUILD.bazel deleted file mode 100644 index b1ce21eaff312..0000000000000 --- a/packages/core/plugins/core-plugins-browser-internal/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-plugins-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//rxjs", - "@npm//lodash", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//lodash", - "//packages/kbn-config:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-common-internal:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-browser:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-browser-internal:npm_module_types", - "//packages/core/plugins/core-plugins-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc b/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc index 61935e6670ae9..a55852a5f5249 100644 --- a/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-browser-internal/package.json b/packages/core/plugins/core-plugins-browser-internal/package.json index c8679403e28c4..348a6378ddc43 100644 --- a/packages/core/plugins/core-plugins-browser-internal/package.json +++ b/packages/core/plugins/core-plugins-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-plugins-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser-internal/src/plugins_service.test.ts b/packages/core/plugins/core-plugins-browser-internal/src/plugins_service.test.ts index 6155e4bcdb6b5..7127f633f0ca8 100644 --- a/packages/core/plugins/core-plugins-browser-internal/src/plugins_service.test.ts +++ b/packages/core/plugins/core-plugins-browser-internal/src/plugins_service.test.ts @@ -86,6 +86,7 @@ describe('PluginsService', () => { plugin: createManifest('pluginC', { required: ['pluginA'], optional: ['nonexist'] }), }, ]; + // @ts-expect-error this file was not being type checked properly in the past, error is legit mockSetupDeps = { analytics: analyticsServiceMock.createAnalyticsServiceSetup(), application: applicationServiceMock.createInternalSetupContract(), @@ -102,6 +103,7 @@ describe('PluginsService', () => { application: expect.any(Object), getStartServices: expect.any(Function), }; + // @ts-expect-error this file was not being type checked properly in the past, error is legit mockStartDeps = { analytics: analyticsServiceMock.createAnalyticsServiceStart(), application: applicationServiceMock.createInternalStartContract(), diff --git a/packages/core/plugins/core-plugins-browser-internal/tsconfig.json b/packages/core/plugins/core-plugins-browser-internal/tsconfig.json index 47ad657279cbb..29a75896edda9 100644 --- a/packages/core/plugins/core-plugins-browser-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,33 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-base-common", + "@kbn/core-base-browser-internal", + "@kbn/core-injected-metadata-common-internal", + "@kbn/core-lifecycle-browser", + "@kbn/core-lifecycle-browser-internal", + "@kbn/core-plugins-browser", + "@kbn/logging-mocks", + "@kbn/core-base-browser-mocks", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-doc-links-browser-mocks", + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-i18n-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-chrome-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-saved-objects-browser-mocks", + "@kbn/core-deprecations-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-browser-mocks/BUILD.bazel b/packages/core/plugins/core-plugins-browser-mocks/BUILD.bazel deleted file mode 100644 index dbe94e7ba9649..0000000000000 --- a/packages/core/plugins/core-plugins-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-plugins-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/core/plugins/core-plugins-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc b/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc index c451ce7aac057..1a3f5258dca2d 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-browser-mocks/package.json b/packages/core/plugins/core-plugins-browser-mocks/package.json index b8cb7ed38fc34..dac2ee0cb2a65 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/package.json +++ b/packages/core/plugins/core-plugins-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-plugins-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json b/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json index 47ad657279cbb..6b14fa13dd8b5 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,14 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/logging-mocks", + "@kbn/core-plugins-browser-internal", + "@kbn/core-plugins-browser", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-browser/BUILD.bazel b/packages/core/plugins/core-plugins-browser/BUILD.bazel deleted file mode 100644 index b56de1b3a8391..0000000000000 --- a/packages/core/plugins/core-plugins-browser/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-browser" -PKG_REQUIRE_NAME = "@kbn/core-plugins-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-config:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-browser/kibana.jsonc b/packages/core/plugins/core-plugins-browser/kibana.jsonc index f7457049acc04..2f521b0048f73 100644 --- a/packages/core/plugins/core-plugins-browser/kibana.jsonc +++ b/packages/core/plugins/core-plugins-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-browser/package.json b/packages/core/plugins/core-plugins-browser/package.json index 20337d05ec8fc..cd335165b6ac9 100644 --- a/packages/core/plugins/core-plugins-browser/package.json +++ b/packages/core/plugins/core-plugins-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-plugins-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-browser/tsconfig.json b/packages/core/plugins/core-plugins-browser/tsconfig.json index 47ad657279cbb..854df4f553204 100644 --- a/packages/core/plugins/core-plugins-browser/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,14 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/config", + "@kbn/core-base-common", + "@kbn/core-lifecycle-browser", + "@kbn/logging", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-server-internal/BUILD.bazel b/packages/core/plugins/core-plugins-server-internal/BUILD.bazel deleted file mode 100644 index 480a21f44eed0..0000000000000 --- a/packages/core/plugins/core-plugins-server-internal/BUILD.bazel +++ /dev/null @@ -1,153 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-plugins-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//moment", - "@npm//rxjs", - "@npm//semver", - "@npm//type-detect", - "@npm//lodash", - "//packages/kbn-std", - "//packages/kbn-config", - "//packages/kbn-config-schema", - "//packages/kbn-logging", - "//packages/kbn-utils", - "//packages/core/base/core-base-common", - "//packages/core/base/core-base-server-internal", - "//packages/core/lifecycle/core-lifecycle-server-internal", - "//packages/core/elasticsearch/core-elasticsearch-server-internal", - "//packages/core/node/core-node-server", - "//packages/core/saved-objects/core-saved-objects-base-server-internal", - # test dependencies - "@npm//mock-fs", - "//packages/kbn-config-mocks", - "//packages/core/base/core-base-server-mocks", - "//packages/core/lifecycle/core-lifecycle-server-mocks", - "//packages/core/logging/core-logging-server-mocks", - "//packages/core/node/core-node-server-mocks", - "//packages/core/plugins/core-plugins-server", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//moment", - "@npm//rxjs", - "@npm//semver", - "@npm//type-detect", - "@npm//lodash", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/node/core-node-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server-internal:npm_module_types", - "//packages/core/plugins/core-plugins-server:npm_module_types", - # test dependencies' mocks - "@npm//mock-fs", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/core/base/core-base-server-mocks:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server-mocks:npm_module_types", - "//packages/core/logging/core-logging-server-mocks:npm_module_types", - "//packages/core/node/core-node-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-server-internal/kibana.jsonc b/packages/core/plugins/core-plugins-server-internal/kibana.jsonc index 2354b5ea2054e..e4cbaaef2341d 100644 --- a/packages/core/plugins/core-plugins-server-internal/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-server-internal/package.json b/packages/core/plugins/core-plugins-server-internal/package.json index fef5ddbf7b61d..0c68762d1b821 100644 --- a/packages/core/plugins/core-plugins-server-internal/package.json +++ b/packages/core/plugins/core-plugins-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-plugins-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts index 8c1c50e8a612c..222788487fe0e 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts @@ -7,7 +7,7 @@ */ // must be before mocks imports to avoid conflicting with `REPO_ROOT` accessor. -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { mockPackage, scanPluginSearchPathsMock } from './plugins_discovery.test.mocks'; import mockFs from 'mock-fs'; import { getEnvOptions, rawConfigServiceMock } from '@kbn/config-mocks'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/legacy_config.test.ts b/packages/core/plugins/core-plugins-server-internal/src/legacy_config.test.ts index 2bd50db020d0e..1bb1dbb98cfa3 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/legacy_config.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/legacy_config.test.ts @@ -8,7 +8,7 @@ import { take } from 'rxjs/operators'; import { getGlobalConfig, getGlobalConfig$ } from './legacy_config'; import { duration } from 'moment'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { ByteSizeValue } from '@kbn/config-schema'; import { createCoreContextConfigServiceMock } from './test_helpers'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugin.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugin.test.ts index 008b8eaf6665a..da1060ae4feb1 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugin.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugin.test.ts @@ -8,7 +8,7 @@ import { join } from 'path'; import { BehaviorSubject } from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { schema } from '@kbn/config-schema'; import { Env } from '@kbn/config'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.test.ts index 978bf62222f07..bba736aa3d31f 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.test.ts @@ -8,7 +8,7 @@ import { duration } from 'moment'; import { first } from 'rxjs/operators'; -import { REPO_ROOT, fromRoot } from '@kbn/utils'; +import { REPO_ROOT, fromRoot } from '@kbn/repo-info'; import { rawConfigServiceMock, getEnvOptions, configServiceMock } from '@kbn/config-mocks'; import type { CoreContext } from '@kbn/core-base-server-internal'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_config.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_config.test.ts index 49bfdf34a34b9..2513d51616ef6 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_config.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_config.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { PluginsConfig, PluginsConfigType } from './plugins_config'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.mocks.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.mocks.ts index b79db7791a919..270f824b432f4 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.mocks.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.mocks.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { resolve } from 'path'; const loadJsonFile = jest.requireActual('load-json-file'); diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.ts index 4664db6e710c7..948939b143dd0 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_service.test.ts @@ -11,7 +11,7 @@ import { mockDiscover, mockPackage } from './plugins_service.test.mocks'; import { resolve, join } from 'path'; import { BehaviorSubject, from } from 'rxjs'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { schema } from '@kbn/config-schema'; import { ConfigPath, ConfigService, Env } from '@kbn/config'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts index 8b61665f097cf..f949d039eb0ce 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts @@ -14,7 +14,7 @@ import { import { BehaviorSubject } from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { type PluginName, PluginType } from '@kbn/core-base-common'; import type { CoreContext } from '@kbn/core-base-server-internal'; import { Logger } from '@kbn/logging'; diff --git a/packages/core/plugins/core-plugins-server-internal/src/test_helpers/create_core_context_config_service.mock.ts b/packages/core/plugins/core-plugins-server-internal/src/test_helpers/create_core_context_config_service.mock.ts index 399d45398eefb..60941696b0374 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/test_helpers/create_core_context_config_service.mock.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/test_helpers/create_core_context_config_service.mock.ts @@ -9,7 +9,7 @@ import { IConfigService } from '@kbn/config'; import { configServiceMock } from '@kbn/config-mocks'; import { ByteSizeValue } from '@kbn/config-schema'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { duration } from 'moment'; import { from } from 'rxjs'; diff --git a/packages/core/plugins/core-plugins-server-internal/tsconfig.json b/packages/core/plugins/core-plugins-server-internal/tsconfig.json index 4582562d6c9bb..526d9e9f46fe2 100644 --- a/packages/core/plugins/core-plugins-server-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,36 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/std", + "@kbn/config", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/utils", + "@kbn/core-base-common", + "@kbn/core-base-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-node-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-http-server", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-lifecycle-server", + "@kbn/core-lifecycle-server-internal", + "@kbn/core-plugins-server", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-lifecycle-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-node-server-mocks", + "@kbn/repo-info", + "@kbn/jest-serializers", + "@kbn/core-environment-server-mocks", + "@kbn/core-environment-server-internal", + "@kbn/core-node-server-internal", + "@kbn/core-plugins-base-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-server-mocks/BUILD.bazel b/packages/core/plugins/core-plugins-server-mocks/BUILD.bazel deleted file mode 100644 index 18c5beb51fb46..0000000000000 --- a/packages/core/plugins/core-plugins-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-plugins-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/plugins/core-plugins-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/plugins/core-plugins-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc b/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc index 4a1b2c0bd2258..62d8b6d118156 100644 --- a/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-server-mocks/package.json b/packages/core/plugins/core-plugins-server-mocks/package.json index 2ac79f595e267..4e883adb00736 100644 --- a/packages/core/plugins/core-plugins-server-mocks/package.json +++ b/packages/core/plugins/core-plugins-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-plugins-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server-mocks/tsconfig.json b/packages/core/plugins/core-plugins-server-mocks/tsconfig.json index 4582562d6c9bb..b1ed9a23b486c 100644 --- a/packages/core/plugins/core-plugins-server-mocks/tsconfig.json +++ b/packages/core/plugins/core-plugins-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-plugins-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/plugins/core-plugins-server/BUILD.bazel b/packages/core/plugins/core-plugins-server/BUILD.bazel deleted file mode 100644 index 1204629766db4..0000000000000 --- a/packages/core/plugins/core-plugins-server/BUILD.bazel +++ /dev/null @@ -1,117 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-plugins-server" -PKG_REQUIRE_NAME = "@kbn/core-plugins-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/kbn-config-schema", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/node/core-node-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server:npm_module_types", - -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/plugins/core-plugins-server/kibana.jsonc b/packages/core/plugins/core-plugins-server/kibana.jsonc index 708281a40646b..e152670fd40e7 100644 --- a/packages/core/plugins/core-plugins-server/kibana.jsonc +++ b/packages/core/plugins/core-plugins-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-plugins-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/plugins/core-plugins-server/package.json b/packages/core/plugins/core-plugins-server/package.json index 72e1521adb935..649fa288c8fc3 100644 --- a/packages/core/plugins/core-plugins-server/package.json +++ b/packages/core/plugins/core-plugins-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-plugins-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/plugins/core-plugins-server/tsconfig.json b/packages/core/plugins/core-plugins-server/tsconfig.json index 4582562d6c9bb..c6eee13f49312 100644 --- a/packages/core/plugins/core-plugins-server/tsconfig.json +++ b/packages/core/plugins/core-plugins-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,20 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/utility-types", + "@kbn/utils", + "@kbn/logging", + "@kbn/core-base-common", + "@kbn/core-node-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-lifecycle-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/preboot/core-preboot-server-internal/BUILD.bazel b/packages/core/preboot/core-preboot-server-internal/BUILD.bazel deleted file mode 100644 index 5f6d76b008d5f..0000000000000 --- a/packages/core/preboot/core-preboot-server-internal/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-preboot-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-preboot-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging", - "//packages/core/base/core-base-server-internal", - "//packages/core/base/core-base-common", - "//packages/kbn-utils", - "//packages/kbn-config", - "//packages/kbn-config-mocks", - "//packages/core/logging/core-logging-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/core/logging/core-logging-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/preboot/core-preboot-server-internal/kibana.jsonc b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc index 9a2eadb716ea8..2f391bdfd0f5d 100644 --- a/packages/core/preboot/core-preboot-server-internal/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-preboot-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/preboot/core-preboot-server-internal/package.json b/packages/core/preboot/core-preboot-server-internal/package.json index f768ed11d3533..bce9fb66f2312 100644 --- a/packages/core/preboot/core-preboot-server-internal/package.json +++ b/packages/core/preboot/core-preboot-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-preboot-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server-internal/src/preboot_service.test.ts b/packages/core/preboot/core-preboot-server-internal/src/preboot_service.test.ts index beb3e9d71b9c7..5fb4fbe5781a3 100644 --- a/packages/core/preboot/core-preboot-server-internal/src/preboot_service.test.ts +++ b/packages/core/preboot/core-preboot-server-internal/src/preboot_service.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { LoggerFactory } from '@kbn/logging'; import { Env } from '@kbn/config'; import { configServiceMock, getEnvOptions } from '@kbn/config-mocks'; diff --git a/packages/core/preboot/core-preboot-server-internal/tsconfig.json b/packages/core/preboot/core-preboot-server-internal/tsconfig.json index ef521586433c9..fa2cee0f60496 100644 --- a/packages/core/preboot/core-preboot-server-internal/tsconfig.json +++ b/packages/core/preboot/core-preboot-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,17 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-base-common", + "@kbn/config", + "@kbn/config-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/preboot/core-preboot-server-mocks/BUILD.bazel b/packages/core/preboot/core-preboot-server-mocks/BUILD.bazel deleted file mode 100644 index 2decb5b2d8f2f..0000000000000 --- a/packages/core/preboot/core-preboot-server-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-preboot-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-preboot-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-utility-types", - "//packages/core/preboot/core-preboot-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/preboot/core-preboot-server-internal:npm_module_types", - "//packages/core/preboot/core-preboot-server:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc index 87a035b99530e..91e60bd62b1e1 100644 --- a/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-preboot-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/preboot/core-preboot-server-mocks/package.json b/packages/core/preboot/core-preboot-server-mocks/package.json index 150053877e939..3b550e2243daf 100644 --- a/packages/core/preboot/core-preboot-server-mocks/package.json +++ b/packages/core/preboot/core-preboot-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-preboot-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server-mocks/tsconfig.json b/packages/core/preboot/core-preboot-server-mocks/tsconfig.json index ef521586433c9..3ee5616edbd6d 100644 --- a/packages/core/preboot/core-preboot-server-mocks/tsconfig.json +++ b/packages/core/preboot/core-preboot-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-preboot-server-internal", + "@kbn/core-preboot-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/preboot/core-preboot-server/BUILD.bazel b/packages/core/preboot/core-preboot-server/BUILD.bazel deleted file mode 100644 index 6bd1af7108de3..0000000000000 --- a/packages/core/preboot/core-preboot-server/BUILD.bazel +++ /dev/null @@ -1,102 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-preboot-server" -PKG_REQUIRE_NAME = "@kbn/core-preboot-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/preboot/core-preboot-server/kibana.jsonc b/packages/core/preboot/core-preboot-server/kibana.jsonc index e529cfdd65685..adcbf3c84aeed 100644 --- a/packages/core/preboot/core-preboot-server/kibana.jsonc +++ b/packages/core/preboot/core-preboot-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-preboot-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/preboot/core-preboot-server/package.json b/packages/core/preboot/core-preboot-server/package.json index b658189601696..e86ff58f703e9 100644 --- a/packages/core/preboot/core-preboot-server/package.json +++ b/packages/core/preboot/core-preboot-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-preboot-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/preboot/core-preboot-server/tsconfig.json b/packages/core/preboot/core-preboot-server/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/preboot/core-preboot-server/tsconfig.json +++ b/packages/core/preboot/core-preboot-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/rendering/core-rendering-browser-internal/BUILD.bazel b/packages/core/rendering/core-rendering-browser-internal/BUILD.bazel deleted file mode 100644 index c0fb214bfb960..0000000000000 --- a/packages/core/rendering/core-rendering-browser-internal/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-rendering-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-rendering-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//rxjs", - "@npm//classnames", - "@npm//react-use", - "//packages/core/application/core-application-common", - "//packages/core/theme/core-theme-browser-internal", - ### test dependencies - "//packages/core/application/core-application-browser-mocks", - "//packages/core/chrome/core-chrome-browser-mocks", - "//packages/core/overlays/core-overlays-browser-mocks", - "//packages/core/theme/core-theme-browser-mocks", - "//packages/core/i18n/core-i18n-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/classnames", - "@npm//@types/react-dom", - "@npm//rxjs", - "@npm//react-use", - "//packages/core/application/core-application-common:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", - "//packages/core/overlays/core-overlays-browser:npm_module_types", - "//packages/core/chrome/core-chrome-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc index aaca72f8b4843..87f174de187ff 100644 --- a/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc +++ b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-rendering-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/rendering/core-rendering-browser-internal/package.json b/packages/core/rendering/core-rendering-browser-internal/package.json index 1ccaccf9621ee..6942411ed56b3 100644 --- a/packages/core/rendering/core-rendering-browser-internal/package.json +++ b/packages/core/rendering/core-rendering-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-rendering-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json index 37f8e83d0d7a6..7851397e49120 100644 --- a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,22 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-application-common", + "@kbn/core-application-browser-internal", + "@kbn/core-theme-browser", + "@kbn/core-theme-browser-internal", + "@kbn/core-i18n-browser", + "@kbn/core-overlays-browser", + "@kbn/core-chrome-browser-internal", + "@kbn/core-application-browser-mocks", + "@kbn/core-chrome-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-i18n-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/rendering/core-rendering-browser-mocks/BUILD.bazel b/packages/core/rendering/core-rendering-browser-mocks/BUILD.bazel deleted file mode 100644 index d2cdb9c78c286..0000000000000 --- a/packages/core/rendering/core-rendering-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-rendering-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-rendering-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/rendering/core-rendering-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc index 82b891ad721d3..38be88afd1499 100644 --- a/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc +++ b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-rendering-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/rendering/core-rendering-browser-mocks/package.json b/packages/core/rendering/core-rendering-browser-mocks/package.json index b9cef0d400733..8c471403e757d 100644 --- a/packages/core/rendering/core-rendering-browser-mocks/package.json +++ b/packages/core/rendering/core-rendering-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-rendering-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json b/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json index 741519055e986..67c2b7619323a 100644 --- a/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-rendering-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/rendering/core-rendering-server-internal/BUILD.bazel b/packages/core/rendering/core-rendering-server-internal/BUILD.bazel deleted file mode 100644 index 9b9c41de78663..0000000000000 --- a/packages/core/rendering/core-rendering-server-internal/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-rendering-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-rendering-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-dom", - "@npm//rxjs", - "//packages/kbn-i18n", - "//packages/kbn-ui-shared-deps-npm", - "//packages/kbn-ui-shared-deps-src", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-dom", - "@npm//rxjs", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-ui-shared-deps-src:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-common-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/status/core-status-server-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-common:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", - "//packages/core/plugins/core-plugins-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/rendering/core-rendering-server-internal/kibana.jsonc b/packages/core/rendering/core-rendering-server-internal/kibana.jsonc index 2ce227d70528f..9f7f2ea9c43a1 100644 --- a/packages/core/rendering/core-rendering-server-internal/kibana.jsonc +++ b/packages/core/rendering/core-rendering-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-rendering-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/rendering/core-rendering-server-internal/package.json b/packages/core/rendering/core-rendering-server-internal/package.json index b41efec088ad2..b6eb85b15abd1 100644 --- a/packages/core/rendering/core-rendering-server-internal/package.json +++ b/packages/core/rendering/core-rendering-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-rendering-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts index 8424bb3e68a1d..83043a100c857 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts +++ b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts @@ -82,6 +82,7 @@ export const bootstrapRendererFactory: BootstrapRendererFactory = ({ core: `${regularBundlePath}/core/`, 'kbn-ui-shared-deps-src': `${regularBundlePath}/kbn-ui-shared-deps-src/`, 'kbn-ui-shared-deps-npm': `${regularBundlePath}/kbn-ui-shared-deps-npm/`, + 'kbn-monaco': `${regularBundlePath}/kbn-monaco/`, ...Object.fromEntries( [...bundlePaths.entries()].map(([pluginId, plugin]) => [pluginId, plugin.publicPath]) ), diff --git a/packages/core/rendering/core-rendering-server-internal/tsconfig.json b/packages/core/rendering/core-rendering-server-internal/tsconfig.json index 2279a16c99adf..54274d5e5e3cf 100644 --- a/packages/core/rendering/core-rendering-server-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,31 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/ui-shared-deps-npm", + "@kbn/ui-shared-deps-src", + "@kbn/core-base-server-internal", + "@kbn/core-injected-metadata-common-internal", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-status-server-internal", + "@kbn/core-ui-settings-common", + "@kbn/core-ui-settings-server", + "@kbn/core-plugins-base-server-internal", + "@kbn/core-http-router-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/config", + "@kbn/core-base-common", + "@kbn/core-base-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-status-server-mocks", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/rendering/core-rendering-server-mocks/BUILD.bazel b/packages/core/rendering/core-rendering-server-mocks/BUILD.bazel deleted file mode 100644 index 7f960ef9e8067..0000000000000 --- a/packages/core/rendering/core-rendering-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-rendering-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-rendering-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/rendering/core-rendering-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc b/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc index a04eae9cadc20..8d836f9acddaa 100644 --- a/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc +++ b/packages/core/rendering/core-rendering-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-rendering-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/rendering/core-rendering-server-mocks/package.json b/packages/core/rendering/core-rendering-server-mocks/package.json index e729d1c022bc7..2add3ab42dcc9 100644 --- a/packages/core/rendering/core-rendering-server-mocks/package.json +++ b/packages/core/rendering/core-rendering-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-rendering-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/rendering/core-rendering-server-mocks/tsconfig.json b/packages/core/rendering/core-rendering-server-mocks/tsconfig.json index 4582562d6c9bb..ffd8b5b62c9d7 100644 --- a/packages/core/rendering/core-rendering-server-mocks/tsconfig.json +++ b/packages/core/rendering/core-rendering-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-rendering-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/root/core-root-browser-internal/BUILD.bazel b/packages/core/root/core-root-browser-internal/BUILD.bazel deleted file mode 100644 index 05f41123181e3..0000000000000 --- a/packages/core/root/core-root-browser-internal/BUILD.bazel +++ /dev/null @@ -1,172 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-root-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-root-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//@elastic/apm-rum", - "//packages/kbn-std", - "//packages/kbn-i18n", - "//packages/kbn-ebt-tools", - "//packages/core/application/core-application-browser-internal", - "//packages/core/logging/core-logging-browser-internal", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal", - "//packages/core/doc-links/core-doc-links-browser-internal", - "//packages/core/theme/core-theme-browser-internal", - "//packages/core/analytics/core-analytics-browser-internal", - "//packages/core/i18n/core-i18n-browser-internal", - "//packages/core/execution-context/core-execution-context-browser-internal", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal", - "//packages/core/http/core-http-browser-internal", - "//packages/core/ui-settings/core-ui-settings-browser-internal", - "//packages/core/deprecations/core-deprecations-browser-internal", - "//packages/core/integrations/core-integrations-browser-internal", - "//packages/core/overlays/core-overlays-browser-internal", - "//packages/core/saved-objects/core-saved-objects-browser-internal", - "//packages/core/notifications/core-notifications-browser-internal", - "//packages/core/chrome/core-chrome-browser-internal", - "//packages/core/rendering/core-rendering-browser-internal", - "//packages/core/apps/core-apps-browser-internal", - "//packages/core/lifecycle/core-lifecycle-browser-internal", - "//packages/core/plugins/core-plugins-browser-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//@elastic/apm-rum", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ebt-tools:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser:npm_module_types", - "//packages/core/application/core-application-browser-internal:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/logging/core-logging-browser-internal:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/doc-links/core-doc-links-browser-internal:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types", - "//packages/core/analytics/core-analytics-browser:npm_module_types", - "//packages/core/analytics/core-analytics-browser-internal:npm_module_types", - "//packages/core/i18n/core-i18n-browser-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-browser-internal:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-internal:npm_module_types", - "//packages/core/http/core-http-browser-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-browser-internal:npm_module_types", - "//packages/core/integrations/core-integrations-browser-internal:npm_module_types", - "//packages/core/overlays/core-overlays-browser-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser-internal:npm_module_types", - "//packages/core/notifications/core-notifications-browser-internal:npm_module_types", - "//packages/core/chrome/core-chrome-browser-internal:npm_module_types", - "//packages/core/rendering/core-rendering-browser-internal:npm_module_types", - "//packages/core/apps/core-apps-browser-internal:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-browser-internal:npm_module_types", - "//packages/core/plugins/core-plugins-browser-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/root/core-root-browser-internal/kibana.jsonc b/packages/core/root/core-root-browser-internal/kibana.jsonc index 0dd7d5ae6beb4..e99eaefd0e847 100644 --- a/packages/core/root/core-root-browser-internal/kibana.jsonc +++ b/packages/core/root/core-root-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-root-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/root/core-root-browser-internal/package.json b/packages/core/root/core-root-browser-internal/package.json index d010180d2747d..8ced433c4940a 100644 --- a/packages/core/root/core-root-browser-internal/package.json +++ b/packages/core/root/core-root-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-root-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/root/core-root-browser-internal/tsconfig.json b/packages/core/root/core-root-browser-internal/tsconfig.json index 47ad657279cbb..f5b66338a52b3 100644 --- a/packages/core/root/core-root-browser-internal/tsconfig.json +++ b/packages/core/root/core-root-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,59 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/std", + "@kbn/i18n", + "@kbn/ebt-tools", + "@kbn/core-execution-context-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-base-browser-internal", + "@kbn/core-logging-browser-internal", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-doc-links-browser-internal", + "@kbn/core-theme-browser-internal", + "@kbn/core-analytics-browser", + "@kbn/core-analytics-browser-internal", + "@kbn/core-i18n-browser-internal", + "@kbn/core-execution-context-browser-internal", + "@kbn/core-fatal-errors-browser", + "@kbn/core-fatal-errors-browser-internal", + "@kbn/core-http-browser-internal", + "@kbn/core-ui-settings-browser-internal", + "@kbn/core-deprecations-browser-internal", + "@kbn/core-integrations-browser-internal", + "@kbn/core-overlays-browser-internal", + "@kbn/core-saved-objects-browser-internal", + "@kbn/core-notifications-browser-internal", + "@kbn/core-chrome-browser-internal", + "@kbn/core-rendering-browser-internal", + "@kbn/core-apps-browser-internal", + "@kbn/core-lifecycle-browser-internal", + "@kbn/core-plugins-browser-internal", + "@kbn/utility-types-jest", + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-doc-links-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/core-chrome-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-i18n-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-plugins-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-rendering-browser-mocks", + "@kbn/core-integrations-browser-mocks", + "@kbn/core-apps-browser-mocks", + "@kbn/core-logging-browser-mocks", + "@kbn/logging", + "@kbn/config", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/root/core-root-server-internal/BUILD.bazel b/packages/core/root/core-root-server-internal/BUILD.bazel deleted file mode 100644 index 4d88acf881782..0000000000000 --- a/packages/core/root/core-root-server-internal/BUILD.bazel +++ /dev/null @@ -1,167 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-root-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-root-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//elastic-apm-node", - "//packages/kbn-utils", - "//packages/kbn-config", - "//packages/kbn-ebt-tools", - "//packages/core/doc-links/core-doc-links-server-internal", - "//packages/core/logging/core-logging-server-internal", - "//packages/core/config/core-config-server-internal", - "//packages/core/node/core-node-server-internal", - "//packages/core/analytics/core-analytics-server-internal", - "//packages/core/environment/core-environment-server-internal", - "//packages/core/execution-context/core-execution-context-server-internal", - "//packages/core/preboot/core-preboot-server-internal", - "//packages/core/http/core-http-context-server-internal", - "//packages/core/http/core-http-server-internal", - "//packages/core/elasticsearch/core-elasticsearch-server-internal", - "//packages/core/metrics/core-metrics-server-internal", - "//packages/core/capabilities/core-capabilities-server-internal", - "//packages/core/saved-objects/core-saved-objects-base-server-internal", - "//packages/core/saved-objects/core-saved-objects-server-internal", - "//packages/core/i18n/core-i18n-server-internal", - "//packages/core/deprecations/core-deprecations-server-internal", - "//packages/core/usage-data/core-usage-data-server-internal", - "//packages/core/status/core-status-server-internal", - "//packages/core/ui-settings/core-ui-settings-server-internal", - "//packages/core/http/core-http-request-handler-context-server-internal", - "//packages/core/rendering/core-rendering-server-internal", - "//packages/core/http/core-http-resources-server-internal", - "//packages/core/plugins/core-plugins-server-internal", - "//packages/core/apps/core-apps-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//elastic-apm-node", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-ebt-tools:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/doc-links/core-doc-links-server-internal:npm_module_types", - "//packages/core/logging/core-logging-server-internal:npm_module_types", - "//packages/core/config/core-config-server-internal:npm_module_types", - "//packages/core/node/core-node-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/environment/core-environment-server-internal:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-internal:npm_module_types", - "//packages/core/preboot/core-preboot-server-internal:npm_module_types", - "//packages/core/http/core-http-context-server-internal:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-server-internal:npm_module_types", - "//packages/core/capabilities/core-capabilities-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/i18n/core-i18n-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-server-internal:npm_module_types", - "//packages/core/status/core-status-server-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-internal:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server-internal:npm_module_types", - "//packages/core/http/core-http-request-handler-context-server:npm_module_types", - "//packages/core/rendering/core-rendering-server-internal:npm_module_types", - "//packages/core/http/core-http-resources-server-internal:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server-internal:npm_module_types", - "//packages/core/plugins/core-plugins-server-internal:npm_module_types", - "//packages/core/apps/core-apps-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/root/core-root-server-internal/kibana.jsonc b/packages/core/root/core-root-server-internal/kibana.jsonc index b2cd75af099ee..45446380c4498 100644 --- a/packages/core/root/core-root-server-internal/kibana.jsonc +++ b/packages/core/root/core-root-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-root-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/root/core-root-server-internal/package.json b/packages/core/root/core-root-server-internal/package.json index 2d71f791a6e5e..eed5c24376fd8 100644 --- a/packages/core/root/core-root-server-internal/package.json +++ b/packages/core/root/core-root-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-root-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/core/root/core-root-server-internal/src/bootstrap.ts b/packages/core/root/core-root-server-internal/src/bootstrap.ts index 5aa602328e67b..d37e589e66efb 100644 --- a/packages/core/root/core-root-server-internal/src/bootstrap.ts +++ b/packages/core/root/core-root-server-internal/src/bootstrap.ts @@ -34,7 +34,7 @@ export async function bootstrap({ configs, cliArgs, applyConfigOverrides }: Boot // and as `REPO_ROOT` is initialized on the fly when importing `dev-utils` and requires // the `fs` package, it causes failures. This is why we use a dynamic `require` here. // eslint-disable-next-line @typescript-eslint/no-var-requires - const { REPO_ROOT } = require('@kbn/utils'); + const { REPO_ROOT } = require('@kbn/repo-info'); const env = Env.createDefault(REPO_ROOT, { configs, diff --git a/packages/core/root/core-root-server-internal/src/root/index.test.ts b/packages/core/root/core-root-server-internal/src/root/index.test.ts index 707975affd2b8..278c56bbe7450 100644 --- a/packages/core/root/core-root-server-internal/src/root/index.test.ts +++ b/packages/core/root/core-root-server-internal/src/root/index.test.ts @@ -10,7 +10,7 @@ import { rawConfigService, configService, logger, mockServer } from './index.tes import { BehaviorSubject } from 'rxjs'; import { filter, first } from 'rxjs/operators'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { Root } from '.'; diff --git a/packages/core/root/core-root-server-internal/src/server.test.ts b/packages/core/root/core-root-server-internal/src/server.test.ts index 9826430b23406..894dbeca94f64 100644 --- a/packages/core/root/core-root-server-internal/src/server.test.ts +++ b/packages/core/root/core-root-server-internal/src/server.test.ts @@ -28,7 +28,7 @@ import { } from './server.test.mocks'; import { BehaviorSubject } from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { rawConfigServiceMock, getEnvOptions } from '@kbn/config-mocks'; import { Server } from './server'; diff --git a/packages/core/root/core-root-server-internal/tsconfig.json b/packages/core/root/core-root-server-internal/tsconfig.json index 4582562d6c9bb..2e4947a51c399 100644 --- a/packages/core/root/core-root-server-internal/tsconfig.json +++ b/packages/core/root/core-root-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,64 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utils", + "@kbn/logging", + "@kbn/config", + "@kbn/ebt-tools", + "@kbn/core-base-server-internal", + "@kbn/core-doc-links-server-internal", + "@kbn/core-logging-server-internal", + "@kbn/core-config-server-internal", + "@kbn/core-node-server-internal", + "@kbn/core-analytics-server-internal", + "@kbn/core-analytics-server", + "@kbn/core-environment-server-internal", + "@kbn/core-execution-context-server-internal", + "@kbn/core-preboot-server-internal", + "@kbn/core-http-context-server-internal", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-metrics-server-internal", + "@kbn/core-capabilities-server-internal", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-i18n-server-internal", + "@kbn/core-deprecations-server-internal", + "@kbn/core-usage-data-server-internal", + "@kbn/core-status-server-internal", + "@kbn/core-ui-settings-server-internal", + "@kbn/core-http-request-handler-context-server-internal", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-rendering-server-internal", + "@kbn/core-http-resources-server-internal", + "@kbn/core-lifecycle-server-internal", + "@kbn/core-plugins-server-internal", + "@kbn/core-apps-server-internal", + "@kbn/core-http-server-mocks", + "@kbn/core-plugins-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/config-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-http-context-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/core-rendering-server-mocks", + "@kbn/core-environment-server-mocks", + "@kbn/core-node-server-mocks", + "@kbn/core-metrics-server-mocks", + "@kbn/core-status-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-i18n-server-mocks", + "@kbn/core-preboot-server-mocks", + "@kbn/core-deprecations-server-mocks", + "@kbn/core-doc-links-server-mocks", + "@kbn/repo-info", + "@kbn/config-schema", + "@kbn/apm-config-loader", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-api-browser/BUILD.bazel deleted file mode 100644 index c5335b58bdd18..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-api-browser/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-api-browser" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-api-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc index dc9bc275a4cb1..29d24ccc6a086 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-api-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/package.json b/packages/core/saved-objects/core-saved-objects-api-browser/package.json index af4889e4c3418..3b9859c73e289 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/package.json +++ b/packages/core/saved-objects/core-saved-objects-api-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-saved-objects-api-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json index ef521586433c9..271f341183fce 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-api-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-api-server-internal/BUILD.bazel deleted file mode 100644 index c35025c728e59..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/BUILD.bazel +++ /dev/null @@ -1,130 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-api-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-api-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks/*", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//p-map", - "@npm//@hapi/boom", - "//packages/kbn-config-schema", - "//packages/kbn-es-query", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal", - "//packages/core/elasticsearch/core-elasticsearch-server-internal", - "//packages/core/usage-data/core-usage-data-base-server-internal", - "//packages/core/saved-objects/core-saved-objects-utils-server", - #### test dependencies - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "@npm//p-map", - "@npm//@hapi/boom", - "@npm//@elastic/elasticsearch", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-es-query:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc index afef1f03740a0..e85d65a507884 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-api-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/package.json b/packages/core/saved-objects/core-saved-objects-api-server-internal/package.json index 99461f483c868..6e0e4b37c6ddc 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-api-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts index 99b87279c8b62..a6b9ba684b568 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts @@ -484,7 +484,7 @@ export const mockUpdateResponse = ( ); }; -export const updateSuccess = async ( +export const updateSuccess = async >( client: ElasticsearchClientMock, repository: SavedObjectsRepository, registry: SavedObjectTypeRegistry, diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json index 4582562d6c9bb..6f7ca16e5d58a 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,31 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/es-query", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", + "@kbn/logging-mocks", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/es-errors", + "@kbn/safer-lodash-set", + "@kbn/utility-types-jest", + "@kbn/logging", + "@kbn/core-elasticsearch-server", + "@kbn/core-http-server", + "@kbn/core-http-server-mocks", + "@kbn/core-saved-objects-migration-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-api-server-mocks/BUILD.bazel deleted file mode 100644 index c746f77a7473e..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-api-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-api-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/saved-objects/core-saved-objects-utils-server", - "//packages/core/saved-objects/core-saved-objects-api-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc index beb632af28c08..0bb78d126e72d 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-api-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/package.json b/packages/core/saved-objects/core-saved-objects-api-server-mocks/package.json index 344dee3e9e712..d1b99b1ab49ae 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-api-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json index 4582562d6c9bb..96548fe6eaacd 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-api-server-internal", + "@kbn/core-saved-objects-utils-server", + "@kbn/logging-mocks", + "@kbn/core-saved-objects-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-api-server/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-api-server/BUILD.bazel deleted file mode 100644 index 80a40011e1a99..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-api-server/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-api-server" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-api-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/elasticsearch", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc index 08ebe81051b65..4f6c6b3f761dd 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-api-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-api-server/package.json b/packages/core/saved-objects/core-saved-objects-api-server/package.json index 006b28669cf72..36b5e9f23a63a 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/package.json +++ b/packages/core/saved-objects/core-saved-objects-api-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-api-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json index ef521586433c9..0e593db446f6f 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-saved-objects-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-base-server-internal/BUILD.bazel deleted file mode 100644 index 99fc132ed18ec..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-base-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-base-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//semver", - "//packages/kbn-config-schema", - ### test dependencies - "//packages/kbn-logging-mocks", - "@npm//@hapi/boom", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/semver", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc index a14d74263ec95..fba789e2893c8 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-base-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/package.json b/packages/core/saved-objects/core-saved-objects-base-server-internal/package.json index d630f04e66318..31ed83a1f27ff 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-base-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json index ef521586433c9..5227e67e6947a 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,17 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/config-schema", + "@kbn/core-base-server-internal", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", + "@kbn/std", + "@kbn/logging-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-base-server-mocks/BUILD.bazel deleted file mode 100644 index c5ef952013257..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/BUILD.bazel +++ /dev/null @@ -1,103 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-base-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-base-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc index deab59887d747..29356da39ae30 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-base-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/package.json b/packages/core/saved-objects/core-saved-objects-base-server-mocks/package.json index 3ff49367166fc..3a5786139f6c5 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-base-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json index ef521586433c9..d609791958329 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-base-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-browser-internal/BUILD.bazel deleted file mode 100644 index 0228c86c6d99f..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "//packages/kbn-safer-lodash-set", - ### test dependencies - "//packages/core/http/core-http-browser-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/core/base/core-base-browser-internal:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc index ec1e45b0ffb38..85abf04f839f4 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/package.json b/packages/core/saved-objects/core-saved-objects-browser-internal/package.json index 1117da4a27c9d..5cfe8ec3aeae7 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-saved-objects-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json index ef521586433c9..a29dbf58b4117 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/safer-lodash-set", + "@kbn/core-base-browser-internal", + "@kbn/core-http-browser", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-browser", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-api-browser", + "@kbn/core-http-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-browser-mocks/BUILD.bazel deleted file mode 100644 index 0bea85871440b..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/saved-objects/core-saved-objects-browser-internal" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc index cf0623a36b708..105338611b28f 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/package.json b/packages/core/saved-objects/core-saved-objects-browser-mocks/package.json index bba43d5d36aee..db85475b718cc 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-saved-objects-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json index ef521586433c9..0a68b34d3b836 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-saved-objects-browser", + "@kbn/core-saved-objects-browser-internal", + "@kbn/core-saved-objects-api-browser", + "@kbn/core-saved-objects-common", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-browser/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-browser/BUILD.bazel deleted file mode 100644 index e540033110900..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-browser/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-browser" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-api-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc index 923add888b03e..b09f75ea9f6c9 100644 --- a/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-browser/package.json b/packages/core/saved-objects/core-saved-objects-browser/package.json index 76019a9aaab85..d897a3fbf3d9d 100644 --- a/packages/core/saved-objects/core-saved-objects-browser/package.json +++ b/packages/core/saved-objects/core-saved-objects-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-saved-objects-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json index ef521586433c9..737e72c758c99 100644 --- a/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-saved-objects-api-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-common/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-common/BUILD.bazel deleted file mode 100644 index 18376aa9960ea..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-common/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-common" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc index d82a9bf67d323..205503f731e74 100644 --- a/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-common/package.json b/packages/core/saved-objects/core-saved-objects-common/package.json index 11849bd364a11..64260227c7a5a 100644 --- a/packages/core/saved-objects/core-saved-objects-common/package.json +++ b/packages/core/saved-objects/core-saved-objects-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-saved-objects-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-common/tsconfig.json b/packages/core/saved-objects/core-saved-objects-common/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/saved-objects/core-saved-objects-common/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/BUILD.bazel deleted file mode 100644 index 1004b8bdc0061..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-import-export-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-import-export-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//uuid", - "@npm//p-map", - "//packages/kbn-utils", - ### test dependencies - "//packages/core/saved-objects/core-saved-objects-api-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//p-map", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc index eabb9e670baf3..cde6f2516df0d 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-import-export-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/package.json b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/package.json index 83b06bcce8d24..e06b053497dd8 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-import-export-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json index 4582562d6c9bb..0cd74a160792a 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,23 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utils", + "@kbn/logging", + "@kbn/core-http-server", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-server", + "@kbn/core-http-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/logging-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-http-router-server-internal", + "@kbn/core-saved-objects-utils-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/BUILD.bazel deleted file mode 100644 index 4189affe70b4c..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-import-export-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-import-export-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc index 174960bd1aadc..20b09ed4cf69a 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-import-export-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/package.json b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/package.json index e6117d0a4df34..27679e3917088 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-import-export-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json index 4582562d6c9bb..473437fa0be81 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-saved-objects-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-migration-server-internal/BUILD.bazel deleted file mode 100644 index e582bb0811880..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-migration-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-migration-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//uuid", - "@npm//semver", - "@npm//fp-ts", - "@npm//lodash", - "@npm//@hapi/boom", - "@npm//@elastic/elasticsearch", - "//packages/kbn-std", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal", - ### test dependencies - "//packages/core/elasticsearch/core-elasticsearch-server-mocks", - "//packages/core/elasticsearch/core-elasticsearch-client-server-mocks", - "//packages/core/logging/core-logging-server-mocks", - -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/uuid", - "@npm//@types/semver", - "@npm//fp-ts", - "@npm//lodash", - "@npm//@hapi/boom", - "@npm//@elastic/elasticsearch", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/core/doc-links/core-doc-links-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-client-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc index 4a04817a139c2..05f06aeb86b89 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-migration-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/package.json b/packages/core/saved-objects/core-saved-objects-migration-server-internal/package.json index 1759e06b65948..82412503a8781 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-migration-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts index c364e053c1ff6..5cfd4bc04c465 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts @@ -12,6 +12,7 @@ import { addMustClausesToBoolQuery, addMustNotClausesToBoolQuery, getAliases, + buildRemoveAliasActions, versionMigrationCompleted, } from './helpers'; @@ -267,3 +268,22 @@ describe('versionMigrationCompleted', () => { expect(versionMigrationCompleted('.current-alias', '.version-alias', {})).toBe(false); }); }); + +describe('buildRemoveAliasActions', () => { + test('empty', () => { + expect(buildRemoveAliasActions('.kibana_test_123', [], [])).toEqual([]); + }); + test('no exclusions', () => { + expect(buildRemoveAliasActions('.kibana_test_123', ['a', 'b', 'c'], [])).toEqual([ + { remove: { index: '.kibana_test_123', alias: 'a', must_exist: true } }, + { remove: { index: '.kibana_test_123', alias: 'b', must_exist: true } }, + { remove: { index: '.kibana_test_123', alias: 'c', must_exist: true } }, + ]); + }); + test('with exclusions', () => { + expect(buildRemoveAliasActions('.kibana_test_123', ['a', 'b', 'c'], ['b'])).toEqual([ + { remove: { index: '.kibana_test_123', alias: 'a', must_exist: true } }, + { remove: { index: '.kibana_test_123', alias: 'c', must_exist: true } }, + ]); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts index f7377401c16bf..a7e71bc99e9e0 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts @@ -14,7 +14,7 @@ import type { import * as Either from 'fp-ts/lib/Either'; import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; import type { State } from '../state'; -import type { FetchIndexResponse } from '../actions'; +import type { AliasAction, FetchIndexResponse } from '../actions'; /** * A helper function/type for ensuring that all control state's are handled. @@ -189,3 +189,19 @@ export function getAliases( return Either.right(aliases); } + +/** + * Build a list of alias actions to remove the provided aliases from the given index. + */ +export function buildRemoveAliasActions( + index: string, + aliases: string[], + exclude: string[] +): AliasAction[] { + return aliases.flatMap((alias) => { + if (exclude.includes(alias)) { + return []; + } + return [{ remove: { index, alias, must_exist: true } }]; + }); +} diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts index c812cd14969ef..8072675b96b7e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts @@ -9,6 +9,7 @@ import * as Either from 'fp-ts/lib/Either'; import * as Option from 'fp-ts/lib/Option'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; +import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; import type { FatalState, State, @@ -45,6 +46,7 @@ import type { CheckVersionIndexReadyActions, UpdateTargetMappingsMeta, CheckTargetMappingsState, + PrepareCompatibleMigration, } from '../state'; import { type TransformErrorObjects, TransformSavedObjectDocumentError } from '../core'; import type { AliasAction, RetryableEsClientError } from '../actions'; @@ -53,6 +55,20 @@ import { createInitialProgress } from './progress'; import { model } from './model'; describe('migrations v2 model', () => { + const indexMapping: IndexMapping = { + properties: { + new_saved_object_type: { + properties: { + value: { type: 'text' }, + }, + }, + }, + _meta: { + migrationMappingPropertyHashes: { + new_saved_object_type: '4a11183eee21e6fbad864f7a30b39ad0', + }, + }, + }; const baseState: BaseState = { controlState: '', legacyIndex: '.kibana', @@ -67,20 +83,7 @@ describe('migrations v2 model', () => { discardCorruptObjects: false, indexPrefix: '.kibana', outdatedDocumentsQuery: {}, - targetIndexMappings: { - properties: { - new_saved_object_type: { - properties: { - value: { type: 'text' }, - }, - }, - }, - _meta: { - migrationMappingPropertyHashes: { - new_saved_object_type: '4a11183eee21e6fbad864f7a30b39ad0', - }, - }, - }, + targetIndexMappings: indexMapping, tempIndexMappings: { properties: {} }, preMigrationScript: Option.none, currentAlias: '.kibana', @@ -265,7 +268,7 @@ describe('migrations v2 model', () => { settings: {}, }, }); - const newState = model(initState, res); + const newState = model(initState, res) as OutdatedDocumentsSearchOpenPit; expect(newState.controlState).toEqual('OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT'); // This snapshot asserts that we merge the @@ -292,6 +295,22 @@ describe('migrations v2 model', () => { }, } `); + expect(newState.targetIndexRawMappings).toEqual({ + _meta: { + migrationMappingPropertyHashes: { + disabled_saved_object_type: '7997cf5a56cc02bdc9c93361bde732b0', + }, + }, + properties: { + disabled_saved_object_type: { + properties: { + value: { + type: 'keyword', + }, + }, + }, + }, + }); expect(newState.retryCount).toEqual(0); expect(newState.retryDelay).toEqual(0); }); @@ -498,6 +517,7 @@ describe('migrations v2 model', () => { expect(newState.retryDelay).toEqual(2000); }); }); + describe('if waitForMigrationCompletion=false', () => { const initState = Object.assign({}, initBaseState, { waitForMigrationCompletion: false, @@ -787,6 +807,67 @@ describe('migrations v2 model', () => { expect(newState.retryCount).toEqual(0); expect(newState.retryDelay).toEqual(0); }); + + describe('when upgrading to a new stack version', () => { + const unchangedMappingsState: State = { + ...baseState, + controlState: 'INIT', + kibanaVersion: '7.12.0', // new version! + currentAlias: '.kibana', + versionAlias: '.kibana_7.12.0', + versionIndex: '.kibana_7.11.0_001', + }; + it('INIT -> PREPARE_COMPATIBLE_MIGRATION when the mappings have not changed', () => { + const res: ResponseType<'INIT'> = Either.right({ + '.kibana_7.11.0_001': { + aliases: { + '.kibana': {}, + '.kibana_7.11.0': {}, + }, + mappings: indexMapping, + settings: {}, + }, + }); + const newState = model(unchangedMappingsState, res) as PrepareCompatibleMigration; + + expect(newState.controlState).toEqual('PREPARE_COMPATIBLE_MIGRATION'); + expect(newState.targetIndexRawMappings).toEqual({ + _meta: { + migrationMappingPropertyHashes: { + new_saved_object_type: '4a11183eee21e6fbad864f7a30b39ad0', + }, + }, + properties: { + new_saved_object_type: { + properties: { + value: { + type: 'text', + }, + }, + }, + }, + }); + expect(newState.versionAlias).toEqual('.kibana_7.12.0'); + expect(newState.currentAlias).toEqual('.kibana'); + // will point to + expect(newState.targetIndex).toEqual('.kibana_7.11.0_001'); + expect(newState.preTransformDocsActions).toEqual([ + { + add: { + alias: '.kibana_7.12.0', + index: '.kibana_7.11.0_001', + }, + }, + { + remove: { + alias: '.kibana_7.11.0', + index: '.kibana_7.11.0_001', + must_exist: true, + }, + }, + ]); + }); + }); }); }); @@ -1893,6 +1974,47 @@ describe('migrations v2 model', () => { }); }); + describe('PREPARE_COMPATIBLE_MIGRATIONS', () => { + const someAliasAction: AliasAction = { add: { index: '.kibana', alias: '.kibana_8.7.0' } }; + const state: PrepareCompatibleMigration = { + ...baseState, + controlState: 'PREPARE_COMPATIBLE_MIGRATION', + versionIndexReadyActions: Option.none, + sourceIndex: Option.some('.kibana') as Option.Some, + targetIndex: '.kibana_7.11.0_001', + preTransformDocsActions: [someAliasAction], + }; + + it('PREPARE_COMPATIBLE_MIGRATIONS -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT if action succeeds', () => { + const res: ResponseType<'PREPARE_COMPATIBLE_MIGRATION'> = Either.right( + 'update_aliases_succeeded' + ); + const newState = model(state, res) as OutdatedDocumentsSearchOpenPit; + expect(newState.controlState).toEqual('OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT'); + expect(newState.versionIndexReadyActions).toEqual(Option.none); + }); + + it('PREPARE_COMPATIBLE_MIGRATIONS -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT if action fails because the alias is not found', () => { + const res: ResponseType<'PREPARE_COMPATIBLE_MIGRATION'> = Either.left({ + type: 'alias_not_found_exception', + }); + + const newState = model(state, res) as OutdatedDocumentsSearchOpenPit; + expect(newState.controlState).toEqual('OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT'); + expect(newState.versionIndexReadyActions).toEqual(Option.none); + }); + + it('throws an exception if action fails with an error other than a missing alias', () => { + const res: ResponseType<'PREPARE_COMPATIBLE_MIGRATION'> = Either.left({ + type: 'remove_index_not_a_concrete_index', + }); + + expect(() => model(state, res)).toThrowErrorMatchingInlineSnapshot( + `"PREPARE_COMPATIBLE_MIGRATION received unexpected action response: {\\"type\\":\\"remove_index_not_a_concrete_index\\"}"` + ); + }); + }); + describe('OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', () => { const state: OutdatedDocumentsSearchOpenPit = { ...baseState, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts index 1b0fa490fda51..44de571c13f5d 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts @@ -38,9 +38,11 @@ import { throwBadControlState, throwBadResponse, versionMigrationCompleted, + buildRemoveAliasActions, } from './helpers'; import { createBatches } from './create_batches'; import type { MigrationLog } from '../types'; +import { diffMappings } from '../core/build_active_mappings'; export const FATAL_REASON_REQUEST_ENTITY_TOO_LARGE = `While indexing a batch of saved objects, Elasticsearch returned a 413 Request Entity Too Large exception. Ensure that the Kibana configuration option 'migrations.maxBatchSizeBytes' is set to a value that is lower than or equal to the Elasticsearch 'http.max_content_length' configuration option.`; const CLUSTER_SHARD_LIMIT_EXCEEDED_REASON = `[cluster_shard_limit_exceeded] Upgrading Kibana requires adding a small number of new shards. Ensure that Kibana is able to add 10 more shards by increasing the cluster.max_shards_per_node setting, or removing indices to clear up resources.`; @@ -71,7 +73,6 @@ export const model = (currentState: State, resW: ResponseType): if (stateP.controlState === 'INIT') { const res = resW as ExcludeRetryableEsError>; - if (Either.isLeft(res)) { const left = res.left; if (isTypeof(left, 'incompatible_cluster_routing_allocation')) { @@ -97,12 +98,13 @@ export const model = (currentState: State, resW: ResponseType): const aliases = aliasesRes.right; + // The source index .kibana is pointing to. E.g: ".kibana_8.7.0_001" + const source = aliases[stateP.currentAlias]; + if ( // This version's migration has already been completed. versionMigrationCompleted(stateP.currentAlias, stateP.versionAlias, aliases) ) { - const source = aliases[stateP.currentAlias]!; - return { ...stateP, // Skip to 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT' so that if a new plugin was @@ -112,15 +114,15 @@ export const model = (currentState: State, resW: ResponseType): // Source is a none because we didn't do any migration from a source // index sourceIndex: Option.none, - targetIndex: `${stateP.indexPrefix}_${stateP.kibanaVersion}_001`, - sourceIndexMappings: indices[source].mappings, + targetIndex: source!, + sourceIndexMappings: indices[source!].mappings, // in this scenario, a .kibana_X.Y.Z_001 index exists that matches the current kibana version // aka we are NOT upgrading to a newer version // we inject the target index's current mappings in the state, to check them later - targetIndexCurrentMappings: indices[source].mappings, + targetIndexRawMappings: indices[source!].mappings, targetIndexMappings: mergeMigrationMappingPropertyHashes( stateP.targetIndexMappings, - indices[aliases[stateP.currentAlias]!].mappings + indices[source!].mappings ), versionIndexReadyActions: Option.none, }; @@ -156,17 +158,51 @@ export const model = (currentState: State, resW: ResponseType): }, ], }; + } else if ( + // source exists + Boolean(indices[source!]?.mappings?._meta?.migrationMappingPropertyHashes) && + // ...and mappings are unchanged + !diffMappings( + /* actual */ + indices[source!].mappings, + /* expected */ + stateP.targetIndexMappings + ) + ) { + const targetIndex = source!; + const sourceMappings = indices[source!].mappings; + + return { + ...stateP, + controlState: 'PREPARE_COMPATIBLE_MIGRATION', + sourceIndex: Option.none, + targetIndex, + targetIndexRawMappings: sourceMappings, + targetIndexMappings: mergeMigrationMappingPropertyHashes( + stateP.targetIndexMappings, + sourceMappings + ), + preTransformDocsActions: [ + // Point the version alias to the source index. This let's other Kibana + // instances know that a migration for the current version is "done" + // even though we may be waiting for document transformations to finish. + { add: { index: source!, alias: stateP.versionAlias } }, + ...buildRemoveAliasActions(source!, Object.keys(aliases), [ + stateP.currentAlias, + stateP.versionAlias, + ]), + ], + versionIndexReadyActions: Option.none, + }; } else if ( // If the `.kibana` alias exists - aliases[stateP.currentAlias] != null + source != null ) { - // The source index is the index the `.kibana` alias points to - const source = aliases[stateP.currentAlias]!; return { ...stateP, controlState: 'WAIT_FOR_YELLOW_SOURCE', - sourceIndex: Option.some(source) as Option.Some, - sourceIndexMappings: indices[source].mappings, + sourceIndex: Option.some(source!) as Option.Some, + sourceIndexMappings: indices[source!].mappings, }; } else if (indices[stateP.legacyIndex] != null) { // Migrate from a legacy index @@ -276,6 +312,30 @@ export const model = (currentState: State, resW: ResponseType): ], }; } + } else if (stateP.controlState === 'PREPARE_COMPATIBLE_MIGRATION') { + const res = resW as ExcludeRetryableEsError>; + if (Either.isRight(res)) { + return { + ...stateP, + controlState: 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', + }; + } else if (Either.isLeft(res)) { + // Note: if multiple newer Kibana versions are competing with each other to perform a migration, + // it might happen that another Kibana instance has deleted this instance's version index. + // NIT to handle this in properly, we'd have to add a PREPARE_COMPATIBLE_MIGRATION_CONFLICT step, + // similar to MARK_VERSION_INDEX_READY_CONFLICT. + if (isTypeof(res.left, 'alias_not_found_exception')) { + // We assume that the alias was already deleted by another Kibana instance + return { + ...stateP, + controlState: 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', + }; + } else { + throwBadResponse(stateP, res.left as never); + } + } else { + throwBadResponse(stateP, res); + } } else if (stateP.controlState === 'LEGACY_SET_WRITE_BLOCK') { const res = resW as ExcludeRetryableEsError>; // If the write block is successfully in place diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts index 3382f2aa9996a..386786baf60c8 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts @@ -42,6 +42,7 @@ import type { CalculateExcludeFiltersState, WaitForMigrationCompletionState, CheckTargetMappingsState, + PrepareCompatibleMigration, } from './state'; import type { TransformRawDocs } from './types'; import * as Actions from './actions'; @@ -62,6 +63,8 @@ export const nextActionMap = (client: ElasticsearchClient, transformRawDocs: Tra return { INIT: (state: InitState) => Actions.initAction({ client, indices: [state.currentAlias, state.versionAlias] }), + PREPARE_COMPATIBLE_MIGRATION: (state: PrepareCompatibleMigration) => + Actions.updateAliases({ client, aliasActions: state.preTransformDocsActions }), WAIT_FOR_MIGRATION_COMPLETION: (state: WaitForMigrationCompletionState) => Actions.fetchIndices({ client, indices: [state.currentAlias, state.versionAlias] }), WAIT_FOR_YELLOW_SOURCE: (state: WaitForYellowSourceState) => @@ -132,7 +135,7 @@ export const nextActionMap = (client: ElasticsearchClient, transformRawDocs: Tra Actions.refreshIndex({ client, targetIndex: state.targetIndex }), CHECK_TARGET_MAPPINGS: (state: CheckTargetMappingsState) => Actions.checkTargetMappings({ - actualMappings: state.targetIndexCurrentMappings, + actualMappings: state.targetIndexRawMappings, expectedMappings: state.targetIndexMappings, }), UPDATE_TARGET_MAPPINGS: (state: UpdateTargetMappingsState) => diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts index 324877f6cf13e..e3873122329fd 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts @@ -173,7 +173,12 @@ export interface PostInitState extends BaseState { readonly sourceIndex: Option.Option; /** The target index is the index to which the migration writes */ readonly targetIndex: string; - readonly targetIndexCurrentMappings?: IndexMapping; + /** + * Unaltered mappings retrieved from the current target index. + * + * See also {@link BaseState['targetIndexMappings']}. + */ + readonly targetIndexRawMappings?: IndexMapping; readonly versionIndexReadyActions: Option.Option; readonly outdatedDocumentsQuery: QueryDslQueryContainer; } @@ -183,6 +188,21 @@ export interface DoneState extends PostInitState { readonly controlState: 'DONE'; } +/** + * Compatibe migrations do not require migrating to a new index because all + * schema changes are compatible with current index mappings. + * + * Before running the compatible migration we need to prepare. For example, we + * need to make sure that no older Kibana versions are still writing to target + * index. + */ +export interface PrepareCompatibleMigration extends PostInitState { + /** We have found a schema-compatible migration, this means we can optimise our migration steps */ + readonly controlState: 'PREPARE_COMPATIBLE_MIGRATION'; + /** Alias-level actions that prepare for this migration */ + readonly preTransformDocsActions: AliasAction[]; +} + export interface FatalState extends BaseState { /** Migration terminated with a failure */ readonly controlState: 'FATAL'; @@ -452,6 +472,7 @@ export interface LegacyDeleteState extends LegacyBaseState { export type State = Readonly< | FatalState | InitState + | PrepareCompatibleMigration | WaitForMigrationCompletionState | DoneState | WaitForYellowSourceState diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json index 4582562d6c9bb..3612fae05aba1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,28 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/std", + "@kbn/core-doc-links-server", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-logging-server-mocks", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/config-schema", + "@kbn/core-doc-links-server-mocks", + "@kbn/core-logging-server-internal", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/doc-links", + "@kbn/safer-lodash-set", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/BUILD.bazel deleted file mode 100644 index 9dbf4e0b79d68..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/BUILD.bazel +++ /dev/null @@ -1,109 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-migration-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-migration-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc index b27f6951cb0d0..49e49c7d12b4f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-migration-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/package.json b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/package.json index ac9a5a8191858..b509883da0916 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-migration-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json index 4582562d6c9bb..b228481a3207a 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-migration-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-server-internal/BUILD.bazel deleted file mode 100644 index 7bcee948e25ea..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-server-internal/BUILD.bazel +++ /dev/null @@ -1,131 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//json-stable-stringify", - "//packages/kbn-config-schema", - "//packages/core/base/core-base-common", - "//packages/core/status/core-status-common", - "//packages/core/saved-objects/core-saved-objects-base-server-internal", - "//packages/core/saved-objects/core-saved-objects-api-server-internal", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal", - "//packages/core/saved-objects/core-saved-objects-import-export-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/json-stable-stringify", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/deprecations/core-deprecations-common:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-migration-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-import-export-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", - "//packages/core/deprecations/core-deprecations-server:npm_module_types", - "//packages/core/node/core-node-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc index 43cadd207f914..4e71454f9ca73 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/package.json b/packages/core/saved-objects/core-saved-objects-server-internal/package.json index 1d0e563c9440a..a39ed97cfeb6c 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/package.json +++ b/packages/core/saved-objects/core-saved-objects-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts index af364b6a1a872..6afe9eb18b4f9 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts @@ -21,7 +21,7 @@ import { BehaviorSubject, firstValueFrom } from 'rxjs'; import { skip } from 'rxjs/operators'; import { type RawPackageInfo, Env } from '@kbn/config'; import { ByteSizeValue } from '@kbn/config-schema'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; import { nodeServiceMock } from '@kbn/core-node-server-mocks'; diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json index 4582562d6c9bb..4d43cd2ea06b3 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,45 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-status-common", + "@kbn/core-deprecations-common", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-api-server-internal", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-migration-server-internal", + "@kbn/core-saved-objects-import-export-server-internal", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-deprecations-server", + "@kbn/core-node-server", + "@kbn/core-saved-objects-migration-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-base-server-internal", + "@kbn/core-doc-links-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/i18n", + "@kbn/config", + "@kbn/repo-info", + "@kbn/config-mocks", + "@kbn/core-doc-links-server-mocks", + "@kbn/core-node-server-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/utils", + "@kbn/core-http-router-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-server-mocks/BUILD.bazel deleted file mode 100644 index 83fc281ab340d..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/status/core-status-common", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks", - "//packages/core/saved-objects/core-saved-objects-import-export-server-mocks", - "//packages/core/saved-objects/core-saved-objects-migration-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-import-export-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-migration-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc index c9cb96751b210..4e9f3fa49b016 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/package.json b/packages/core/saved-objects/core-saved-objects-server-mocks/package.json index 9057e65e2b314..c9a4ce797ab31 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/package.json +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json index 4582562d6c9bb..30ab276e44e3b 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-status-common", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-saved-objects-import-export-server-mocks", + "@kbn/core-saved-objects-migration-server-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-server/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-server/BUILD.bazel deleted file mode 100644 index 8be58e1f28568..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-server/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-server" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/elasticsearch", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-ecs:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc index 8e1a56b92f1f2..b6baeefd08b95 100644 --- a/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-server/package.json b/packages/core/saved-objects/core-saved-objects-server/package.json index 1cfa72bf9cee7..0212a1c862e2c 100644 --- a/packages/core/saved-objects/core-saved-objects-server/package.json +++ b/packages/core/saved-objects/core-saved-objects-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server/tsconfig.json index ef521586433c9..427b46dc70afb 100644 --- a/packages/core/saved-objects/core-saved-objects-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/core-http-server", + "@kbn/core-elasticsearch-server", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-api-server", + "@kbn/ecs" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/BUILD.bazel b/packages/core/saved-objects/core-saved-objects-utils-server/BUILD.bazel deleted file mode 100644 index ae246f3976c45..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-utils-server/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-saved-objects-utils-server" -PKG_REQUIRE_NAME = "@kbn/core-saved-objects-utils-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//uuid", - "@npm//@hapi/boom", -] - - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/uuid", - "@npm//@hapi/boom", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc index 61d87e1fe9bdc..17724acc7468f 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc +++ b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-saved-objects-utils-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/package.json b/packages/core/saved-objects/core-saved-objects-utils-server/package.json index 28293054578d7..9b89498d64fc3 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/package.json +++ b/packages/core/saved-objects/core-saved-objects-utils-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-saved-objects-utils-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json index ef521586433c9..25ba9d5fefac7 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-api-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/status/core-status-common-internal/BUILD.bazel b/packages/core/status/core-status-common-internal/BUILD.bazel deleted file mode 100644 index 10c02ceed52f5..0000000000000 --- a/packages/core/status/core-status-common-internal/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-status-common-internal" -PKG_REQUIRE_NAME = "@kbn/core-status-common-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/status/core-status-common-internal/kibana.jsonc b/packages/core/status/core-status-common-internal/kibana.jsonc index 3ce3b2bfbcbdb..20ce17ae3cefa 100644 --- a/packages/core/status/core-status-common-internal/kibana.jsonc +++ b/packages/core/status/core-status-common-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-status-common-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/status/core-status-common-internal/package.json b/packages/core/status/core-status-common-internal/package.json index 7d5bbf52425a2..73f0212c43850 100644 --- a/packages/core/status/core-status-common-internal/package.json +++ b/packages/core/status/core-status-common-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-status-common-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/status/core-status-common-internal/tsconfig.json b/packages/core/status/core-status-common-internal/tsconfig.json index 741519055e986..c746e7133cd2c 100644 --- a/packages/core/status/core-status-common-internal/tsconfig.json +++ b/packages/core/status/core-status-common-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-status-common", + "@kbn/core-metrics-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/status/core-status-common/BUILD.bazel b/packages/core/status/core-status-common/BUILD.bazel deleted file mode 100644 index a488a5999df06..0000000000000 --- a/packages/core/status/core-status-common/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-status-common" -PKG_REQUIRE_NAME = "@kbn/core-status-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-std:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/status/core-status-common/kibana.jsonc b/packages/core/status/core-status-common/kibana.jsonc index 13d67c52659ca..bb40934299c7c 100644 --- a/packages/core/status/core-status-common/kibana.jsonc +++ b/packages/core/status/core-status-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-status-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/status/core-status-common/package.json b/packages/core/status/core-status-common/package.json index 0c32405177b40..c8428e799d266 100644 --- a/packages/core/status/core-status-common/package.json +++ b/packages/core/status/core-status-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-status-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/status/core-status-common/tsconfig.json b/packages/core/status/core-status-common/tsconfig.json index 741519055e986..a63f70f93043d 100644 --- a/packages/core/status/core-status-common/tsconfig.json +++ b/packages/core/status/core-status-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/std" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/status/core-status-server-internal/BUILD.bazel b/packages/core/status/core-status-server-internal/BUILD.bazel deleted file mode 100644 index 2e15439eee3d8..0000000000000 --- a/packages/core/status/core-status-server-internal/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-status-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-status-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//lodash", - "//packages/kbn-config-schema", - "//packages/kbn-std", - "//packages/kbn-i18n", - "//packages/core/status/core-status-common", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//lodash", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/analytics/client:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/metrics/core-metrics-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-server-internal:npm_module_types", - "//packages/core/analytics/core-analytics-server:npm_module_types", - "//packages/core/environment/core-environment-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/status/core-status-server:npm_module_types", - "//packages/core/status/core-status-common:npm_module_types", - "//packages/core/status/core-status-common-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/status/core-status-server-internal/kibana.jsonc b/packages/core/status/core-status-server-internal/kibana.jsonc index 9ed3627ce73ed..166476e13adaa 100644 --- a/packages/core/status/core-status-server-internal/kibana.jsonc +++ b/packages/core/status/core-status-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-status-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/status/core-status-server-internal/package.json b/packages/core/status/core-status-server-internal/package.json index 0c20231606015..a9be6cf042d3d 100644 --- a/packages/core/status/core-status-server-internal/package.json +++ b/packages/core/status/core-status-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-status-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/status/core-status-server-internal/tsconfig.json b/packages/core/status/core-status-server-internal/tsconfig.json index 4582562d6c9bb..ec555e676e1e8 100644 --- a/packages/core/status/core-status-server-internal/tsconfig.json +++ b/packages/core/status/core-status-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,39 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/config", + "@kbn/std", + "@kbn/logging", + "@kbn/i18n", + "@kbn/analytics-client", + "@kbn/core-base-common", + "@kbn/core-base-server-internal", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-metrics-server", + "@kbn/core-metrics-server-internal", + "@kbn/core-usage-data-server", + "@kbn/core-analytics-server", + "@kbn/core-environment-server-internal", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-status-server", + "@kbn/core-status-common", + "@kbn/core-status-common-internal", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-base-server-mocks", + "@kbn/core-environment-server-mocks", + "@kbn/core-http-router-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-metrics-server-mocks", + "@kbn/config-mocks", + "@kbn/core-usage-data-server-mocks", + "@kbn/core-analytics-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/status/core-status-server-mocks/BUILD.bazel b/packages/core/status/core-status-server-mocks/BUILD.bazel deleted file mode 100644 index ba64513644814..0000000000000 --- a/packages/core/status/core-status-server-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-status-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-status-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/status/core-status-server:npm_module_types", - "//packages/core/status/core-status-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/status/core-status-server-mocks/kibana.jsonc b/packages/core/status/core-status-server-mocks/kibana.jsonc index 04f0e29eedf72..ebb50f47fb40f 100644 --- a/packages/core/status/core-status-server-mocks/kibana.jsonc +++ b/packages/core/status/core-status-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-status-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/status/core-status-server-mocks/package.json b/packages/core/status/core-status-server-mocks/package.json index 666843aad8947..25c27fc8dd0b5 100644 --- a/packages/core/status/core-status-server-mocks/package.json +++ b/packages/core/status/core-status-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-status-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/status/core-status-server-mocks/tsconfig.json b/packages/core/status/core-status-server-mocks/tsconfig.json index 4582562d6c9bb..84ca957ca1579 100644 --- a/packages/core/status/core-status-server-mocks/tsconfig.json +++ b/packages/core/status/core-status-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-status-server", + "@kbn/core-status-server-internal", + "@kbn/core-status-common", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/status/core-status-server/BUILD.bazel b/packages/core/status/core-status-server/BUILD.bazel deleted file mode 100644 index d9cf0a216956d..0000000000000 --- a/packages/core/status/core-status-server/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-status-server" -PKG_REQUIRE_NAME = "@kbn/core-status-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/status/core-status-common", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/core/status/core-status-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/status/core-status-server/kibana.jsonc b/packages/core/status/core-status-server/kibana.jsonc index 3021a52ce4c17..7e7eafcbe13c2 100644 --- a/packages/core/status/core-status-server/kibana.jsonc +++ b/packages/core/status/core-status-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-status-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/status/core-status-server/package.json b/packages/core/status/core-status-server/package.json index 95e42e16f8096..4f3719672132a 100644 --- a/packages/core/status/core-status-server/package.json +++ b/packages/core/status/core-status-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-status-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/status/core-status-server/tsconfig.json b/packages/core/status/core-status-server/tsconfig.json index 4582562d6c9bb..f1268b704981a 100644 --- a/packages/core/status/core-status-server/tsconfig.json +++ b/packages/core/status/core-status-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-status-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/BUILD.bazel b/packages/core/test-helpers/core-test-helpers-deprecations-getters/BUILD.bazel deleted file mode 100644 index 72af0cdf54522..0000000000000 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-test-helpers-deprecations-getters" -PKG_REQUIRE_NAME = "@kbn/core-test-helpers-deprecations-getters" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-safer-lodash-set", - "//packages/kbn-config", - "//packages/kbn-config-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc index 1c245768d3f7d..58b022edc2143 100644 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-deprecations-getters", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/package.json b/packages/core/test-helpers/core-test-helpers-deprecations-getters/package.json index 37bfe7ddbf750..cc23ac6bc5075 100644 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/package.json +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-test-helpers-deprecations-getters", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json b/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json index ef521586433c9..709b092761e40 100644 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/safer-lodash-set", + "@kbn/config", + "@kbn/config-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/BUILD.bazel b/packages/core/test-helpers/core-test-helpers-http-setup-browser/BUILD.bazel deleted file mode 100644 index 4161d62c3a056..0000000000000 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-test-helpers-http-setup-browser" -PKG_REQUIRE_NAME = "@kbn/core-test-helpers-http-setup-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/execution-context/core-execution-context-browser-mocks", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks", - "//packages/core/http/core-http-browser-internal" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/execution-context/core-execution-context-browser-mocks:npm_module_types", - "//packages/core/fatal-errors/core-fatal-errors-browser-mocks:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-mocks:npm_module_types", - "//packages/core/http/core-http-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc index f5e257dd883a5..ccb44bf669f6a 100644 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-http-setup-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/package.json b/packages/core/test-helpers/core-test-helpers-http-setup-browser/package.json index 813f6050c044c..b9de84e85e875 100644 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/package.json +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-test-helpers-http-setup-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json b/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json index ef521586433c9..50f950223c66c 100644 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-http-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/BUILD.bazel b/packages/core/test-helpers/core-test-helpers-kbn-server/BUILD.bazel deleted file mode 100644 index aaa2b09a3ebf3..0000000000000 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-test-helpers-kbn-server" -PKG_REQUIRE_NAME = "@kbn/core-test-helpers-kbn-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "@npm//supertest", - "//packages/kbn-tooling-log", - "//packages/kbn-utils", - "//packages/kbn-test", - "//packages/kbn-config", - "//packages/core/lifecycle/core-lifecycle-server-internal", - "//packages/core/root/core-root-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "@npm//rxjs", - "@npm//supertest", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-test:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/core/lifecycle/core-lifecycle-server-internal:npm_module_types", - "//packages/core/root/core-root-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc index 8c67f3103320a..399c4032208ce 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/core-test-helpers-kbn-server", "owner": "@elastic/kibana-core", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/package.json b/packages/core/test-helpers/core-test-helpers-kbn-server/package.json index 6f5c80544bd18..dbdbcfb374194 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/package.json +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-test-helpers-kbn-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts index 8a2ef2e7c81ed..08a99ae61a96a 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts @@ -13,7 +13,7 @@ import { BehaviorSubject } from 'rxjs'; import supertest from 'supertest'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createTestEsCluster, CreateTestEsClusterOptions, diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/tsconfig.json b/packages/core/test-helpers/core-test-helpers-kbn-server/tsconfig.json index 4582562d6c9bb..4f2c8c210354d 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/tooling-log", + "@kbn/test", + "@kbn/config", + "@kbn/core-lifecycle-server-internal", + "@kbn/core-root-server-internal", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/BUILD.bazel b/packages/core/test-helpers/core-test-helpers-so-type-serializer/BUILD.bazel deleted file mode 100644 index 4f9f25dd77077..0000000000000 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/BUILD.bazel +++ /dev/null @@ -1,109 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-test-helpers-so-type-serializer" -PKG_REQUIRE_NAME = "@kbn/core-test-helpers-so-type-serializer" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//semver", - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/semver", - "//packages/kbn-std:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-common:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc index 4a4a765bbc519..7c8c4da8c303d 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-so-type-serializer", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/package.json b/packages/core/test-helpers/core-test-helpers-so-type-serializer/package.json index 2c0288ec01238..b3cc2a7504095 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/package.json +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-test-helpers-so-type-serializer", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json b/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json index 4582562d6c9bb..9e3df6e49fac9 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/std", + "@kbn/core-saved-objects-common", + "@kbn/core-saved-objects-server", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/BUILD.bazel b/packages/core/test-helpers/core-test-helpers-test-utils/BUILD.bazel deleted file mode 100644 index 19fda628add70..0000000000000 --- a/packages/core/test-helpers/core-test-helpers-test-utils/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-test-helpers-test-utils" -PKG_REQUIRE_NAME = "@kbn/core-test-helpers-test-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/core/deprecations/core-deprecations-server-mocks", - "//packages/core/execution-context/core-execution-context-server-mocks", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks", - "//packages/core/http/core-http-context-server-internal", - "//packages/core/http/core-http-context-server-mocks", - "//packages/core/http/core-http-server-mocks", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks", - "//packages/core/saved-objects/core-saved-objects-server-mocks", - "//packages/core/ui-settings/core-ui-settings-server-mocks", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/deprecations/core-deprecations-server-mocks:npm_module_types", - "//packages/core/execution-context/core-execution-context-server-mocks:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-mocks:npm_module_types", - "//packages/core/http/core-http-context-server-internal:npm_module_types", - "//packages/core/http/core-http-context-server-mocks:npm_module_types", - "//packages/core/http/core-http-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-mocks:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-mocks:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc index a587c1fd8566f..3e4b11f13d95f 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc +++ b/packages/core/test-helpers/core-test-helpers-test-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-test-helpers-test-utils", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/package.json b/packages/core/test-helpers/core-test-helpers-test-utils/package.json index e812501e0ff73..f417a155fed2b 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/package.json +++ b/packages/core/test-helpers/core-test-helpers-test-utils/package.json @@ -2,7 +2,5 @@ "name": "@kbn/core-test-helpers-test-utils", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json b/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json index 4582562d6c9bb..6f63745884070 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,21 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-deprecations-server-mocks", + "@kbn/core-execution-context-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-http-context-server-internal", + "@kbn/core-http-context-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-ui-settings-server-mocks" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/theme/core-theme-browser-internal/BUILD.bazel b/packages/core/theme/core-theme-browser-internal/BUILD.bazel deleted file mode 100644 index c149e0b9e0695..0000000000000 --- a/packages/core/theme/core-theme-browser-internal/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-theme-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-theme-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react", - "@npm//rxjs", - "@npm//@elastic/eui", - "@npm//@emotion/cache", - "@npm//react-use", - "//packages/core/base/core-base-common", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//rxjs", - "@npm//@emotion/cache", - "@npm//react-use", - "@npm//@elastic/eui", - "//packages/core/base/core-base-common:npm_module_types", - "//packages/core/injected-metadata/core-injected-metadata-browser-internal:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/i18n/core-i18n-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/theme/core-theme-browser-internal/kibana.jsonc b/packages/core/theme/core-theme-browser-internal/kibana.jsonc index 36842b069548b..4f52d3655e060 100644 --- a/packages/core/theme/core-theme-browser-internal/kibana.jsonc +++ b/packages/core/theme/core-theme-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-theme-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/theme/core-theme-browser-internal/package.json b/packages/core/theme/core-theme-browser-internal/package.json index 9a5bf644a384e..bd819f36617f0 100644 --- a/packages/core/theme/core-theme-browser-internal/package.json +++ b/packages/core/theme/core-theme-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-theme-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser-internal/tsconfig.json b/packages/core/theme/core-theme-browser-internal/tsconfig.json index c561d9f220124..1f52b9cf1408e 100644 --- a/packages/core/theme/core-theme-browser-internal/tsconfig.json +++ b/packages/core/theme/core-theme-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,16 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/core-base-common", + "@kbn/core-injected-metadata-browser-internal", + "@kbn/core-theme-browser", + "@kbn/core-i18n-browser", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/theme/core-theme-browser-mocks/BUILD.bazel b/packages/core/theme/core-theme-browser-mocks/BUILD.bazel deleted file mode 100644 index d67987e887b02..0000000000000 --- a/packages/core/theme/core-theme-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-theme-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-theme-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//react" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/theme/core-theme-browser:npm_module_types", - "//packages/core/theme/core-theme-browser-internal:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/theme/core-theme-browser-mocks/kibana.jsonc b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc index e46f0193c4068..f04c78bf09fe5 100644 --- a/packages/core/theme/core-theme-browser-mocks/kibana.jsonc +++ b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-theme-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/theme/core-theme-browser-mocks/package.json b/packages/core/theme/core-theme-browser-mocks/package.json index d90fe901d7969..205ae4ee096f7 100644 --- a/packages/core/theme/core-theme-browser-mocks/package.json +++ b/packages/core/theme/core-theme-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-theme-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser-mocks/tsconfig.json b/packages/core/theme/core-theme-browser-mocks/tsconfig.json index 3cdea36de9eac..590e3729953ef 100644 --- a/packages/core/theme/core-theme-browser-mocks/tsconfig.json +++ b/packages/core/theme/core-theme-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-theme-browser", + "@kbn/core-theme-browser-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/theme/core-theme-browser/BUILD.bazel b/packages/core/theme/core-theme-browser/BUILD.bazel deleted file mode 100644 index bf1b34b975a3a..0000000000000 --- a/packages/core/theme/core-theme-browser/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-theme-browser" -PKG_REQUIRE_NAME = "@kbn/core-theme-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/theme/core-theme-browser/kibana.jsonc b/packages/core/theme/core-theme-browser/kibana.jsonc index 9dbe039d70640..28faccea003bb 100644 --- a/packages/core/theme/core-theme-browser/kibana.jsonc +++ b/packages/core/theme/core-theme-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-theme-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/theme/core-theme-browser/package.json b/packages/core/theme/core-theme-browser/package.json index 4f21a8f07883e..1e8a8861ba25b 100644 --- a/packages/core/theme/core-theme-browser/package.json +++ b/packages/core/theme/core-theme-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-theme-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/theme/core-theme-browser/tsconfig.json b/packages/core/theme/core-theme-browser/tsconfig.json index ef521586433c9..e7513f6481e89 100644 --- a/packages/core/theme/core-theme-browser/tsconfig.json +++ b/packages/core/theme/core-theme-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-browser-internal/BUILD.bazel deleted file mode 100644 index 8407c14febccf..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-browser-internal" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-browser-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//lodash", - "//packages/core/test-helpers/core-test-helpers-http-setup-browser" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//lodash", - "//packages/core/test-helpers/core-test-helpers-http-setup-browser:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc index 9a46e97ec89af..1197ce3268992 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-browser-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/package.json b/packages/core/ui-settings/core-ui-settings-browser-internal/package.json index 496fc4fb73861..c33e1b84f354d 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/package.json +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-ui-settings-browser-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json index ef521586433c9..0beed2d6ddfb0 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,17 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-test-helpers-http-setup-browser", + "@kbn/core-http-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-ui-settings-common", + "@kbn/core-http-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-injected-metadata-browser-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-browser-mocks/BUILD.bazel deleted file mode 100644 index 944128daf6dc4..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-browser-mocks" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-browser-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", - "//packages/core/ui-settings/core-ui-settings-browser-internal" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser-internal:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc index f6906835b648f..fe1b1c48238cd 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-browser-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/package.json b/packages/core/ui-settings/core-ui-settings-browser-mocks/package.json index 9f3010fa6d923..2f78aad5793e5 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/package.json +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-ui-settings-browser-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json index ef521586433c9..1fb7aec053ef8 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-ui-settings-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-browser/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-browser/BUILD.bazel deleted file mode 100644 index 0b46af92d86e3..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-browser/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-browser" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/core/ui-settings/core-ui-settings-common:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc index 9129ef435fb67..57036db46d663 100644 --- a/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-browser/package.json b/packages/core/ui-settings/core-ui-settings-browser/package.json index 0d4798f84d103..ded763061b0b3 100644 --- a/packages/core/ui-settings/core-ui-settings-browser/package.json +++ b/packages/core/ui-settings/core-ui-settings-browser/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-ui-settings-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json index 3faa31fe437a8..95fe1b5c6ea01 100644 --- a/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/core-ui-settings-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-common/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-common/BUILD.bazel deleted file mode 100644 index c88e3142602d3..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-common/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-common" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-common" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-analytics:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc index 4d9b575423696..9d12715c5ebf1 100644 --- a/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-common", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-common/package.json b/packages/core/ui-settings/core-ui-settings-common/package.json index 12da969fe70f7..844f81ccab1c3 100644 --- a/packages/core/ui-settings/core-ui-settings-common/package.json +++ b/packages/core/ui-settings/core-ui-settings-common/package.json @@ -2,9 +2,6 @@ "name": "@kbn/core-ui-settings-common", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-common/tsconfig.json b/packages/core/ui-settings/core-ui-settings-common/tsconfig.json index ef521586433c9..3b43c09cbaa08 100644 --- a/packages/core/ui-settings/core-ui-settings-common/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-common/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/analytics" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-server-internal/BUILD.bazel deleted file mode 100644 index de69c73467472..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-server-internal/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//semver", - "@npm//moment-timezone", - "//packages/kbn-std", - "//packages/kbn-i18n", - "//packages/kbn-config-schema", - "//packages/core/saved-objects/core-saved-objects-utils-server", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/semver", - "@npm//moment-timezone", - "@npm//lodash", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-common:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc index b6c943e1e6677..e0f62711171c2 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/package.json b/packages/core/ui-settings/core-ui-settings-server-internal/package.json index 04b1646e4a86a..79a2460ed510e 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/package.json +++ b/packages/core/ui-settings/core-ui-settings-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-ui-settings-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/clients/ui_settings_client_factory.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/clients/ui_settings_client_factory.ts index db1c69a6074fd..893a45d6830b2 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/clients/ui_settings_client_factory.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/clients/ui_settings_client_factory.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import type { UiSettingsServiceOptions } from '@kbn/core-ui-settings-server-internal'; +import type { UiSettingsServiceOptions } from '../..'; import { UiSettingsClient } from './ui_settings_client'; import { UiSettingsGlobalClient } from './ui_settings_global_client'; diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json index 4582562d6c9bb..b90718d624e97 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,32 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/ui-shared-deps-npm", + "@kbn/logging", + "@kbn/std", + "@kbn/i18n", + "@kbn/config-schema", + "@kbn/core-base-server-internal", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-saved-objects-utils-server", + "@kbn/core-ui-settings-common", + "@kbn/core-ui-settings-server", + "@kbn/config", + "@kbn/core-base-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-saved-objects-api-server-internal", + "@kbn/core-saved-objects-common", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-server-mocks/BUILD.bazel deleted file mode 100644 index 8b016335d66e4..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc index 5426961c3a663..b82edffb705dd 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/package.json b/packages/core/ui-settings/core-ui-settings-server-mocks/package.json index c22f7b69954bf..e7de21bf88c8f 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/package.json +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-ui-settings-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json index 4582562d6c9bb..7c315c5cded70 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-ui-settings-server", + "@kbn/core-ui-settings-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/ui-settings/core-ui-settings-server/BUILD.bazel b/packages/core/ui-settings/core-ui-settings-server/BUILD.bazel deleted file mode 100644 index 0cf8fb2d3119b..0000000000000 --- a/packages/core/ui-settings/core-ui-settings-server/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-ui-settings-server" -PKG_REQUIRE_NAME = "@kbn/core-ui-settings-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-common:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc index 5ac08792e518e..11926aebbc873 100644 --- a/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc +++ b/packages/core/ui-settings/core-ui-settings-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-ui-settings-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/core/ui-settings/core-ui-settings-server/package.json b/packages/core/ui-settings/core-ui-settings-server/package.json index 4f4e046e69801..8ecf2790ced16 100644 --- a/packages/core/ui-settings/core-ui-settings-server/package.json +++ b/packages/core/ui-settings/core-ui-settings-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-ui-settings-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/ui-settings/core-ui-settings-server/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server/tsconfig.json index 4582562d6c9bb..dce14385f9e70 100644 --- a/packages/core/ui-settings/core-ui-settings-server/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-saved-objects-api-server", + "@kbn/core-ui-settings-common" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/BUILD.bazel b/packages/core/usage-data/core-usage-data-base-server-internal/BUILD.bazel deleted file mode 100644 index d2412fae38af9..0000000000000 --- a/packages/core/usage-data/core-usage-data-base-server-internal/BUILD.bazel +++ /dev/null @@ -1,107 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-usage-data-base-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-usage-data-base-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc index d35d6c2bbd6d7..8c2a2c4b191d9 100644 --- a/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-usage-data-base-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/package.json b/packages/core/usage-data/core-usage-data-base-server-internal/package.json index 3bac6ca65b835..38a8bf6f749f2 100644 --- a/packages/core/usage-data/core-usage-data-base-server-internal/package.json +++ b/packages/core/usage-data/core-usage-data-base-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-usage-data-base-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json b/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json index 4582562d6c9bb..cfcefb9833f7f 100644 --- a/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-http-server", + "@kbn/core-usage-data-server", + "@kbn/core-saved-objects-server" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/usage-data/core-usage-data-server-internal/BUILD.bazel b/packages/core/usage-data/core-usage-data-server-internal/BUILD.bazel deleted file mode 100644 index c677b2c16ecee..0000000000000 --- a/packages/core/usage-data/core-usage-data-server-internal/BUILD.bazel +++ /dev/null @@ -1,128 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-usage-data-server-internal" -PKG_REQUIRE_NAME = "@kbn/core-usage-data-server-internal" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//rxjs", - "@npm//@elastic/elasticsearch", - "//packages/kbn-config", - "//packages/core/saved-objects/core-saved-objects-base-server-internal", - "//packages/core/saved-objects/core-saved-objects-utils-server", - "//packages/core/usage-data/core-usage-data-base-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//lodash", - "@npm//rxjs", - "@npm//@elastic/elasticsearch", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/logging/core-logging-server-internal:npm_module_types", - "//packages/core/http/core-http-server:npm_module_types", - "//packages/core/http/core-http-server-internal:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/core/elasticsearch/core-elasticsearch-server-internal:npm_module_types", - "//packages/core/metrics/core-metrics-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-api-server:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-base-server-internal:npm_module_types", - "//packages/core/saved-objects/core-saved-objects-utils-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc index 30bf6865b5bb4..9e8be00d3c9dd 100644 --- a/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-usage-data-server-internal", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/usage-data/core-usage-data-server-internal/package.json b/packages/core/usage-data/core-usage-data-server-internal/package.json index 3138c86ae3baa..65e97da09e266 100644 --- a/packages/core/usage-data/core-usage-data-server-internal/package.json +++ b/packages/core/usage-data/core-usage-data-server-internal/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-usage-data-server-internal", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json b/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json index 4582562d6c9bb..51b42f8df7736 100644 --- a/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,33 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/config", + "@kbn/logging", + "@kbn/core-base-server-internal", + "@kbn/core-logging-server-internal", + "@kbn/core-http-server", + "@kbn/core-http-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-metrics-server", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-utils-server", + "@kbn/core-usage-data-server", + "@kbn/core-usage-data-base-server-internal", + "@kbn/config-mocks", + "@kbn/core-base-server-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-metrics-server-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/usage-data/core-usage-data-server-mocks/BUILD.bazel b/packages/core/usage-data/core-usage-data-server-mocks/BUILD.bazel deleted file mode 100644 index d75bd1efb5724..0000000000000 --- a/packages/core/usage-data/core-usage-data-server-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-usage-data-server-mocks" -PKG_REQUIRE_NAME = "@kbn/core-usage-data-server-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//rxjs", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "//packages/kbn-utility-types:npm_module_types", - "//packages/core/usage-data/core-usage-data-server:npm_module_types", - "//packages/core/usage-data/core-usage-data-base-server-internal:npm_module_types", - "//packages/core/usage-data/core-usage-data-server-internal:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc index f12bd25bee867..f916d41050f66 100644 --- a/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-usage-data-server-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/usage-data/core-usage-data-server-mocks/package.json b/packages/core/usage-data/core-usage-data-server-mocks/package.json index 90dca09cf1471..ab47ad04bc448 100644 --- a/packages/core/usage-data/core-usage-data-server-mocks/package.json +++ b/packages/core/usage-data/core-usage-data-server-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-usage-data-server-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json b/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json index 4582562d6c9bb..0488bb38c3ce7 100644 --- a/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/core-usage-data-server", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-usage-data-server-internal" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/core/usage-data/core-usage-data-server/BUILD.bazel b/packages/core/usage-data/core-usage-data-server/BUILD.bazel deleted file mode 100644 index 2133607f6aa8c..0000000000000 --- a/packages/core/usage-data/core-usage-data-server/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "core-usage-data-server" -PKG_REQUIRE_NAME = "@kbn/core-usage-data-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/core/usage-data/core-usage-data-server/kibana.jsonc b/packages/core/usage-data/core-usage-data-server/kibana.jsonc index a785db8090713..722bd81550aa8 100644 --- a/packages/core/usage-data/core-usage-data-server/kibana.jsonc +++ b/packages/core/usage-data/core-usage-data-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/core-usage-data-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/core/usage-data/core-usage-data-server/package.json b/packages/core/usage-data/core-usage-data-server/package.json index 5f6f8f77a93a8..8b367cbfa3202 100644 --- a/packages/core/usage-data/core-usage-data-server/package.json +++ b/packages/core/usage-data/core-usage-data-server/package.json @@ -2,8 +2,6 @@ "name": "@kbn/core-usage-data-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/core/usage-data/core-usage-data-server/tsconfig.json b/packages/core/usage-data/core-usage-data-server/tsconfig.json index 4582562d6c9bb..77d0aa6ade3b1 100644 --- a/packages/core/usage-data/core-usage-data-server/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/home/sample_data_card/BUILD.bazel b/packages/home/sample_data_card/BUILD.bazel deleted file mode 100644 index 6697c6c0cefb4..0000000000000 --- a/packages/home/sample_data_card/BUILD.bazel +++ /dev/null @@ -1,152 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "sample_data_card" -PKG_REQUIRE_NAME = "@kbn/home-sample-data-card" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - "**/*.svg", - "**/*.png", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//@storybook/addon-actions", - "@npm//@storybook/react", - "@npm//enzyme", - "@npm//lodash", - "@npm//react", - "//packages/kbn-i18n", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@storybook/addon-actions", - "@npm//@storybook/react", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n:npm_module_types", - "//packages/home/sample_data_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/home/sample_data_card/kibana.jsonc b/packages/home/sample_data_card/kibana.jsonc index 37c9a72d03e46..03869fcdb70bf 100644 --- a/packages/home/sample_data_card/kibana.jsonc +++ b/packages/home/sample_data_card/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-card", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/home/sample_data_card/package.json b/packages/home/sample_data_card/package.json index 35d0f1b22ef39..c82ba35d94238 100644 --- a/packages/home/sample_data_card/package.json +++ b/packages/home/sample_data_card/package.json @@ -2,8 +2,5 @@ "name": "@kbn/home-sample-data-card", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/home/sample_data_card/tsconfig.json b/packages/home/sample_data_card/tsconfig.json index 158e1387bb883..531dd52379f12 100644 --- a/packages/home/sample_data_card/tsconfig.json +++ b/packages/home/sample_data_card/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/home-sample-data-types", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/home/sample_data_tab/BUILD.bazel b/packages/home/sample_data_tab/BUILD.bazel deleted file mode 100644 index 54e0ea0c82c6f..0000000000000 --- a/packages/home/sample_data_tab/BUILD.bazel +++ /dev/null @@ -1,146 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "sample_data_tab" -PKG_REQUIRE_NAME = "@kbn/home-sample-data-tab" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - "**/*.png", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@elastic/eui", - "//packages/kbn-i18n", - "//packages/home/sample_data_card", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ambient-ui-types", - "//packages/home/sample_data_types", - "//packages/home/sample_data_card:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/home/sample_data_tab/kibana.jsonc b/packages/home/sample_data_tab/kibana.jsonc index 9e57d400caa61..ecf1eae5d146a 100644 --- a/packages/home/sample_data_tab/kibana.jsonc +++ b/packages/home/sample_data_tab/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-tab", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/home/sample_data_tab/package.json b/packages/home/sample_data_tab/package.json index beb7a99f8aa6c..435df25207ff8 100644 --- a/packages/home/sample_data_tab/package.json +++ b/packages/home/sample_data_tab/package.json @@ -2,8 +2,5 @@ "name": "@kbn/home-sample-data-tab", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/home/sample_data_tab/tsconfig.json b/packages/home/sample_data_tab/tsconfig.json index 158e1387bb883..3cdeb5489c22a 100644 --- a/packages/home/sample_data_tab/tsconfig.json +++ b/packages/home/sample_data_tab/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/home-sample-data-card", + "@kbn/home-sample-data-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/home/sample_data_types/BUILD.bazel b/packages/home/sample_data_types/BUILD.bazel deleted file mode 100644 index 574f07ca11e66..0000000000000 --- a/packages/home/sample_data_types/BUILD.bazel +++ /dev/null @@ -1,58 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "sample_data_types" -PKG_REQUIRE_NAME = "@kbn/home-sample-data-types" -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/home/sample_data_types/kibana.jsonc b/packages/home/sample_data_types/kibana.jsonc index db7884dd0d07f..f82d226f836e0 100644 --- a/packages/home/sample_data_types/kibana.jsonc +++ b/packages/home/sample_data_types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/home-sample-data-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/home/sample_data_types/package.json b/packages/home/sample_data_types/package.json index dd42a0e0a1934..e18945e544a5e 100644 --- a/packages/home/sample_data_types/package.json +++ b/packages/home/sample_data_types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/home-sample-data-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/home/sample_data_types/tsconfig.json b/packages/home/sample_data_types/tsconfig.json index 2ff5d03a149c7..493400e55a76f 100644 --- a/packages/home/sample_data_types/tsconfig.json +++ b/packages/home/sample_data_types/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ace/BUILD.bazel b/packages/kbn-ace/BUILD.bazel deleted file mode 100644 index 87b2e9f57354d..0000000000000 --- a/packages/kbn-ace/BUILD.bazel +++ /dev/null @@ -1,131 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ace" -PKG_REQUIRE_NAME = "@kbn/ace" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "src/ace/modes/x_json/worker/x_json.ace.worker.js", - ], - exclude = [ - "src/ace/modes/x_json/worker/worker.d.ts", - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "@npm//brace", - "@npm//lodash", - "@npm//raw-loader", -] - -TYPES_DEPS = [ - "@npm//brace", - "@npm//@types/lodash", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - additional_args = [ - "--copy-files", - "--ignore", - "**/*/src/ace/modes/x_json/worker/x_json.ace.worker.js", - "--quiet" - ], - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - additional_args = [ - "--copy-files", - "--ignore", - "**/*/src/ace/modes/x_json/worker/x_json.ace.worker.js", - "--quiet" - ], - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ace/kibana.jsonc b/packages/kbn-ace/kibana.jsonc index 25da4fe177ee2..8c5e29f19b54a 100644 --- a/packages/kbn-ace/kibana.jsonc +++ b/packages/kbn-ace/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ace", - "owner": "@elastic/platform-deployment-management", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/platform-deployment-management" } diff --git a/packages/kbn-ace/package.json b/packages/kbn-ace/package.json index da9587a86cb16..71718766f4cab 100644 --- a/packages/kbn-ace/package.json +++ b/packages/kbn-ace/package.json @@ -2,8 +2,5 @@ "name": "@kbn/ace", "version": "1.0.0", "private": true, - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ace/tsconfig.json b/packages/kbn-ace/tsconfig.json index 1cf2f1e9ac9a0..a545abd7d65a6 100644 --- a/packages/kbn-ace/tsconfig.json +++ b/packages/kbn-ace/tsconfig.json @@ -1,15 +1,16 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "allowJs": false, - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": true, "types": ["node"] }, "include": [ "**/*.ts", "src/ace/modes/x_json/worker/x_json.ace.worker.js" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-alerts/BUILD.bazel b/packages/kbn-alerts/BUILD.bazel deleted file mode 100644 index 74f684fc6d458..0000000000000 --- a/packages/kbn-alerts/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-alerts" -PKG_REQUIRE_NAME = "@kbn/alerts" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx" - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "@npm//@elastic/eui", - "@npm//enzyme", - "@npm//react", -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "@npm//@elastic/eui", - "@npm//tslib", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-alerts/kibana.jsonc b/packages/kbn-alerts/kibana.jsonc index 93b42c4ef86bf..d801aa493acf9 100644 --- a/packages/kbn-alerts/kibana.jsonc +++ b/packages/kbn-alerts/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/alerts", - "owner": "@elastic/security-solution", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution" } diff --git a/packages/kbn-alerts/package.json b/packages/kbn-alerts/package.json index cc4285cfc50a8..3246bcfb5b3e0 100644 --- a/packages/kbn-alerts/package.json +++ b/packages/kbn-alerts/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "Alerts components and hooks", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-alerts/tsconfig.json b/packages/kbn-alerts/tsconfig.json index fccc6563c0e73..91f7ce820b25e 100644 --- a/packages/kbn-alerts/tsconfig.json +++ b/packages/kbn-alerts/tsconfig.json @@ -1,13 +1,17 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["jest", "node"] }, "include": [ "**/*.ts", "**/*.tsx" ], + "kbn_references": [ + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-ambient-common-types/BUILD.bazel b/packages/kbn-ambient-common-types/BUILD.bazel deleted file mode 100644 index 3a8b17248da22..0000000000000 --- a/packages/kbn-ambient-common-types/BUILD.bazel +++ /dev/null @@ -1,58 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-ambient-common-types" -PKG_REQUIRE_NAME = "@kbn/ambient-common-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ambient-common-types/README.mdx b/packages/kbn-ambient-common-types/README.mdx index f08885537225c..6bc1ab253e792 100644 --- a/packages/kbn-ambient-common-types/README.mdx +++ b/packages/kbn-ambient-common-types/README.mdx @@ -14,7 +14,4 @@ These types will automatically be included for plugins. ## Packages -To include these types in a package: - -- add `"//packages/kbn-ambient-ui-types:npm_module_types"` to the `TYPES_DEPS` portion of the `BUILD.bazel` file. -- add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file +To include these types in a package add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file diff --git a/packages/kbn-ambient-common-types/kibana.jsonc b/packages/kbn-ambient-common-types/kibana.jsonc index 70537777cc825..941cb38015f0d 100644 --- a/packages/kbn-ambient-common-types/kibana.jsonc +++ b/packages/kbn-ambient-common-types/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ambient-common-types", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-ambient-common-types/package.json b/packages/kbn-ambient-common-types/package.json index 1794b046ef16e..989705008e0cf 100644 --- a/packages/kbn-ambient-common-types/package.json +++ b/packages/kbn-ambient-common-types/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ambient-common-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ambient-common-types/tsconfig.json b/packages/kbn-ambient-common-types/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-ambient-common-types/tsconfig.json +++ b/packages/kbn-ambient-common-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ambient-ftr-types/BUILD.bazel b/packages/kbn-ambient-ftr-types/BUILD.bazel deleted file mode 100644 index f6de3cba29f6a..0000000000000 --- a/packages/kbn-ambient-ftr-types/BUILD.bazel +++ /dev/null @@ -1,58 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-ambient-ftr-types" -PKG_REQUIRE_NAME = "@kbn/ambient-ftr-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ambient-ftr-types/kibana.jsonc b/packages/kbn-ambient-ftr-types/kibana.jsonc index 5fa351e4d7814..0464c850c1663 100644 --- a/packages/kbn-ambient-ftr-types/kibana.jsonc +++ b/packages/kbn-ambient-ftr-types/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ambient-ftr-types", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-ambient-ftr-types/package.json b/packages/kbn-ambient-ftr-types/package.json index 7928b304529cf..840c9c81d7bbd 100644 --- a/packages/kbn-ambient-ftr-types/package.json +++ b/packages/kbn-ambient-ftr-types/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ambient-ftr-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ambient-ftr-types/tsconfig.json b/packages/kbn-ambient-ftr-types/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-ambient-ftr-types/tsconfig.json +++ b/packages/kbn-ambient-ftr-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ambient-storybook-types/BUILD.bazel b/packages/kbn-ambient-storybook-types/BUILD.bazel deleted file mode 100644 index 1d4beea5fee4f..0000000000000 --- a/packages/kbn-ambient-storybook-types/BUILD.bazel +++ /dev/null @@ -1,64 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ambient-storybook-types" -PKG_REQUIRE_NAME = "@kbn/ambient-storybook-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - # Storybook react doesn't depend on these types even though their types use - # them, so we depend on them in this package and import them to make sure that they - # are available to users of the ambient types - "@npm//react-textarea-autosize", - "@npm//@storybook/react-docgen-typescript-plugin", -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ambient-storybook-types/README.mdx b/packages/kbn-ambient-storybook-types/README.mdx index f0db9b552d6ee..8dcd0c9f04c7a 100644 --- a/packages/kbn-ambient-storybook-types/README.mdx +++ b/packages/kbn-ambient-storybook-types/README.mdx @@ -11,8 +11,4 @@ This package holds ambient typescript definitions needed to use storybooks. ## Packages -To include these types in a package: - -- add `"//packages/kbn-ambient-storybook-types"` to the `RUNTIME_DEPS` portion of the `BUILD.bazel` file. -- add `"//packages/kbn-ambient-storybook-types:npm_module_types"` to the `TYPES_DEPS` portion of the `BUILD.bazel` file. -- add `"@kbn/ambient-storybook-types"` to the `types` portion of the `tsconfig.json` file. +To include these types in a package add `"@kbn/ambient-storybook-types"` to the `types` portion of the `tsconfig.json` file. diff --git a/packages/kbn-ambient-storybook-types/kibana.jsonc b/packages/kbn-ambient-storybook-types/kibana.jsonc index d04a5a93e2960..c746094ae008a 100644 --- a/packages/kbn-ambient-storybook-types/kibana.jsonc +++ b/packages/kbn-ambient-storybook-types/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ambient-storybook-types", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ambient-storybook-types/tsconfig.json b/packages/kbn-ambient-storybook-types/tsconfig.json index c0217a1c1a013..36ec9753b7936 100644 --- a/packages/kbn-ambient-storybook-types/tsconfig.json +++ b/packages/kbn-ambient-storybook-types/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ambient-ui-types/BUILD.bazel b/packages/kbn-ambient-ui-types/BUILD.bazel deleted file mode 100644 index b6913eedc6d9c..0000000000000 --- a/packages/kbn-ambient-ui-types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ambient-ui-types" -PKG_REQUIRE_NAME = "@kbn/ambient-ui-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ambient-ui-types/README.mdx b/packages/kbn-ambient-ui-types/README.mdx index dbff6fb8e18a2..818f20e48d058 100644 --- a/packages/kbn-ambient-ui-types/README.mdx +++ b/packages/kbn-ambient-ui-types/README.mdx @@ -14,8 +14,4 @@ These types will automatically be included for plugins. ## Packages -To include these types in a package: - -- add `"//packages/kbn-ambient-ui-types"` to the `RUNTIME_DEPS` portion of the `BUILD.bazel` file. -- add `"//packages/kbn-ambient-ui-types:npm_module_types"` to the `TYPES_DEPS` portion of the `BUILD.bazel` file. -- add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file +To include these types in a package add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file diff --git a/packages/kbn-ambient-ui-types/kibana.jsonc b/packages/kbn-ambient-ui-types/kibana.jsonc index 1837bcfbd5619..940c59f8c3e28 100644 --- a/packages/kbn-ambient-ui-types/kibana.jsonc +++ b/packages/kbn-ambient-ui-types/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ambient-ui-types", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ambient-ui-types/tsconfig.json b/packages/kbn-ambient-ui-types/tsconfig.json index 6904725bb1b26..1b6c3402c64d7 100644 --- a/packages/kbn-ambient-ui-types/tsconfig.json +++ b/packages/kbn-ambient-ui-types/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "@types/react", ] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-analytics/BUILD.bazel b/packages/kbn-analytics/BUILD.bazel index d1d6b6c90d1cf..3d30665907d2a 100644 --- a/packages/kbn-analytics/BUILD.bazel +++ b/packages/kbn-analytics/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-analytics" -PKG_REQUIRE_NAME = "@kbn/analytics" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", ], @@ -24,103 +19,16 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json" -] - -RUNTIME_DEPS = [ +BUNDLER_DEPS = [ "@npm//moment", "@npm//moment-timezone", "@npm//tslib", ] -TYPES_DEPS = [ - "@npm//moment", - "@npm//moment-timezone", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_config( - name = "tsconfig_browser", - src = "tsconfig.browser.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.browser.json", - "//:tsconfig.browser_bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-analytics", + package_name = "@kbn/analytics", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-analytics/kibana.jsonc b/packages/kbn-analytics/kibana.jsonc index 06320d851340b..b10ca7bb960f6 100644 --- a/packages/kbn-analytics/kibana.jsonc +++ b/packages/kbn-analytics/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/analytics", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-analytics/package.json b/packages/kbn-analytics/package.json index 57216d4e563db..128870ecff50f 100644 --- a/packages/kbn-analytics/package.json +++ b/packages/kbn-analytics/package.json @@ -3,9 +3,6 @@ "private": true, "version": "1.0.0", "description": "Kibana Analytics tool", - "main": "target_node/index.js", - "browser": "target_web/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-analytics/tsconfig.json b/packages/kbn-analytics/tsconfig.json index c1b62ffb7d142..d2dc35192fa55 100644 --- a/packages/kbn-analytics/tsconfig.json +++ b/packages/kbn-analytics/tsconfig.json @@ -1,15 +1,16 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node" ] }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-apm-config-loader/BUILD.bazel b/packages/kbn-apm-config-loader/BUILD.bazel deleted file mode 100644 index fd51d0719bac6..0000000000000 --- a/packages/kbn-apm-config-loader/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-apm-config-loader" -PKG_REQUIRE_NAME = "@kbn/apm-config-loader" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-safer-lodash-set", - "//packages/kbn-utils", - "@npm//js-yaml", - "@npm//lodash", -] - -TYPES_DEPS = [ - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//@elastic/apm-rum", - "@npm//@types/jest", - "@npm//@types/js-yaml", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//elastic-apm-node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-apm-config-loader/kibana.jsonc b/packages/kbn-apm-config-loader/kibana.jsonc index 904a7eda0177a..e9d06f3539492 100644 --- a/packages/kbn-apm-config-loader/kibana.jsonc +++ b/packages/kbn-apm-config-loader/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/apm-config-loader", - "owner": ["@elastic/kibana-core", "@vigneshshanmugam"], - "runtimeDeps": [], - "typeDeps": [] + "owner": ["@elastic/kibana-core", "@vigneshshanmugam"] } diff --git a/packages/kbn-apm-config-loader/package.json b/packages/kbn-apm-config-loader/package.json index 30d7f3780f83e..c4645cdf148fc 100644 --- a/packages/kbn-apm-config-loader/package.json +++ b/packages/kbn-apm-config-loader/package.json @@ -1,8 +1,6 @@ { "name": "@kbn/apm-config-loader", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-apm-config-loader/tsconfig.json b/packages/kbn-apm-config-loader/tsconfig.json index 57c1dd1c94e0f..09575e5e2b745 100644 --- a/packages/kbn-apm-config-loader/tsconfig.json +++ b/packages/kbn-apm-config-loader/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/safer-lodash-set", + "@kbn/utils", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-apm-synthtrace-client/README.md b/packages/kbn-apm-synthtrace-client/README.md new file mode 100644 index 0000000000000..d3e716d6cd37f --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/README.md @@ -0,0 +1 @@ +See packages/kbn-apm-synthtrace/README.json diff --git a/packages/kbn-apm-synthtrace-client/index.ts b/packages/kbn-apm-synthtrace-client/index.ts new file mode 100644 index 0000000000000..82f8efe28b40a --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/index.ts @@ -0,0 +1,32 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { observer } from './src/lib/agent_config'; +export type { AgentConfigFields } from './src/lib/agent_config/agent_config_fields'; +export { apm } from './src/lib/apm'; +export type { ApmFields } from './src/lib/apm/apm_fields'; +export type { Instance } from './src/lib/apm/instance'; +export { MobileDevice } from './src/lib/apm/mobile_device'; +export type { + DeviceInfo, + GeoInfo, + NetworkConnectionInfo, + OSInfo, +} from './src/lib/apm/mobile_device'; +export { httpExitSpan } from './src/lib/apm/span'; +export { DistributedTrace } from './src/lib/dsl/distributed_trace_client'; +export type { Fields } from './src/lib/entity'; +export type { Serializable } from './src/lib/serializable'; +export { timerange } from './src/lib/timerange'; +export type { Timerange } from './src/lib/timerange'; +export { generateLongId, generateShortId } from './src/lib/utils/generate_id'; +export { appendHash, hashKeysOf } from './src/lib/utils/hash'; +export { dedot } from './src/lib/utils/dedot'; +export type { ESDocumentWithOperation, SynthtraceESAction, SynthtraceGenerator } from './src/types'; + +export { parseInterval } from './src/lib/interval'; diff --git a/packages/kbn-apm-synthtrace-client/jest.config.js b/packages/kbn-apm-synthtrace-client/jest.config.js new file mode 100644 index 0000000000000..1da953b4d6528 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/jest.config.js @@ -0,0 +1,15 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-apm-synthtrace-client'], + setupFiles: [], + setupFilesAfterEnv: [], +}; diff --git a/packages/kbn-apm-synthtrace-client/kibana.jsonc b/packages/kbn-apm-synthtrace-client/kibana.jsonc new file mode 100644 index 0000000000000..b9f2d79601d6d --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/apm-synthtrace-client", + "devOnly": true, + "owner": "@elastic/apm-ui" +} diff --git a/packages/kbn-apm-synthtrace-client/package.json b/packages/kbn-apm-synthtrace-client/package.json new file mode 100644 index 0000000000000..24d780a8ba4aa --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/apm-synthtrace-client", + "version": "0.1.0", + "description": "Elastic APM trace data generator", + "license": "SSPL-1.0 OR Elastic License 2.0", + "private": true +} diff --git a/packages/kbn-apm-synthtrace-client/src/.eslintrc.js b/packages/kbn-apm-synthtrace-client/src/.eslintrc.js new file mode 100644 index 0000000000000..2e3eef95f4bf3 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/.eslintrc.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + rules: { + 'import/no-default-export': 'off', + }, +}; diff --git a/packages/kbn-apm-synthtrace/src/lib/agent_config/agent_config.ts b/packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/agent_config/agent_config.ts rename to packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/agent_config/agent_config_fields.ts b/packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config_fields.ts similarity index 90% rename from packages/kbn-apm-synthtrace/src/lib/agent_config/agent_config_fields.ts rename to packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config_fields.ts index 82b0963cee6e6..f86ef26f16564 100644 --- a/packages/kbn-apm-synthtrace/src/lib/agent_config/agent_config_fields.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/agent_config/agent_config_fields.ts @@ -14,7 +14,9 @@ export type AgentConfigFields = Pick< | 'processor.event' | 'processor.name' | 'metricset.name' - | 'observer' + | 'observer.version' + | 'observer.type' + | 'observer.version_major' | 'ecs.version' | 'event.ingested' > & diff --git a/packages/kbn-apm-synthtrace/src/lib/agent_config/index.ts b/packages/kbn-apm-synthtrace-client/src/lib/agent_config/index.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/agent_config/index.ts rename to packages/kbn-apm-synthtrace-client/src/lib/agent_config/index.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/agent_config/observer.ts b/packages/kbn-apm-synthtrace-client/src/lib/agent_config/observer.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/agent_config/observer.ts rename to packages/kbn-apm-synthtrace-client/src/lib/agent_config/observer.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/apm_error.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_error.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/apm_error.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/apm_error.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts similarity index 87% rename from packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts index e38cac7f5c94d..981b6e16a393d 100644 --- a/packages/kbn-apm-synthtrace/src/lib/apm/apm_fields.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts @@ -46,49 +46,66 @@ export interface GeoLocation { type: string; } -export type ApmFields = Fields & +type ExperimentalFields = Partial<{ + 'metricset.interval': string; + 'transaction.duration.summary': string; +}>; + +export type ApmFields = Fields<{ + 'metricset.id': string; +}> & Partial<{ 'timestamp.us'?: number; + 'agent.name': string; 'agent.version': string; 'client.geo.city_name': string; 'client.geo.continent_name': string; 'client.geo.country_iso_code': string; 'client.geo.country_name': string; + 'client.geo.location': GeoLocation; 'client.geo.region_iso_code': string; 'client.geo.region_name': string; - 'client.geo.location': GeoLocation; 'client.ip': string; - 'cloud.provider': string; - 'cloud.project.name': string; - 'cloud.service.name': string; + 'cloud.account.id': string; + 'cloud.account.name': string; 'cloud.availability_zone': string; 'cloud.machine.type': string; + 'cloud.project.id': string; + 'cloud.project.name': string; + 'cloud.provider': string; 'cloud.region': string; + 'cloud.service.name': string; 'container.id': string; 'destination.address': string; 'destination.port': number; 'device.id': string; + 'device.manufacturer': string; 'device.model.identifier': string; 'device.model.name': string; - 'device.manufacturer': string; 'ecs.version': string; - 'event.outcome': string; - 'event.name': string; - 'event.ingested': number; - 'error.id': string; 'error.exception': ApmException[]; - 'error.grouping_name': string; 'error.grouping_key': string; - 'faas.id': string; - 'faas.name': string; + 'error.grouping_name': string; + 'error.id': string; + 'event.ingested': number; + 'event.name': string; + 'event.outcome': string; + 'event.outcome_numeric': + | number + | { + sum: number; + value_count: number; + }; 'faas.coldstart': boolean; 'faas.execution': string; + 'faas.id': string; + 'faas.name': string; 'faas.trigger.type': string; - 'faas.trigger.request_id': string; - 'host.name': string; + 'faas.version': string; 'host.architecture': string; 'host.hostname': string; + 'host.name': string; 'host.os.full': string; 'host.os.name': string; 'host.os.platform': string; @@ -96,59 +113,64 @@ export type ApmFields = Fields & 'host.os.version': string; 'http.request.method': string; 'http.response.status_code': number; - 'kubernetes.pod.uid': string; 'kubernetes.pod.name': string; + 'kubernetes.pod.uid': string; 'metricset.name': string; - observer: Observer; - 'network.connection.type': string; - 'network.connection.subtype': string; - 'network.carrier.name': string; + 'network.carrier.icc': string; 'network.carrier.mcc': string; 'network.carrier.mnc': string; - 'network.carrier.icc': string; + 'network.carrier.name': string; + 'network.connection.subtype': string; + 'network.connection.type': string; + 'observer.type': string; + 'observer.version_major': number; + 'observer.version': string; 'parent.id': string; 'processor.event': string; 'processor.name': string; 'session.id': string; 'trace.id': string; + 'transaction.duration.us': number; + 'transaction.id': string; 'transaction.name': string; 'transaction.type': string; - 'transaction.id': string; - 'transaction.duration.us': number; 'transaction.duration.histogram': { values: number[]; counts: number[]; }; - 'transaction.sampled': true; - 'service.name': string; - 'service.version': string; 'service.environment': string; + 'service.framework.name': string; + 'service.framework.version': string; 'service.language.name': string; + 'service.language.version': string; + 'service.name': string; 'service.node.name': string; 'service.runtime.name': string; 'service.runtime.version': string; - 'service.framework.name': string; - 'service.framework.version': string; 'service.target.name': string; 'service.target.type': string; + 'service.version': string; 'span.action': string; - 'span.id': string; - 'span.name': string; - 'span.type': string; - 'span.subtype': string; - 'span.duration.us': number; 'span.destination.service.resource': string; - 'span.destination.service.response_time.sum.us': number; 'span.destination.service.response_time.count': number; + 'span.destination.service.response_time.sum.us': number; + 'span.duration.us': number; + 'span.id': string; + 'span.name': string; 'span.self_time.count': number; 'span.self_time.sum.us': number; + 'span.subtype': string; + 'span.type': string; + 'transaction.result': string; + 'transaction.sampled': true; 'span.links': Array<{ trace: { id: string }; span: { id: string }; }>; 'url.original': string; }> & - ApmApplicationMetricFields; + ApmApplicationMetricFields & + ExperimentalFields; export type SpanParams = { spanName: string; diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/base_span.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/base_span.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/base_span.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/base_span.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/browser.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/browser.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/browser.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/browser.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/defaults/get_chrome_user_agent_defaults.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/defaults/get_chrome_user_agent_defaults.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/defaults/get_chrome_user_agent_defaults.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/defaults/get_chrome_user_agent_defaults.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts new file mode 100644 index 0000000000000..9e2accb58aceb --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/index.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { service } from './service'; +import { mobileApp } from './mobile_app'; +import { browser } from './browser'; +import { serverlessFunction } from './serverless_function'; +import { getChromeUserAgentDefaults } from './defaults/get_chrome_user_agent_defaults'; + +import type { ApmException } from './apm_fields'; + +export const apm = { + service, + mobileApp, + browser, + getChromeUserAgentDefaults, + serverlessFunction, +}; + +export type { ApmException }; diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/instance.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/instance.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/instance.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/metricset.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/metricset.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/metricset.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/metricset.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/mobile_app.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_app.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/mobile_app.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_app.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/mobile_device.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/mobile_device.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/processors/get_breakdown_metrics.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/processors/get_breakdown_metrics.ts new file mode 100644 index 0000000000000..fe1779c3cace9 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/processors/get_breakdown_metrics.ts @@ -0,0 +1,150 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { pick } from 'lodash'; +import { hashKeysOf } from '../../utils/hash'; +import { ApmFields } from '../apm_fields'; + +const KEY_FIELDS: Array = [ + 'container.id', + 'kubernetes.pod.name', + 'kubernetes.pod.uid', + 'agent.name', + 'agent.version', + 'cloud.account.id', + 'cloud.account.name', + 'cloud.availability_zone', + 'cloud.machine.type', + 'cloud.project.id', + 'cloud.project.name', + 'cloud.provider', + 'cloud.region', + 'cloud.service.name', + 'service.name', + 'service.environment', + 'service.framework.name', + 'service.language.name', + 'service.language.version', + 'service.name', + 'service.node.name', + 'service.runtime.name', + 'service.runtime.version', + 'host.architecture', + 'host.hostname', + 'host.name', + 'host.os.platform', + 'transaction.type', + 'transaction.name', + 'span.type', + 'span.subtype', +]; + +export function getBreakdownMetrics(events: ApmFields[]): ApmFields[] { + const [transaction] = events; + + const metricsets: Map = new Map(); + + const eventsById: Record = {}; + const activityByParentId: Record> = {}; + for (const event of events) { + const id = + event['processor.event'] === 'transaction' ? event['transaction.id'] : event['span.id']; + eventsById[id!] = event; + + const parentId = event['parent.id']; + + if (!parentId) { + continue; + } + + if (!activityByParentId[parentId]) { + activityByParentId[parentId] = []; + } + + const from = event['@timestamp']! * 1000; + const to = + from + + (event['processor.event'] === 'transaction' + ? event['transaction.duration.us']! + : event['span.duration.us']!); + + activityByParentId[parentId].push({ from, to }); + } + + // eslint-disable-next-line guard-for-in + for (const id in eventsById) { + const event = eventsById[id]; + const activities = activityByParentId[id] || []; + + const timeStart = event['@timestamp']! * 1000; + + let selfTime = 0; + let lastMeasurement = timeStart; + const changeTimestamps = Array.from( + new Set([ + timeStart, + ...activities.flatMap((activity) => [activity.from, activity.to]), + timeStart + + (event['processor.event'] === 'transaction' + ? event['transaction.duration.us']! + : event['span.duration.us']!), + ]) + ); + + for (const timestamp of changeTimestamps) { + const hasActiveChildren = activities.some( + (activity) => activity.from < timestamp && activity.to >= timestamp + ); + + if (!hasActiveChildren) { + selfTime += timestamp - lastMeasurement; + } + + lastMeasurement = timestamp; + } + + const key = { + ...pick(event, KEY_FIELDS), + 'transaction.type': transaction['transaction.type'], + 'transaction.name': transaction['transaction.name'], + }; + + const metricsetId = hashKeysOf(key, KEY_FIELDS); + + let metricset = metricsets.get(metricsetId); + + if (!metricset) { + metricset = { + ...key, + '@timestamp': Math.floor(event['@timestamp']! / (30 * 1000)) * 30 * 1000, + 'processor.event': 'metric', + 'processor.name': 'metric', + 'metricset.name': `span_breakdown`, + 'span.self_time.count': 0, + 'span.self_time.sum.us': 0, + // store the generated metricset id for performance reasons (used in the breakdown metrics aggregator) + meta: { + 'metricset.id': metricsetId, + }, + }; + + if (event['processor.event'] === 'transaction') { + metricset['span.type'] = 'app'; + } else { + metricset['span.type'] = event['span.type']; + metricset['span.subtype'] = event['span.subtype']; + } + + metricsets.set(metricsetId, metricset); + } + + metricset['span.self_time.count']!++; + metricset['span.self_time.sum.us']! += selfTime; + } + + return Array.from(metricsets.values()); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/rum_span.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/rum_span.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/rum_span.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/rum_span.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/rum_transaction.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/rum_transaction.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/rum_transaction.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/rum_transaction.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/serverless.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/serverless.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/serverless.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/serverless.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/serverless_function.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/serverless_function.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/serverless_function.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/serverless_function.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/serverless_instance.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/serverless_instance.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/serverless_instance.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/serverless_instance.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/service.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/service.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/apm/service.ts rename to packages/kbn-apm-synthtrace-client/src/lib/apm/service.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts new file mode 100644 index 0000000000000..058a09842bc9d --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/span.ts @@ -0,0 +1,147 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { BaseSpan } from './base_span'; +import { generateShortId } from '../utils/generate_id'; +import { ApmFields, SpanParams } from './apm_fields'; + +export class Span extends BaseSpan { + constructor(fields: ApmFields) { + super({ + ...fields, + 'processor.event': 'span', + 'span.id': generateShortId(), + }); + } + + duration(duration: number) { + this.fields['span.duration.us'] = duration * 1000; + return this; + } + + destination(resource: string) { + this.fields['span.destination.service.resource'] = resource; + + return this; + } +} + +export type HttpMethod = 'GET' | 'POST' | 'DELETE' | 'PUT'; + +export function httpExitSpan({ + spanName, + destinationUrl, + method = 'GET', + statusCode = 200, +}: { + spanName: string; + destinationUrl: string; + method?: HttpMethod; + statusCode?: number; +}): SpanParams { + // origin: 'http://opbeans-go:3000', + // host: 'opbeans-go:3000', + // hostname: 'opbeans-go', + // port: '3000', + const destination = new URL(destinationUrl); + + const spanType = 'external'; + const spanSubtype = 'http'; + + return { + spanName, + spanType, + spanSubtype, + + // http + 'span.action': method, + 'http.request.method': method, + 'http.response.status_code': statusCode, + + // destination + 'destination.address': destination.hostname, + 'destination.port': parseInt(destination.port, 10), + 'service.target.name': destination.host, + 'span.destination.service.resource': destination.host, + }; +} + +export function dbExitSpan({ spanName, spanSubtype }: { spanName: string; spanSubtype?: string }) { + const spanType = 'db'; + + return { + spanName, + spanType, + spanSubtype, + 'service.target.type': spanSubtype, + 'span.destination.service.resource': spanSubtype, + }; +} + +export function elasticsearchSpan(spanName: string, statement?: string): SpanParams { + const spanType = 'db'; + const spanSubtype = 'elasticsearch'; + + return { + spanName, + spanType, + spanSubtype, + + ...(statement + ? { + 'span.db.statement': statement, + 'span.db.type': 'elasticsearch', + } + : {}), + + 'service.target.type': spanSubtype, + 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', + 'destination.port': 443, + 'span.destination.service.resource': spanSubtype, + }; +} + +export function sqliteSpan(spanName: string, statement?: string): SpanParams { + const spanType = 'db'; + const spanSubtype = 'sqlite'; + + return { + spanName, + spanType, + spanSubtype, + + ...(statement + ? { + 'span.db.statement': statement, + 'span.db.type': 'sql', + } + : {}), + + // destination + 'service.target.type': spanSubtype, + 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', + 'destination.port': 443, + 'span.destination.service.resource': spanSubtype, + }; +} + +export function redisSpan(spanName: string): SpanParams { + const spanType = 'db'; + const spanSubtype = 'redis'; + + return { + spanName, + spanType, + spanSubtype, + + // destination + 'service.target.type': spanSubtype, + 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', + 'destination.port': 443, + 'span.destination.service.resource': spanSubtype, + }; +} diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts new file mode 100644 index 0000000000000..13b4cf44fb5b6 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts @@ -0,0 +1,80 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmError } from './apm_error'; +import { BaseSpan } from './base_span'; +import { generateShortId } from '../utils/generate_id'; +import { ApmFields } from './apm_fields'; +import { getBreakdownMetrics } from './processors/get_breakdown_metrics'; + +export class Transaction extends BaseSpan { + private _sampled: boolean = true; + private readonly _errors: ApmError[] = []; + + constructor(fields: ApmFields) { + super({ + ...fields, + 'processor.event': 'transaction', + 'transaction.id': generateShortId(), + 'transaction.sampled': true, + }); + } + + parent(span: BaseSpan) { + super.parent(span); + + this._errors.forEach((error) => { + error.fields['trace.id'] = this.fields['trace.id']; + error.fields['transaction.id'] = this.fields['transaction.id']; + error.fields['transaction.type'] = this.fields['transaction.type']; + }); + + return this; + } + + errors(...errors: ApmError[]) { + errors.forEach((error) => { + error.fields['trace.id'] = this.fields['trace.id']; + error.fields['transaction.id'] = this.fields['transaction.id']; + error.fields['transaction.name'] = this.fields['transaction.name']; + error.fields['transaction.type'] = this.fields['transaction.type']; + }); + + this._errors.push(...errors); + + return this; + } + + duration(duration: number) { + this.fields['transaction.duration.us'] = duration * 1000; + return this; + } + + sample(sampled: boolean = true) { + this._sampled = sampled; + return this; + } + + serialize() { + const [transaction, ...spans] = super.serialize(); + + const errors = this._errors.flatMap((error) => error.serialize()); + + const directChildren = this.getChildren().map((child) => child.fields); + + const events = [transaction]; + + const breakdownMetrics = getBreakdownMetrics(events.concat(directChildren)); + + if (this._sampled) { + events.push(...spans); + } + + return events.concat(errors).concat(breakdownMetrics); + } +} diff --git a/packages/kbn-apm-synthtrace/src/lib/dsl/distributed_trace_client.test.ts b/packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.test.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/dsl/distributed_trace_client.test.ts rename to packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.test.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/dsl/distributed_trace_client.ts b/packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/dsl/distributed_trace_client.ts rename to packages/kbn-apm-synthtrace-client/src/lib/dsl/distributed_trace_client.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/entity.ts b/packages/kbn-apm-synthtrace-client/src/lib/entity.ts similarity index 84% rename from packages/kbn-apm-synthtrace/src/lib/entity.ts rename to packages/kbn-apm-synthtrace-client/src/lib/entity.ts index f1b11a3905df7..9d872a6822462 100644 --- a/packages/kbn-apm-synthtrace/src/lib/entity.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/entity.ts @@ -6,9 +6,9 @@ * Side Public License, v 1. */ -export interface Fields { +export type Fields | undefined = undefined> = { '@timestamp'?: number; -} +} & (TMeta extends undefined ? {} : Partial<{ meta: TMeta }>); export class Entity { constructor(public readonly fields: TFields) { diff --git a/packages/kbn-apm-synthtrace-client/src/lib/interval.ts b/packages/kbn-apm-synthtrace-client/src/lib/interval.ts new file mode 100644 index 0000000000000..bf08344f4de9e --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/interval.ts @@ -0,0 +1,88 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { castArray } from 'lodash'; +import moment, { unitOfTime } from 'moment'; +import { SynthtraceGenerator } from '../types'; +import { Fields } from './entity'; +import { Serializable } from './serializable'; + +export function parseInterval(interval: string): { + intervalAmount: number; + intervalUnit: unitOfTime.DurationConstructor; +} { + const args = interval.match(/(\d+)(s|m|h|d)/); + if (!args || args.length < 3) { + throw new Error('Failed to parse interval'); + } + return { + intervalAmount: Number(args[1]), + intervalUnit: args[2] as unitOfTime.DurationConstructor, + }; +} + +interface IntervalOptions { + from: Date; + to: Date; + interval: string; + rate?: number; +} + +export class Interval { + private readonly intervalAmount: number; + private readonly intervalUnit: unitOfTime.DurationConstructor; + + private readonly _rate: number; + constructor(private readonly options: IntervalOptions) { + const { intervalAmount, intervalUnit } = parseInterval(options.interval); + this.intervalAmount = intervalAmount; + this.intervalUnit = intervalUnit; + this._rate = options.rate || 1; + } + + private getTimestamps() { + const from = this.options.from.getTime(); + const to = this.options.to.getTime(); + + let time: number = from; + const diff = moment.duration(this.intervalAmount, this.intervalUnit).asMilliseconds(); + + const timestamps: number[] = []; + + const rates = new Array(this._rate); + + while (time < to) { + timestamps.push(...rates.fill(time)); + time += diff; + } + + return timestamps; + } + + *generator( + map: ( + timestamp: number, + index: number + ) => Serializable | Array> + ): SynthtraceGenerator { + const timestamps = this.getTimestamps(); + + let index = 0; + + for (const timestamp of timestamps) { + const events = castArray(map(timestamp, index)); + index++; + for (const event of events) { + yield event; + } + } + } + + rate(rate: number): Interval { + return new Interval({ ...this.options, rate }); + } +} diff --git a/packages/kbn-apm-synthtrace/src/lib/serializable.ts b/packages/kbn-apm-synthtrace-client/src/lib/serializable.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/serializable.ts rename to packages/kbn-apm-synthtrace-client/src/lib/serializable.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/timerange.ts b/packages/kbn-apm-synthtrace-client/src/lib/timerange.ts new file mode 100644 index 0000000000000..18dd8178c32dc --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/timerange.ts @@ -0,0 +1,28 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Interval } from './interval'; + +export class Timerange { + constructor(private from: Date, private to: Date) {} + + interval(interval: string) { + return new Interval({ from: this.from, to: this.to, interval }); + } + + ratePerMinute(rate: number) { + return this.interval(`1m`).rate(rate); + } +} + +export function timerange(from: Date | number, to: Date | number) { + return new Timerange( + from instanceof Date ? from : new Date(from), + to instanceof Date ? to : new Date(to) + ); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/dedot.ts b/packages/kbn-apm-synthtrace-client/src/lib/utils/dedot.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/utils/dedot.ts rename to packages/kbn-apm-synthtrace-client/src/lib/utils/dedot.ts diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/generate_id.ts b/packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts similarity index 100% rename from packages/kbn-apm-synthtrace/src/lib/utils/generate_id.ts rename to packages/kbn-apm-synthtrace-client/src/lib/utils/generate_id.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts b/packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts new file mode 100644 index 0000000000000..ab0a29e804584 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/utils/hash.ts @@ -0,0 +1,22 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { fast1a32 } from 'fnv-plus'; +import { Fields } from '../entity'; + +export function hashKeysOf(source: T, keys: Array) { + let hashed: string = ''; + for (const key of keys) { + const value = String(source[key] || ''); + hashed = appendHash(hashed, value || ''); + } + return hashed; +} + +export function appendHash(hash: string, value: string) { + return fast1a32(hash + ',' + value).toString(); +} diff --git a/packages/kbn-apm-synthtrace-client/src/types/index.ts b/packages/kbn-apm-synthtrace-client/src/types/index.ts new file mode 100644 index 0000000000000..e174a3f8a6014 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/types/index.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { BulkCreateOperation, BulkIndexOperation } from '@elastic/elasticsearch/lib/api/types'; +import { Fields } from '../lib/entity'; +import { Serializable } from '../lib/serializable'; + +export type SynthtraceESAction = { create: BulkCreateOperation } | { index: BulkIndexOperation }; + +export type ESDocumentWithOperation = { + _index?: string; + _action?: SynthtraceESAction; +} & TFields; + +export type SynthtraceGenerator = Generator>; + +export type SynthtraceProcessor = ( + fields: ESDocumentWithOperation +) => ESDocumentWithOperation; diff --git a/packages/kbn-apm-synthtrace-client/tsconfig.json b/packages/kbn-apm-synthtrace-client/tsconfig.json new file mode 100644 index 0000000000000..8d1c9cae899a3 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": ["jest", "node"], + "lib": [ + "ES2019" + ], + "esModuleInterop": true + }, + "include": ["**/*.ts"], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-apm-synthtrace/BUILD.bazel b/packages/kbn-apm-synthtrace/BUILD.bazel deleted file mode 100644 index 2e7b4ac1f4562..0000000000000 --- a/packages/kbn-apm-synthtrace/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-apm-synthtrace" -PKG_REQUIRE_NAME = "@kbn/apm-synthtrace" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/.eslintrc.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-datemath", - "@npm//@elastic/elasticsearch", - "@npm//lodash", - "@npm//moment", - "@npm//object-hash", - "@npm//p-limit", - "@npm//yargs", - "@npm//node-fetch", - "@npm//semver", - "@npm//elastic-apm-http-client", -] - -TYPES_DEPS = [ - "//packages/kbn-datemath:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/object-hash", - "@npm//moment", - "@npm//p-limit", - "@npm//@types/node-fetch", - "@npm//@types/semver", - "@npm//@types/yargs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", - validate = False, -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-apm-synthtrace/README.md b/packages/kbn-apm-synthtrace/README.md index 4aaaeee5b672c..27ace45288298 100644 --- a/packages/kbn-apm-synthtrace/README.md +++ b/packages/kbn-apm-synthtrace/README.md @@ -27,7 +27,9 @@ This library can currently be used in two ways: ```ts import { service, timerange, toElasticsearchOutput } from '@kbn/apm-synthtrace'; -const instance = service({name: 'synth-go', environment: 'production', agentName: 'go'}).instance('instance-a'); +const instance = service({ name: 'synth-go', environment: 'production', agentName: 'go' }).instance( + 'instance-a' +); const from = new Date('2021-01-01T12:00:00.000Z').getTime(); const to = new Date('2021-01-01T12:00:00.000Z').getTime(); @@ -37,7 +39,7 @@ const traceEvents = timerange(from, to) .rate(10) .flatMap((timestamp) => instance - .transaction({transactionName: 'GET /api/product/list'}) + .transaction({ transactionName: 'GET /api/product/list' }) .timestamp(timestamp) .duration(1000) .success() @@ -111,50 +113,40 @@ The following options are supported: ### Connection options -| Option | Type | Default | Description | -| ------------ | --------- | :--------- | ------------------------------------------------------------------------------------------------------- | -| `--target` | [string] | | Elasticsearch target | -| `--kibana` | [string] | | Kibana target, used to bootstrap datastreams/mappings/templates/settings | -| `--cloudId` | [string] | | Provide connection information and will force APM on the cloud to migrate to run as a Fleet integration | -| `--local` | [boolean] | | Shortcut during development, assumes `yarn es snapshot` and `yarn start` are running | -| `--username` | [string] | `elastic` | Basic authentication username | -| `--password` | [string] | `changeme` | Basic authentication password | +| Option | Type | Default | Description | +| ------------------- | -------- | :------ | ------------------------------------------------------------------------------------------ | +| `--target` | [string] | | Elasticsearch target | +| `--kibana` | [string] | | Kibana target, used to bootstrap datastreams/mappings/templates/settings | +| `--versionOverride` | [string] | | String to be used for `observer.version`. Defauls to the version of the installed package. | Note: -- If you only specify `--target` Synthtrace can not automatically setup APM. -- If you specify both `--target` and `--kibana` the tool will automatically attempt to install the appropriate APM package -- For Cloud its easiest to specify `--cloudId` as it will unpack the ES/Kibana targets and migrate cloud over to managed APM automatically. -- If you only specify `--kibana` and it's using a cloud hostname a very naive `--target` to Elasticsearch will be inferred. +- If `--target` is not set, Synthtrace will try to detect a locally running Elasticsearch and Kibana. +- For Elastic Cloud urls, `--target` will be used to infer the location of the Cloud instance of Kibana. +- The latest version of the APM integration will automatically be installed and used for `observer.version` when ingesting APM data. In some cases, + you'll want to use `--versionOverride` to set `observer.version` explicitly. ### Scenario options -| Option | Type | Default | Description | -| ---------------------- | --------- | :------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `--from` | [date] | `now()` | The start of the time window | -| `--to` | [date] | | The end of the time window | -| `--maxDocs` | [number] | | The maximum number of documents we are allowed to generate | -| `--maxDocsConfidence` | [number] | `1` | Expert setting: --maxDocs relies on accurate tpm reporting of generators setting this to >1 will widen the estimated data generation range | -| `--live` | [boolean] | | Generate and index data continuously | -| `--dryRun` | [boolean] | | Enumerates the stream without sending events to Elasticsearch | -| `--scenarioOpts` | | | Raw options specific to the scenario | -| `--forceLegacyIndices` | [boolean] | `false` | Force writing to legacy indices | +| Option | Type | Default | Description | +| ---------------- | --------- | :------ | ------------------------------------ | +| `--from` | [date] | `now()` | The start of the time window | +| `--to` | [date] | | The end of the time window | +| `--live` | [boolean] | | Generate and index data continuously | +| `--scenarioOpts` | | | Raw options specific to the scenario | Note: -- The default `--to` is `15m` unless `--maxDocs` is specified in which case `--to` is calculated based on the scenario's TPM. -- You can combine `--from` `--maxDocs` and `--to` with `--live` to back-fill some data. +- The default `--to` is `15m`. +- You can combine `--from` and `--to` with `--live` to back-fill some data. ### Setup options -| Option | Type | Default | Description | -| ----------------- | --------- | :------ | ------------------------------------------------------------------------------------------------------- | -| `--numShards` | [number] | | Updates the component templates to update the number of primary shards, requires cloudId to be provided | -| `--clean` | [boolean] | `false` | Clean APM data before indexing new data | -| `--workers` | [number] | | Amount of Node.js worker threads | -| `--logLevel` | [enum] | `info` | Log level | -| `--gcpRepository` | [string] | | Allows you to register a GCP repository in :[:base_path] format | -| `-p` | [string] | | Specify multiple sets of streamaggregators to be included in the StreamProcessor | +| Option | Type | Default | Description | +| ------------ | --------- | :------ | --------------------------------------- | +| `--clean` | [boolean] | `false` | Clean APM data before indexing new data | +| `--workers` | [number] | | Amount of Node.js worker threads | +| `--logLevel` | [enum] | `info` | Log level | ## Testing diff --git a/packages/kbn-apm-synthtrace/index.ts b/packages/kbn-apm-synthtrace/index.ts index 1ff59bdd7d16a..e5cc06872c3a8 100644 --- a/packages/kbn-apm-synthtrace/index.ts +++ b/packages/kbn-apm-synthtrace/index.ts @@ -6,16 +6,7 @@ * Side Public License, v 1. */ -export { timerange } from './src/lib/timerange'; -export { apm } from './src/lib/apm'; -export { dedot } from './src/lib/utils/dedot'; -export { stackMonitoring } from './src/lib/stack_monitoring'; -export { observer } from './src/lib/agent_config'; -export { cleanWriteTargets } from './src/lib/utils/clean_write_targets'; export { createLogger, LogLevel } from './src/lib/utils/create_logger'; -export type { Fields } from './src/lib/entity'; -export type { ApmFields } from './src/lib/apm/apm_fields'; -export type { ApmException, ApmSynthtraceEsClient } from './src/lib/apm'; -export type { EntityIterable } from './src/lib/entity_iterable'; -export { EntityArrayIterable } from './src/lib/entity_iterable'; +export { ApmSynthtraceEsClient } from './src/lib/apm/client/apm_synthtrace_es_client'; +export { ApmSynthtraceKibanaClient } from './src/lib/apm/client/apm_synthtrace_kibana_client'; diff --git a/packages/kbn-apm-synthtrace/kibana.jsonc b/packages/kbn-apm-synthtrace/kibana.jsonc index 0bde4f9d7715a..c1efc5fd09c00 100644 --- a/packages/kbn-apm-synthtrace/kibana.jsonc +++ b/packages/kbn-apm-synthtrace/kibana.jsonc @@ -1,8 +1,6 @@ { - "type": "shared-common", + "type": "shared-server", "id": "@kbn/apm-synthtrace", "devOnly": true, - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-apm-synthtrace/package.json b/packages/kbn-apm-synthtrace/package.json index 935eb518639db..827e251d8a137 100644 --- a/packages/kbn-apm-synthtrace/package.json +++ b/packages/kbn-apm-synthtrace/package.json @@ -6,7 +6,5 @@ "bin": { "synthtrace": "./bin/synthtrace" }, - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-apm-synthtrace/src/cli/run_synthtrace.ts b/packages/kbn-apm-synthtrace/src/cli/run_synthtrace.ts index 517d2d61d799f..d792dc35f037b 100644 --- a/packages/kbn-apm-synthtrace/src/cli/run_synthtrace.ts +++ b/packages/kbn-apm-synthtrace/src/cli/run_synthtrace.ts @@ -6,16 +6,12 @@ * Side Public License, v 1. */ import datemath from '@kbn/datemath'; -import yargs from 'yargs/yargs'; import { Argv } from 'yargs'; +import yargs from 'yargs/yargs'; import { intervalToMs } from './utils/interval_to_ms'; +import { parseRunCliFlags } from './utils/parse_run_cli_flags'; import { startHistoricalDataUpload } from './utils/start_historical_data_upload'; import { startLiveDataUpload } from './utils/start_live_data_upload'; -import { parseRunCliFlags } from './utils/parse_run_cli_flags'; -import { getCommonServices } from './utils/get_common_services'; -import { ApmSynthtraceKibanaClient } from '../lib/apm/client/apm_synthtrace_kibana_client'; -import { StreamAggregator } from '../lib/stream_aggregator'; -import { ServicMetricsAggregator } from '../lib/apm/aggregators/service_metrics_aggregator'; function options(y: Argv) { return y @@ -32,31 +28,6 @@ function options(y: Argv) { describe: 'Kibana target, used to bootstrap datastreams/mappings/templates/settings', string: true, }) - .option('apm', { - describe: - 'APM Server target. Send data to APM over the intake API instead of generating ES documents', - string: true, - }) - .option('cloudId', { - describe: - 'Provide connection information and will force APM on the cloud to migrate to run as a Fleet integration', - string: true, - }) - .option('local', { - describe: - 'Shortcut during development, assumes `yarn es snapshot` and `yarn start` are running', - boolean: true, - }) - .option('username', { - describe: 'Basic authentication username', - string: true, - default: 'elastic', - }) - .option('password', { - describe: 'Basic authentication password', - string: true, - default: 'changeme', - }) .option('from', { description: 'The start of the time window', }) @@ -67,25 +38,6 @@ function options(y: Argv) { description: 'Generate and index data continuously', boolean: true, }) - .option('dryRun', { - description: 'Enumerates the stream without sending events to Elasticsearch ', - boolean: true, - }) - .option('maxDocs', { - description: 'The maximum number of documents we are allowed to generate', - number: true, - }) - .option('maxDocsConfidence', { - description: - 'Expert setting: --maxDocs relies on accurate tpm reporting of generators setting this to >1 will widen the estimated data generation range', - number: true, - default: 1, - }) - .option('numShards', { - description: - 'Updates the component templates to update the number of primary shards, requires cloudId to be provided', - number: true, - }) .option('clean', { describe: 'Clean APM indices before indexing new data', default: false, @@ -95,164 +47,60 @@ function options(y: Argv) { describe: 'Amount of Node.js worker threads', number: true, }) + .option('concurrency', { + describe: 'Concurrency of Elasticsearch client bulk indexing', + number: true, + default: 1, + }) + .option('versionOverride', { + describe: 'Package/observer version override', + string: true, + }) .option('logLevel', { describe: 'Log level', default: 'info', }) - .option('forceLegacyIndices', { - describe: 'Force writing to legacy indices', - boolean: true, - }) - .option('skipPackageInstall', { - describe: 'Skip automatically installing the package', - boolean: true, - default: false, - }) .option('scenarioOpts', { describe: 'Options specific to the scenario', coerce: (arg) => { return arg as Record | undefined; }, }) - .option('gcpRepository', { - describe: - 'Allows you to register a GCP repository in :[:base_path] format', - string: true, - }) - .option('streamProcessors', { - describe: 'Specify multiple sets of stream aggregators to be included in the StreamProcessor', - string: true, - array: true, - alias: 'p', - }) - .conflicts('target', 'cloudId') - .conflicts('kibana', 'cloudId') - .conflicts('local', 'target') - .conflicts('local', 'kibana') - .conflicts('local', 'cloudId'); + .showHelpOnFail(false); } -export type RunCliFlags = ReturnType['argv']; +async function run(argv: RunCliFlags) { + const runOptions = parseRunCliFlags(argv); -export function runSynthtrace() { - yargs(process.argv.slice(2)) - .command( - '*', - 'Generate data and index into Elasticsearch', - options, - async (argv: RunCliFlags) => { - if (argv.local) { - argv.target = 'http://localhost:9200'; - } - if (argv.kibana && !argv.target) { - const url = new URL(argv.kibana); - // super naive inference of ES target based on public kibana Cloud endpoint - if (url.hostname.match(/\.kb\./)) { - argv.target = argv.kibana.replace(/\.kb\./, '.es.'); - } - } - - const runOptions = parseRunCliFlags(argv); - - const { logger, apmEsClient, apmIntakeClient } = getCommonServices(runOptions); - - const toMs = datemath.parse(String(argv.to ?? 'now'))!.valueOf(); - const to = new Date(toMs); - const defaultTimeRange = !runOptions.maxDocs ? '15m' : '520w'; - const fromMs = argv.from - ? datemath.parse(String(argv.from))!.valueOf() - : toMs - intervalToMs(defaultTimeRange); - const from = new Date(fromMs); - - const live = argv.live; - - if (runOptions.dryRun) { - await startHistoricalDataUpload(apmEsClient, logger, runOptions, from, to, '8.0.0'); - return; - } + const toMs = datemath.parse(String(argv.to ?? 'now'))!.valueOf(); + const to = new Date(toMs); - // we need to know the running version to generate events that satisfy the min version requirements - let version = await apmEsClient.runningVersion(); - logger.info(`Discovered Elasticsearch running version: ${version}`); - version = version.replace('-SNAPSHOT', ''); + const defaultTimeRange = '1m'; - // We automatically set up managed APM either by migrating on cloud or installing the package locally - if (runOptions.cloudId || argv.local || argv.kibana) { - const kibanaClient = new ApmSynthtraceKibanaClient(logger); - if (runOptions.cloudId) { - await kibanaClient.migrateCloudToManagedApm( - runOptions.cloudId, - runOptions.username, - runOptions.password - ); - } else { - let kibanaUrl: string | null = argv.kibana ?? null; - if (argv.local) { - kibanaUrl = await kibanaClient.discoverLocalKibana(); - } - if (!kibanaUrl) throw Error('kibanaUrl could not be determined'); - if (!argv.skipPackageInstall) { - await kibanaClient.installApmPackage( - kibanaUrl, - version, - runOptions.username, - runOptions.password - ); - } - } - } + const fromMs = argv.from + ? datemath.parse(String(argv.from))!.valueOf() + : toMs - intervalToMs(defaultTimeRange); + const from = new Date(fromMs); - if (runOptions.cloudId && runOptions.numShards && runOptions.numShards > 0) { - await apmEsClient.updateComponentTemplates(runOptions.numShards); - } - const aggregators: StreamAggregator[] = []; - const registry = new Map StreamAggregator[]>([ - ['service', () => [new ServicMetricsAggregator()]], - ]); - if (runOptions.streamProcessors && runOptions.streamProcessors.length > 0) { - for (const processorName of runOptions.streamProcessors) { - const factory = registry.get(processorName); - if (factory) { - aggregators.push(...factory()); - } else { - throw new Error( - `No processor named ${processorName} configured on known processor registry` - ); - } - } - } - if (argv.clean) { - if (argv.apm) { - await apmEsClient.clean(['metrics-apm.service-*']); - } else { - await apmEsClient.clean(aggregators.map((a) => a.getDataStreamName() + '-*')); - } - } - if (runOptions.gcpRepository) { - await apmEsClient.registerGcpRepository(runOptions.gcpRepository); - } + const live = argv.live; - logger.info( - `Starting data generation\n: ${JSON.stringify( - { - ...runOptions, - from: from.toISOString(), - to: to.toISOString(), - }, - null, - 2 - )}` - ); - - for (const aggregator of aggregators) await apmEsClient.createDataStream(aggregator); + if (live) { + await startLiveDataUpload({ runOptions, start: from }); + } else { + await startHistoricalDataUpload({ runOptions, from, to }); + } +} - if (runOptions.maxDocs !== 0) - await startHistoricalDataUpload(apmEsClient, logger, runOptions, from, to, version); +export type RunCliFlags = ReturnType['argv']; - if (live) { - await startLiveDataUpload(apmEsClient, apmIntakeClient, logger, runOptions, to, version); - } - } - ) +export function runSynthtrace() { + yargs(process.argv.slice(2)) + .command('*', 'Generate data and index into Elasticsearch', options, (argv: RunCliFlags) => { + run(argv).catch((err) => { + // eslint-disable-next-line no-console + console.error(err); + process.exit(1); + }); + }) .parse(); } diff --git a/packages/kbn-apm-synthtrace/src/cli/scenario.ts b/packages/kbn-apm-synthtrace/src/cli/scenario.ts index 10201a02dd601..f89d335749326 100644 --- a/packages/kbn-apm-synthtrace/src/cli/scenario.ts +++ b/packages/kbn-apm-synthtrace/src/cli/scenario.ts @@ -6,11 +6,17 @@ * Side Public License, v 1. */ +import { SynthtraceGenerator, Timerange } from '@kbn/apm-synthtrace-client'; +import { Readable } from 'stream'; +import { ApmSynthtraceEsClient } from '../lib/apm/client/apm_synthtrace_es_client'; +import { Logger } from '../lib/utils/create_logger'; import { RunOptions } from './utils/parse_run_cli_flags'; -import { EntityIterable } from '../lib/entity_iterable'; -type Generate = (range: { from: Date; to: Date }) => EntityIterable; -export type Scenario = (options: RunOptions) => Promise<{ +type Generate = (options: { + range: Timerange; +}) => SynthtraceGenerator | Array> | Readable; + +export type Scenario = (options: RunOptions & { logger: Logger }) => Promise<{ + bootstrap?: (options: { apmEsClient: ApmSynthtraceEsClient }) => Promise; generate: Generate; - mapToIndex?: (data: Record) => string; }>; diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/bootstrap.ts b/packages/kbn-apm-synthtrace/src/cli/utils/bootstrap.ts new file mode 100644 index 0000000000000..c12f6fc6beb51 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/cli/utils/bootstrap.ts @@ -0,0 +1,49 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createLogger } from '../../lib/utils/create_logger'; +import { getEsClient } from './get_es_client'; +import { getKibanaClient } from './get_kibana_client'; +import { getServiceUrls } from './get_service_urls'; +import { RunOptions } from './parse_run_cli_flags'; + +export async function bootstrap(runOptions: RunOptions) { + const logger = createLogger(runOptions.logLevel); + + const { kibanaUrl, esUrl } = await getServiceUrls({ ...runOptions, logger }); + + const kibanaClient = getKibanaClient({ + target: kibanaUrl, + logger, + }); + + const latestPackageVersion = await kibanaClient.fetchLatestApmPackageVersion(); + + const version = runOptions.versionOverride || latestPackageVersion; + + const apmEsClient = getEsClient({ + target: esUrl, + logger, + concurrency: runOptions.concurrency, + version, + }); + + await kibanaClient.installApmPackage(latestPackageVersion); + + if (runOptions.clean) { + await apmEsClient.clean(); + } + + return { + logger, + apmEsClient, + version, + kibanaUrl, + esUrl, + }; +} diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/get_common_services.ts b/packages/kbn-apm-synthtrace/src/cli/utils/get_common_services.ts deleted file mode 100644 index c51b435c15c32..0000000000000 --- a/packages/kbn-apm-synthtrace/src/cli/utils/get_common_services.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Client, ClientOptions } from '@elastic/elasticsearch'; -import { ApmSynthtraceApmClient } from '../../lib/apm/client/apm_synthtrace_apm_client'; -import { ApmSynthtraceEsClient } from '../../lib/apm/client/apm_synthtrace_es_client'; -import { createLogger, Logger } from '../../lib/utils/create_logger'; -import { RunOptions } from './parse_run_cli_flags'; - -export function getLogger({ logLevel }: RunOptions) { - return createLogger(logLevel); -} - -export function getCommonServices( - { target, cloudId, apm, username, password, logLevel, forceLegacyIndices }: RunOptions, - logger?: Logger -) { - if (!target && !cloudId) { - throw Error('target or cloudId needs to be specified'); - } - const options: ClientOptions = !!target ? { node: target } : { cloud: { id: cloudId! } }; - options.auth = { - username, - password, - }; - // Useful when debugging trough mitmproxy - /* - options.Connection = HttpConnection; - options.proxy = 'http://localhost:8080'; - options.tls = { - rejectUnauthorized: false, - }; - - */ - const client = new Client(options); - - logger = logger ?? createLogger(logLevel); - - const apmEsClient = new ApmSynthtraceEsClient(client, logger, { - forceLegacyIndices, - refreshAfterIndex: false, - }); - const apmIntakeClient = apm ? new ApmSynthtraceApmClient(apm, logger) : null; - - return { - logger, - apmEsClient, - apmIntakeClient, - }; -} - -export type RunServices = ReturnType; diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/get_es_client.ts b/packages/kbn-apm-synthtrace/src/cli/utils/get_es_client.ts new file mode 100644 index 0000000000000..e5caf0dcc22bd --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/cli/utils/get_es_client.ts @@ -0,0 +1,36 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Client } from '@elastic/elasticsearch'; +import { ApmSynthtraceEsClient } from '../../lib/apm/client/apm_synthtrace_es_client'; +import { Logger } from '../../lib/utils/create_logger'; +import { RunOptions } from './parse_run_cli_flags'; + +export function getEsClient({ + target, + logger, + version, + concurrency, +}: Pick & { + version: string; + target: string; + logger: Logger; +}) { + const client = new Client({ + node: target, + }); + + const apmEsClient = new ApmSynthtraceEsClient({ + client, + logger, + version, + concurrency, + }); + + return apmEsClient; +} diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/get_kibana_client.ts b/packages/kbn-apm-synthtrace/src/cli/utils/get_kibana_client.ts new file mode 100644 index 0000000000000..7396164b058e8 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/cli/utils/get_kibana_client.ts @@ -0,0 +1,19 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmSynthtraceKibanaClient } from '../../lib/apm/client/apm_synthtrace_kibana_client'; +import { Logger } from '../../lib/utils/create_logger'; + +export function getKibanaClient({ target, logger }: { target: string; logger: Logger }) { + const kibanaClient = new ApmSynthtraceKibanaClient({ + logger, + target, + }); + + return kibanaClient; +} diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/get_scenario.ts b/packages/kbn-apm-synthtrace/src/cli/utils/get_scenario.ts index 8dd5eecf78dee..8b4f66d011f4d 100644 --- a/packages/kbn-apm-synthtrace/src/cli/utils/get_scenario.ts +++ b/packages/kbn-apm-synthtrace/src/cli/utils/get_scenario.ts @@ -6,9 +6,9 @@ * Side Public License, v 1. */ +import { Fields } from '@kbn/apm-synthtrace-client'; import { Logger } from '../../lib/utils/create_logger'; import { Scenario } from '../scenario'; -import { Fields } from '../../lib/entity'; export function getScenario({ file, logger }: { file: string; logger: Logger }) { logger.debug(`Loading scenario from ${file}`); diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/get_service_urls.ts b/packages/kbn-apm-synthtrace/src/cli/utils/get_service_urls.ts new file mode 100644 index 0000000000000..30ce91f67b6c6 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/cli/utils/get_service_urls.ts @@ -0,0 +1,116 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fetch from 'node-fetch'; +import { format, parse, Url } from 'url'; +import { Logger } from '../../lib/utils/create_logger'; +import { RunOptions } from './parse_run_cli_flags'; + +async function discoverAuth(parsedTarget: Url) { + const possibleCredentials = [`admin:changeme`, `elastic:changeme`]; + for (const auth of possibleCredentials) { + const url = format({ + ...parsedTarget, + auth, + }); + let status: number; + try { + const response = await fetch(url); + status = response.status; + } catch (err) { + status = 0; + } + + if (status === 200) { + return auth; + } + } + + throw new Error(`Failed to authenticate user for ${format(parsedTarget)}`); +} + +async function getKibanaUrl({ target, logger }: { target: string; logger: Logger }) { + try { + logger.debug(`Checking Kibana URL ${target} for a redirect`); + + const unredirectedResponse = await fetch(target, { + method: 'HEAD', + follow: 1, + redirect: 'manual', + }); + + const discoveredKibanaUrl = + unredirectedResponse.headers.get('location')?.replace('/spaces/enter', '') || target; + + const parsedTarget = parse(target); + + const parsedDiscoveredUrl = parse(discoveredKibanaUrl); + + const discoveredKibanaUrlWithAuth = format({ + ...parsedDiscoveredUrl, + auth: parsedTarget.auth, + }); + + const redirectedResponse = await fetch(discoveredKibanaUrlWithAuth, { + method: 'HEAD', + }); + + if (redirectedResponse.status !== 200) { + throw new Error( + `Expected HTTP 200 from ${discoveredKibanaUrlWithAuth}, got ${redirectedResponse.status}` + ); + } + + logger.info(`Discovered kibana running at: ${discoveredKibanaUrlWithAuth}`); + + return discoveredKibanaUrlWithAuth.replace(/\/$/, ''); + } catch (error) { + throw new Error(`Could not connect to Kibana: ` + error.message); + } +} + +export async function getServiceUrls({ logger, target, kibana }: RunOptions & { logger: Logger }) { + if (!target) { + // assume things are running locally + kibana = kibana || 'http://localhost:5601'; + target = 'http://localhost:9200'; + } + + if (!target) { + throw new Error('Could not determine an Elasticsearch target'); + } + + const parsedTarget = parse(target); + + let auth = parsedTarget.auth; + + if (!parsedTarget.auth) { + auth = await discoverAuth(parsedTarget); + } + + const formattedEsUrl = format({ + ...parsedTarget, + auth, + }); + + const suspectedKibanaUrl = kibana || target.replace('.es', '.kb'); + + const parsedKibanaUrl = parse(suspectedKibanaUrl); + + const kibanaUrlWithAuth = format({ + ...parsedKibanaUrl, + auth, + }); + + const validatedKibanaUrl = await getKibanaUrl({ target: kibanaUrlWithAuth, logger }); + + return { + kibanaUrl: validatedKibanaUrl, + esUrl: formattedEsUrl, + }; +} diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/logger_proxy.ts b/packages/kbn-apm-synthtrace/src/cli/utils/logger_proxy.ts new file mode 100644 index 0000000000000..1c41e667f7eff --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/cli/utils/logger_proxy.ts @@ -0,0 +1,41 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import util from 'util'; +import { parentPort, isMainThread, workerData } from 'worker_threads'; +import { createLogger, Logger, LogLevel } from '../../lib/utils/create_logger'; +import { logPerf } from '../../lib/utils/log_perf'; +import { WorkerData } from './synthtrace_worker'; + +const { workerId } = isMainThread ? { workerId: -1 } : (workerData as WorkerData); + +function getLogMethod(log: LogLevel) { + return (...args: any) => { + parentPort?.postMessage({ + log, + args: [`[${workerId}]`].concat( + args.map((arg: any) => + typeof arg === 'string' || typeof arg === 'number' + ? arg + : util.inspect(arg, { depth: 10 }) + ) + ), + }); + }; +} + +// logging proxy to main thread, ensures we see real time logging +export const loggerProxy: Logger = isMainThread + ? createLogger(LogLevel.trace) + : { + perf: (name: string, cb: () => T): T => { + return logPerf(loggerProxy, LogLevel.trace, name, cb); + }, + debug: getLogMethod(LogLevel.debug), + info: getLogMethod(LogLevel.info), + error: getLogMethod(LogLevel.error), + }; diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/parse_run_cli_flags.ts b/packages/kbn-apm-synthtrace/src/cli/utils/parse_run_cli_flags.ts index ce4c10931278a..57426902d7b64 100644 --- a/packages/kbn-apm-synthtrace/src/cli/utils/parse_run_cli_flags.ts +++ b/packages/kbn-apm-synthtrace/src/cli/utils/parse_run_cli_flags.ts @@ -63,22 +63,13 @@ export function parseRunCliFlags(flags: RunCliFlags) { return { ...pick( flags, - 'maxDocs', - 'maxDocsConfidence', 'target', - 'apm', - 'cloudId', - 'username', - 'password', 'workers', - 'flushSizeBulk', - 'flushSize', - 'numShards', 'scenarioOpts', - 'forceLegacyIndices', - 'dryRun', - 'gcpRepository', - 'streamProcessors' + 'kibana', + 'concurrency', + 'versionOverride', + 'clean' ), logLevel: parsedLogLevel, file: parsedFile, diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/start_historical_data_upload.ts b/packages/kbn-apm-synthtrace/src/cli/utils/start_historical_data_upload.ts index 99396c28dfdd7..3b21a07bf965d 100644 --- a/packages/kbn-apm-synthtrace/src/cli/utils/start_historical_data_upload.ts +++ b/packages/kbn-apm-synthtrace/src/cli/utils/start_historical_data_upload.ts @@ -5,104 +5,56 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import moment from 'moment'; -import { Worker } from 'worker_threads'; -import Path from 'path'; import { range } from 'lodash'; -import pLimit from 'p-limit'; +import moment from 'moment'; import { cpus } from 'os'; +import Path from 'path'; +import { Worker } from 'worker_threads'; +import { LogLevel } from '../../..'; +import { bootstrap } from './bootstrap'; import { RunOptions } from './parse_run_cli_flags'; -import { getScenario } from './get_scenario'; -import { ApmSynthtraceEsClient, LogLevel } from '../../..'; -import { Logger } from '../../lib/utils/create_logger'; - -export async function startHistoricalDataUpload( - esClient: ApmSynthtraceEsClient, - logger: Logger, - runOptions: RunOptions, - from: Date, - to: Date, - version: string -) { - // if we want to generate a maximum number of documents reverse generation to descend. - [from, to] = runOptions.maxDocs ? [to, from] : [from, to]; +import { WorkerData } from './synthtrace_worker'; - const file = runOptions.file; - const scenario = await logger.perf('get_scenario', () => getScenario({ file, logger })); - const { generate } = await scenario(runOptions); +export async function startHistoricalDataUpload({ + runOptions, + from, + to, +}: { + runOptions: RunOptions; + from: Date; + to: Date; +}) { + const { logger, esUrl, version } = await bootstrap(runOptions); const cores = cpus().length; - // settle on a reasonable max concurrency arbitrarily capping at 10. - let maxConcurrency = Math.min(10, cores - 1); - // maxWorkers to be spawned is double that of maxConcurrency. We estimate the number of ranges over - // maxConcurrency, if that is too conservative this provides more available workers to complete the job. - // If any worker finds that work is already completed they will spin down immediately. - let maxWorkers = maxConcurrency * 2; - logger.info( - `Discovered ${cores} cores, splitting work over ${maxWorkers} workers with limited concurrency: ${maxConcurrency}` - ); - // if --workers N is specified it should take precedence over inferred maximum workers - if (runOptions.workers) { - // ensure maxWorkers is at least 1 - maxWorkers = Math.max(1, runOptions.workers); - // ensure max concurrency is at least 1 or the ceil of --workers N / 2 - maxConcurrency = Math.ceil(Math.max(1, maxWorkers / 2)); - logger.info( - `updating maxWorkers to ${maxWorkers} and maxConcurrency to ${maxConcurrency} because it was explicitly set through --workers` - ); - } + let workers = Math.min(runOptions.workers ?? 10, cores - 1); + + const rangeEnd = to; - const events = logger.perf('generate_scenario', () => generate({ from, to })); - const ratePerMinute = events.estimatedRatePerMinute(); - logger.info( - `Scenario is generating ${ratePerMinute.toLocaleString()} events per minute interval` - ); - let rangeEnd = to; - if (runOptions.maxDocs) { - // estimate a more accurate range end for when --maxDocs is specified - rangeEnd = moment(from) - // estimatedRatePerMinute() is not exact if the generator is yielding variable documents - // the rate is calculated by peeking the first yielded event and its children. - // for real complex cases manually specifying --to is encouraged. - .subtract((runOptions.maxDocs / ratePerMinute) * runOptions.maxDocsConfidence, 'm') - .toDate(); - } const diff = moment(from).diff(rangeEnd); + const d = moment.duration(Math.abs(diff), 'ms'); - logger.info( - `Range: ${d.years()} days ${d.days()} days, ${d.hours()} hours ${d.minutes()} minutes ${d.seconds()} seconds` - ); + // make sure ranges cover at least 100k documents - const minIntervalSpan = moment.duration(100000 / ratePerMinute, 'm'); + const minIntervalSpan = moment.duration(60, 'm'); + const minNumberOfRanges = d.asMilliseconds() / minIntervalSpan.asMilliseconds(); - if (minNumberOfRanges < maxWorkers) { - maxWorkers = Math.max(1, Math.floor(minNumberOfRanges)); - maxConcurrency = Math.max(1, maxWorkers / 2); + if (minNumberOfRanges < workers) { + workers = Math.max(1, Math.floor(minNumberOfRanges)); if (runOptions.workers) { logger.info( `Ignoring --workers ${runOptions.workers} since each worker would not see enough data` ); } - logger.info( - `updating maxWorkers to ${maxWorkers} and maxConcurrency to ${maxConcurrency} to ensure each worker does enough work` - ); + logger.info(`updating maxWorkers to ${workers} to ensure each worker does enough work`); } logger.info(`Generating data from ${from.toISOString()} to ${rangeEnd.toISOString()}`); - type WorkerMessages = - | { log: LogLevel; args: any[] } - | { workerIndex: number; processedDocuments: number } - | { workerIndex: number; firstTimestamp: Date } - | { workerIndex: number; lastTimestamp: Date }; - - interface WorkerTotals { - total: number; - bucketFrom: Date; - bucketTo: Date; - firstTimestamp?: Date; - lastTimestamp?: Date; + interface WorkerMessages { + log: LogLevel; + args: any[]; } function rangeStep(interval: number) { @@ -112,8 +64,8 @@ export async function startHistoricalDataUpload( // precalculate intervals to spawn workers over. // abs() the difference to make add/subtract explicit in rangeStep() in favor of subtracting a negative number - const intervalSpan = Math.abs(diff / maxWorkers); - const intervals = range(0, maxWorkers) + const intervalSpan = Math.abs(diff / workers); + const intervals = range(0, workers) .map((i) => intervalSpan * i) .map((interval, index) => ({ workerIndex: index, @@ -121,13 +73,6 @@ export async function startHistoricalDataUpload( bucketTo: rangeStep(interval + intervalSpan), })); - // precalculate interval state for each worker to report on. - let totalProcessed = 0; - const workerProcessed = range(0, maxWorkers).reduce>((p, c, i) => { - p[i] = { total: 0, bucketFrom: intervals[i].bucketFrom, bucketTo: intervals[i].bucketTo }; - return p; - }, {}); - function runService({ bucketFrom, bucketTo, @@ -138,56 +83,34 @@ export async function startHistoricalDataUpload( workerIndex: number; }) { return new Promise((resolve, reject) => { - logger.info(`Setting up Worker: ${workerIndex}`); - if (runOptions.maxDocs && totalProcessed >= runOptions.maxDocs + 10000) { - logger.info( - `Worker ${workerIndex} has no need to run since ${totalProcessed} documents were already processed ` - ); - return resolve(null); - } - const progressToConsole = runOptions?.maxDocs - ? Math.min(2000000, runOptions.maxDocs / 20) - : 2000000; + logger.debug(`Setting up Worker: ${workerIndex}`); + const workerData: WorkerData = { + runOptions, + bucketFrom, + bucketTo, + workerId: workerIndex.toString(), + esUrl, + version, + }; const worker = new Worker(Path.join(__dirname, './worker.js'), { - workerData: { - runOptions, - bucketFrom, - bucketTo, - workerIndex, - version, - }, + workerData, }); worker.on('message', (message: WorkerMessages) => { - if ('workerIndex' in message) { - if ('processedDocuments' in message) { - totalProcessed += message.processedDocuments; - workerProcessed[workerIndex].total += message.processedDocuments; - const check = Math.round(totalProcessed / 10000) * 10000; - if (check % progressToConsole === 0) { - logger.info(`processed: ${totalProcessed} documents`); - } - } - if ('firstTimestamp' in message) - workerProcessed[message.workerIndex].firstTimestamp = message.firstTimestamp; - if ('lastTimestamp' in message) - workerProcessed[message.workerIndex].lastTimestamp = message.lastTimestamp; - } else { - switch (message.log) { - case LogLevel.debug: - logger.debug.apply({}, message.args); - return; - case LogLevel.info: - logger.info.apply({}, message.args); - return; - case LogLevel.trace: - logger.debug.apply({}, message.args); - return; - case LogLevel.error: - logger.error.apply({}, message.args); - return; - default: - logger.info(message); - } + switch (message.log) { + case LogLevel.debug: + logger.debug.apply({}, message.args); + return; + case LogLevel.info: + logger.info.apply({}, message.args); + return; + case LogLevel.trace: + logger.debug.apply({}, message.args); + return; + case LogLevel.error: + logger.error.apply({}, message.args); + return; + default: + logger.info(message); } }); worker.on('error', (message) => { @@ -201,22 +124,11 @@ export async function startHistoricalDataUpload( } resolve(null); }); - worker.postMessage('setup'); worker.postMessage('start'); }); } - const limiter = pLimit(Math.max(1, Math.floor(intervals.length / 2))); - const workers = range(0, intervals.length).map((index) => () => runService(intervals[index])); - return Promise.all(workers.map((worker) => limiter(() => worker()))) - .then(async () => { - if (!runOptions.dryRun) { - await esClient.refresh(runOptions.apm ? ['metrics-apm.service-*'] : []); - } - }) - .then(() => { - // eslint-disable-next-line no-console - console.table(workerProcessed); - logger.info(`Finished producing ${totalProcessed} events`); - }); + const workerServices = range(0, intervals.length).map((index) => runService(intervals[index])); + + return Promise.all(workerServices); } diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/start_live_data_upload.ts b/packages/kbn-apm-synthtrace/src/cli/utils/start_live_data_upload.ts index 6615d16aa91a9..4fe29e3c94930 100644 --- a/packages/kbn-apm-synthtrace/src/cli/utils/start_live_data_upload.ts +++ b/packages/kbn-apm-synthtrace/src/cli/utils/start_live_data_upload.ts @@ -6,81 +6,78 @@ * Side Public License, v 1. */ -import { partition } from 'lodash'; +import { timerange } from '@kbn/apm-synthtrace-client'; +import { castArray } from 'lodash'; +import { PassThrough, Readable, Writable } from 'stream'; +import { isGeneratorObject } from 'util/types'; +import { awaitStream } from '../../lib/utils/wait_until_stream_finished'; +import { bootstrap } from './bootstrap'; import { getScenario } from './get_scenario'; import { RunOptions } from './parse_run_cli_flags'; -import { ApmFields } from '../../lib/apm/apm_fields'; -import { ApmSynthtraceEsClient } from '../../lib/apm'; -import { Logger } from '../../lib/utils/create_logger'; -import { EntityArrayIterable } from '../../lib/entity_iterable'; -import { StreamProcessor } from '../../lib/stream_processor'; -import { ApmSynthtraceApmClient } from '../../lib/apm/client/apm_synthtrace_apm_client'; - -export async function startLiveDataUpload( - esClient: ApmSynthtraceEsClient, - apmIntakeClient: ApmSynthtraceApmClient | null, - logger: Logger, - runOptions: RunOptions, - start: Date, - version: string -) { + +export async function startLiveDataUpload({ + runOptions, + start, +}: { + runOptions: RunOptions; + start: Date; +}) { const file = runOptions.file; + const { logger, apmEsClient } = await bootstrap(runOptions); + const scenario = await getScenario({ file, logger }); - const { generate, mapToIndex } = await scenario(runOptions); + const { generate } = await scenario({ ...runOptions, logger }); - let queuedEvents: ApmFields[] = []; - let requestedUntil: Date = start; const bucketSizeInMs = 1000 * 60; + let requestedUntil = start; + + const stream = new PassThrough({ + objectMode: true, + }); + + apmEsClient.index(stream); + + function closeStream() { + stream.end(() => { + process.exit(0); + }); + } + + process.on('SIGINT', closeStream); + process.on('SIGTERM', closeStream); + process.on('SIGQUIT', closeStream); async function uploadNextBatch() { - const end = new Date(); - if (end > requestedUntil) { + const now = Date.now(); + + if (now > requestedUntil.getTime()) { const bucketFrom = requestedUntil; const bucketTo = new Date(requestedUntil.getTime() + bucketSizeInMs); - // TODO this materializes into an array, assumption is that the live buffer will fit in memory - const nextEvents = logger.perf('execute_scenario', () => - generate({ from: bucketFrom, to: bucketTo }).toArray() - ); logger.info( - `Requesting ${new Date(bucketFrom).toISOString()} to ${new Date( - bucketTo - ).toISOString()}, events: ${nextEvents.length}` + `Requesting ${new Date(bucketFrom).toISOString()} to ${new Date(bucketTo).toISOString()}` ); - queuedEvents.push(...nextEvents); - requestedUntil = bucketTo; - } - const [eventsToUpload, eventsToRemainInQueue] = partition( - queuedEvents, - (event) => event['@timestamp'] !== undefined && event['@timestamp'] <= end.getTime() - ); + const next = logger.perf('execute_scenario', () => + generate({ range: timerange(bucketFrom.getTime(), bucketTo.getTime()) }) + ); - logger.info(`Uploading until ${new Date(end).toISOString()}, events: ${eventsToUpload.length}`); + const concatenatedStream = castArray(next) + .reverse() + .reduce((prev, current) => { + const currentStream = isGeneratorObject(current) ? Readable.from(current) : current; + return currentStream.pipe(prev); + }, new PassThrough({ objectMode: true })); - queuedEvents = eventsToRemainInQueue; - const streamProcessor = new StreamProcessor({ - version, - logger, - processors: StreamProcessor.apmProcessors, - maxSourceEvents: runOptions.maxDocs, - name: `Live index`, - }); - await logger.perf('index_live_scenario', async () => { - const events = new EntityArrayIterable(eventsToUpload); - const streamToBulkOptions = { - concurrency: runOptions.workers, - maxDocs: runOptions.maxDocs, - mapToIndex, - dryRun: false, - }; - if (apmIntakeClient) { - await apmIntakeClient.index(events, streamToBulkOptions, streamProcessor); - } else { - await esClient.index(events, streamToBulkOptions, streamProcessor); - } - }); + concatenatedStream.pipe(stream, { end: false }); + + await awaitStream(concatenatedStream); + + await apmEsClient.refresh(); + + requestedUntil = bucketTo; + } } do { diff --git a/packages/kbn-apm-synthtrace/src/cli/utils/synthtrace_worker.ts b/packages/kbn-apm-synthtrace/src/cli/utils/synthtrace_worker.ts index 54ce5b1b2e328..7617a9d58dd96 100644 --- a/packages/kbn-apm-synthtrace/src/cli/utils/synthtrace_worker.ts +++ b/packages/kbn-apm-synthtrace/src/cli/utils/synthtrace_worker.ts @@ -5,100 +5,82 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -// import pLimit from 'p-limit'; -import { workerData, parentPort } from 'worker_threads'; -import { RunOptions } from './parse_run_cli_flags'; +import { parentPort, workerData } from 'worker_threads'; +import pidusage from 'pidusage'; +import { memoryUsage } from 'process'; +import { timerange } from '@kbn/apm-synthtrace-client'; +import { getEsClient } from './get_es_client'; import { getScenario } from './get_scenario'; -import { StreamToBulkOptions } from '../../lib/apm/client/apm_synthtrace_es_client'; -import { getCommonServices } from './get_common_services'; -import { LogLevel } from '../../lib/utils/create_logger'; -import { StreamProcessor } from '../../lib/stream_processor'; -import { Scenario } from '../scenario'; -import { EntityIterable, Fields } from '../../..'; -import { StreamAggregator } from '../../lib/stream_aggregator'; -import { ServicMetricsAggregator } from '../../lib/apm/aggregators/service_metrics_aggregator'; - -// logging proxy to main thread, ensures we see real time logging -const l = { - perf: (name: string, cb: () => T): T => { - return cb(); - }, - debug: (...args: any[]) => parentPort?.postMessage({ log: LogLevel.debug, args }), - info: (...args: any[]) => parentPort?.postMessage({ log: LogLevel.info, args }), - error: (...args: any[]) => parentPort?.postMessage({ log: LogLevel.error, args }), -}; +import { loggerProxy } from './logger_proxy'; +import { RunOptions } from './parse_run_cli_flags'; export interface WorkerData { bucketFrom: Date; bucketTo: Date; runOptions: RunOptions; - workerIndex: number; + workerId: string; + esUrl: string; version: string; } -const { bucketFrom, bucketTo, runOptions, workerIndex, version } = workerData as WorkerData; - -const { logger, apmEsClient, apmIntakeClient } = getCommonServices(runOptions, l); -const file = runOptions.file; -let scenario: Scenario; -let events: EntityIterable; -let streamToBulkOptions: StreamToBulkOptions; -let streamProcessor: StreamProcessor; - -async function setup() { - scenario = await logger.perf('get_scenario', () => getScenario({ file, logger })); - const { generate, mapToIndex } = await scenario(runOptions); - - events = logger.perf('generate_scenario', () => generate({ from: bucketFrom, to: bucketTo })); - streamToBulkOptions = { - maxDocs: runOptions.maxDocs, - mapToIndex, - dryRun: !!runOptions.dryRun, - }; - streamToBulkOptions.itemStartStopCallback = (item, done) => { - if (!item) return; - if (!done) { - parentPort?.postMessage({ workerIndex, firstTimestamp: item['@timestamp'] }); - } else { - parentPort?.postMessage({ workerIndex, lastTimestamp: item['@timestamp'] }); - } - }; - const aggregators: StreamAggregator[] = [new ServicMetricsAggregator()]; - // If we are sending data to apm-server we do not have to create any aggregates in the stream processor - streamProcessor = new StreamProcessor({ +const { bucketFrom, bucketTo, runOptions, esUrl, version } = workerData as WorkerData; + +async function start() { + const logger = loggerProxy; + const apmEsClient = getEsClient({ + concurrency: runOptions.concurrency, + target: esUrl, + logger, version, - processors: apmIntakeClient ? [] : StreamProcessor.apmProcessors, - streamAggregators: apmIntakeClient ? [] : aggregators, - maxSourceEvents: runOptions.maxDocs, - logger: l, - processedCallback: (processedDocuments) => { - parentPort!.postMessage({ workerIndex, processedDocuments }); - }, - name: `Worker ${workerIndex}`, }); -} -async function doWork() { + const file = runOptions.file; + + const scenario = await logger.perf('get_scenario', () => getScenario({ file, logger })); + + logger.info(`Running scenario from ${bucketFrom.toISOString()} to ${bucketTo.toISOString()}`); + + const { generate, bootstrap } = await scenario({ ...runOptions, logger }); + + if (bootstrap) { + await bootstrap({ apmEsClient }); + } + + logger.debug('Generating scenario'); + + const generators = logger.perf('generate_scenario', () => + generate({ range: timerange(bucketFrom, bucketTo) }) + ); + + logger.debug('Indexing scenario'); + + function mb(value: number): string { + return Math.round(value / 1024 ** 2).toString() + 'mb'; + } + + setInterval(async () => { + const stats = await pidusage(process.pid); + const mem = memoryUsage(); + logger.info(`cpu: ${stats.cpu}, memory: ${mb(mem.heapUsed)}/${mb(mem.heapTotal)}`); + }, 5000); + await logger.perf('index_scenario', async () => { - if (apmIntakeClient) { - await apmIntakeClient.index(events, streamToBulkOptions, streamProcessor); - } else { - await apmEsClient.index(events, streamToBulkOptions, streamProcessor); - } + await apmEsClient.index(generators); + await apmEsClient.refresh(); }); } -parentPort!.on('message', async (message) => { - if (message === 'setup') { - await setup(); +parentPort!.on('message', (message) => { + if (message !== 'start') { + return; } - if (message === 'start') { - try { - await doWork(); + + start() + .then(() => { process.exit(0); - } catch (error) { - l.info(error); - process.exit(2); - } - } + }) + .catch((err) => { + loggerProxy.error(err); + process.exit(1); + }); }); diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_apm_metric_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_apm_metric_aggregator.ts new file mode 100644 index 0000000000000..a60cc95fc6c69 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_apm_metric_aggregator.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { ApmFields } from '@kbn/apm-synthtrace-client'; +import { createMetricAggregatorFactory } from '../../utils/create_metric_aggregator_factory'; + +export const createApmMetricAggregator = createMetricAggregatorFactory(); diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_breakdown_metrics_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_breakdown_metrics_aggregator.ts new file mode 100644 index 0000000000000..673ea3fd27145 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_breakdown_metrics_aggregator.ts @@ -0,0 +1,45 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { ApmFields } from '@kbn/apm-synthtrace-client'; +import { identity, negate } from 'lodash'; +import { createFilterTransform, fork } from '../../utils/stream_utils'; +import { createApmMetricAggregator } from './create_apm_metric_aggregator'; + +const filter = (event: ApmFields) => + event['processor.event'] === 'metric' && event['metricset.name'] === 'span_breakdown'; + +export function createBreakdownMetricsAggregator(flushInterval: string) { + const dropProcessedEventsStream = createFilterTransform(negate(filter)); + + const aggregatorStream = createApmMetricAggregator( + { + filter, + getAggregateKey: (event) => { + return event.meta!['metricset.id']; + }, + flushInterval, + init: (event) => { + return { + ...event, + meta: {}, + 'span.self_time.count': 0, + 'span.self_time.sum.us': 0, + }; + }, + }, + (metric, event) => { + metric['span.self_time.count'] += event['span.self_time.count']!; + metric['span.self_time.sum.us'] += event['span.self_time.sum.us']!; + }, + identity + ); + + const mergedStreams = fork(dropProcessedEventsStream, aggregatorStream); + + return mergedStreams; +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_service_metrics_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_service_metrics_aggregator.ts new file mode 100644 index 0000000000000..47cefc9608e33 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_service_metrics_aggregator.ts @@ -0,0 +1,86 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { pick } from 'lodash'; +import { hashKeysOf, ApmFields } from '@kbn/apm-synthtrace-client'; +import { createLosslessHistogram } from '../../utils/create_lossless_histogram'; +import { createApmMetricAggregator } from './create_apm_metric_aggregator'; + +const KEY_FIELDS: Array = [ + 'agent.name', + 'service.environment', + 'service.name', + 'service.node.name', + 'transaction.type', +]; + +export function createServiceMetricsAggregator(flushInterval: string) { + return createApmMetricAggregator( + { + filter: (event) => true, + getAggregateKey: (event) => { + // see https://github.com/elastic/apm-server/blob/main/x-pack/apm-server/aggregation/txmetrics/aggregator.go + return hashKeysOf(event, KEY_FIELDS); + }, + flushInterval, + init: (event) => { + const set = pick(event, KEY_FIELDS); + + return { + ...set, + 'metricset.name': 'service', + 'processor.event': 'metric', + 'processor.name': 'metric', + 'transaction.duration.histogram': createLosslessHistogram(), + 'transaction.duration.summary': { + min: 0, + max: 0, + value_count: 0, + sum: 0, + }, + 'event.outcome_numeric': { + sum: 0, + value_count: 0, + }, + }; + }, + }, + (metric, event) => { + if (event['processor.event'] === 'transaction') { + const duration = event['transaction.duration.us']!; + + metric['transaction.duration.histogram'].record(duration); + + if (event['event.outcome'] === 'success' || event['event.outcome'] === 'failure') { + metric['event.outcome_numeric'].value_count += 1; + } + + if (event['event.outcome'] === 'success') { + metric['event.outcome_numeric'].sum += 1; + } + + const summary = metric['transaction.duration.summary']; + + summary.min = Math.min(duration, metric['transaction.duration.summary'].min); + summary.max = Math.max(duration, metric['transaction.duration.summary'].max); + summary.sum += duration; + summary.value_count += 1; + } + }, + (metric) => { + const serialized = metric['transaction.duration.histogram'].serialize(); + metric['transaction.duration.histogram'] = { + // @ts-expect-error + values: serialized.values, + counts: serialized.counts, + }; + // @ts-expect-error + metric._doc_count = serialized.total; + return metric; + } + ); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_span_metrics_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_span_metrics_aggregator.ts new file mode 100644 index 0000000000000..fd4526df0225d --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_span_metrics_aggregator.ts @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { pick } from 'lodash'; +import { ApmFields, hashKeysOf } from '@kbn/apm-synthtrace-client'; +import { createApmMetricAggregator } from './create_apm_metric_aggregator'; + +const KEY_FIELDS: Array = [ + 'agent.name', + 'service.name', + 'service.environment', + 'span.destination.service.resource', + 'event.outcome', + 'span.name', + 'service.target.name', + 'service.target.type', +]; + +export function createSpanMetricsAggregator(flushInterval: string) { + return createApmMetricAggregator( + { + filter: (event) => + event['processor.event'] === 'span' && !!event['span.destination.service.resource'], + getAggregateKey: (event) => { + // see https://github.com/elastic/apm-server/blob/main/x-pack/apm-server/aggregation/spanmetrics/aggregator.go + const key = hashKeysOf(event, KEY_FIELDS); + return key; + }, + flushInterval, + init: (event) => { + const set = pick(event, KEY_FIELDS); + + return { + ...set, + 'metricset.name': 'service_destination', + 'processor.event': 'metric', + 'processor.name': 'metric', + 'span.destination.service.response_time.count': 0, + 'span.destination.service.response_time.sum.us': 0, + }; + }, + }, + (metric, event) => { + metric['span.destination.service.response_time.count'] += 1; + metric['span.destination.service.response_time.sum.us'] += event['span.duration.us']!; + }, + (metric) => { + // @ts-expect-error + metric._doc_count = metric['span.destination.service.response_time.count']; + return metric; + } + ); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_transaction_metrics_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_transaction_metrics_aggregator.ts new file mode 100644 index 0000000000000..92be93100e397 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/create_transaction_metrics_aggregator.ts @@ -0,0 +1,92 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { ApmFields, appendHash, hashKeysOf } from '@kbn/apm-synthtrace-client'; +import { pick } from 'lodash'; +import { createLosslessHistogram } from '../../utils/create_lossless_histogram'; +import { createApmMetricAggregator } from './create_apm_metric_aggregator'; + +const KEY_FIELDS: Array = [ + 'transaction.name', + 'transaction.result', + 'transaction.type', + 'event.outcome', + + 'agent.name', + 'service.environment', + 'service.name', + 'service.version', + 'service.node.name', + 'service.runtime.name', + 'service.runtime.version', + + 'service.language.name', + 'service.language.version', + + 'host.hostname', + 'host.name', + 'host.os.platform', + 'container.id', + 'kubernetes.pod.name', + + 'cloud.provider', + 'cloud.region', + 'cloud.availability_zone', + 'cloud.service.name', + 'cloud.account.id', + 'cloud.account.name', + 'cloud.project.id', + 'cloud.project.name', + 'cloud.machine.type', + + 'faas.coldstart', + 'faas.id', + 'faas.trigger.type', + 'faas.name', + 'faas.version', +]; + +export function createTransactionMetricsAggregator(flushInterval: string) { + return createApmMetricAggregator( + { + filter: (event) => event['processor.event'] === 'transaction', + getAggregateKey: (event) => { + // see https://github.com/elastic/apm-server/blob/main/x-pack/apm-server/aggregation/txmetrics/aggregator.go + let key = hashKeysOf(event, KEY_FIELDS); + key = appendHash(key, event['parent.id'] ? '1' : '0'); + return key; + }, + flushInterval, + init: (event) => { + const set = pick(event, KEY_FIELDS); + + return { + ...set, + 'metricset.name': 'transaction', + 'processor.event': 'metric', + 'processor.name': 'metric', + 'transaction.root': !event['parent.id'], + 'transaction.duration.histogram': createLosslessHistogram(), + }; + }, + }, + (metric, event) => { + metric['transaction.duration.histogram'].record(event['transaction.duration.us']!); + }, + (metric) => { + const serialized = metric['transaction.duration.histogram'].serialize(); + metric['transaction.duration.histogram'] = { + // @ts-expect-error + values: serialized.values, + counts: serialized.counts, + }; + // @ts-expect-error + metric._doc_count = serialized.total; + return metric; + } + ); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/service_metrics_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/service_metrics_aggregator.ts deleted file mode 100644 index 9ed6f805d1546..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/aggregators/service_metrics_aggregator.ts +++ /dev/null @@ -1,215 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { random } from 'lodash'; -import { Client } from '@elastic/elasticsearch'; -import { ApmFields } from '../apm_fields'; -import { Fields } from '../../entity'; -import { StreamAggregator } from '../../stream_aggregator'; - -type AggregationState = { - count: number; - min: number; - max: number; - sum: number; - timestamp: number; - failure_count: number; - success_count: number; -} & Pick; - -export type ServiceFields = Fields & - Pick< - ApmFields, - | 'timestamp.us' - | 'ecs.version' - | 'metricset.name' - | 'observer' - | 'processor.event' - | 'processor.name' - | 'service.name' - | 'service.version' - | 'service.environment' - > & - Partial<{ - _doc_count: number; - transaction: { - failure_count: number; - success_count: number; - type: string; - 'duration.summary': { - min: number; - max: number; - sum: number; - value_count: number; - }; - }; - }>; - -export class ServicMetricsAggregator implements StreamAggregator { - public readonly name; - - constructor() { - this.name = 'service-latency'; - } - - getDataStreamName(): string { - return 'metrics-apm.service'; - } - - getMappings(): Record { - return { - properties: { - '@timestamp': { - type: 'date', - format: 'date_optional_time||epoch_millis', - }, - transaction: { - type: 'object', - properties: { - type: { type: 'keyword', time_series_dimension: true }, - duration: { - type: 'object', - properties: { - summary: { - type: 'aggregate_metric_double', - metrics: ['min', 'max', 'sum', 'value_count'], - default_metric: 'sum', - time_series_metric: 'gauge', - }, - }, - }, - failure_count: { - type: 'long', - }, - success_count: { - type: 'long', - }, - }, - }, - service: { - type: 'object', - properties: { - name: { type: 'keyword', time_series_dimension: true }, - environment: { type: 'keyword', time_series_dimension: true }, - }, - }, - }, - }; - } - - getDimensions(): string[] { - return ['service.name', 'service.environment', 'transaction.type']; - } - - getWriteTarget(document: Record): string | null { - const eventType = document.metricset?.name; - if (eventType === 'service') return 'metrics-apm.service-default'; - return null; - } - - private state: Record = {}; - - private processedComponent: number = 0; - - process(event: ApmFields): Fields[] | null { - if (!event['@timestamp']) return null; - const service = event['service.name']!; - const environment = event['service.environment'] ?? 'production'; - const transactionType = event['transaction.type'] ?? 'request'; - const key = `${service}-${environment}-${transactionType}`; - const addToState = (timestamp: number) => { - if (!this.state[key]) { - this.state[key] = { - timestamp, - count: 0, - min: 0, - max: 0, - sum: 0, - 'service.name': service, - 'service.environment': environment, - 'transaction.type': transactionType, - failure_count: 0, - success_count: 0, - }; - } - - const state = this.state[key]; - - const duration = Number(event['transaction.duration.us']); - - if (duration >= 0) { - state.count++; - - state.sum += duration; - if (duration > state.max) state.max = duration; - if (duration < state.min) state.min = Math.min(0, duration); - - switch (event['event.outcome']) { - case 'failure': - state.failure_count++; - break; - case 'success': - state.success_count++; - break; - } - } - }; - - // ensure we flush current state first if event falls out of the current max window age - if (this.state[key]) { - const diff = Math.abs(event['@timestamp'] - this.state[key].timestamp); - if (diff >= 1000 * 60) { - const fields = this.createServiceFields(key); - delete this.state[key]; - addToState(event['@timestamp']); - return [fields]; - } - } - - addToState(event['@timestamp']); - // if cardinality is too high force emit of current state - if (Object.keys(this.state).length === 1000) { - return this.flush(); - } - - return null; - } - - flush(): Fields[] { - const fields = Object.keys(this.state).map((key) => this.createServiceFields(key)); - this.state = {}; - return fields; - } - - private createServiceFields(key: string): ServiceFields { - this.processedComponent = ++this.processedComponent % 1000; - const component = Date.now() % 100; - const state = this.state[key]; - return { - _doc_count: state.count, - '@timestamp': state.timestamp + random(0, 100) + component + this.processedComponent, - 'metricset.name': 'service', - 'processor.event': 'metric', - 'service.name': state['service.name'], - 'service.environment': state['service.environment'], - transaction: { - 'duration.summary': { - min: state.min, - max: state.max, - sum: state.sum, - value_count: state.count, - }, - success_count: state.success_count, - failure_count: state.failure_count, - type: state['transaction.type'] ?? 'request', - }, - }; - } - - async bootstrapElasticsearch(esClient: Client): Promise {} -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_apm_client.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_apm_client.ts deleted file mode 100644 index af200a103558e..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_apm_client.ts +++ /dev/null @@ -1,344 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Client from 'elastic-apm-http-client'; -import Util from 'util'; -import { Logger } from '../../utils/create_logger'; -import { ApmFields } from '../apm_fields'; -import { EntityIterable } from '../../entity_iterable'; -import { StreamProcessor } from '../../stream_processor'; -import { EntityStreams } from '../../entity_streams'; -import { Fields } from '../../entity'; -import { Span } from './intake_v2/span'; -import { Error } from './intake_v2/error'; -import { Metadata } from './intake_v2/metadata'; -import { Transaction } from './intake_v2/transaction'; - -export interface StreamToBulkOptions { - concurrency?: number; - // the maximum number of documents to process - maxDocs?: number; - // the number of documents to flush the bulk operation defaults to 10k - flushInterval?: number; - mapToIndex?: (document: Record) => string; - dryRun: boolean; - itemStartStopCallback?: (item: TFields | null, done: boolean) => void; -} - -export interface ApmSynthtraceApmClientOptions { - forceLegacyIndices?: boolean; - // defaults to true if unspecified - refreshAfterIndex?: boolean; -} - -interface ClientState { - client: Client; - enqueued: number; - sendSpan: (s: Span) => Promise; - sendTransaction: (s: Transaction) => Promise; - sendError: (e: Error) => Promise; - flush: (o: any) => Promise; -} -interface ClientStats { - numEvents: number; - numEventsDropped: number; - numEventsEnqueued: number; - numEventsSent: number; - slowWriteBatch: number; - backoffReconnectCount: number; -} -export class ApmSynthtraceApmClient { - private readonly _serviceClients: Map = new Map(); - constructor( - private readonly apmTarget: string, - private readonly logger: Logger, - options?: ApmSynthtraceApmClientOptions - ) {} - - map(fields: ApmFields): [Span | Transaction, Error[]] { - const set = ( - key: T, - context: NonNullable, - setter: (context: NonNullable, value: NonNullable) => void - ) => { - if (fields[key]) { - setter(context, fields[key]!); - } - }; - const metadata: Metadata = { - service: { - name: fields['service.name'] ?? 'unknown', - agent: { - name: fields['agent.name'] ?? 'unknown', - version: fields['agent.version'] ?? 'unknown', - }, - }, - }; - - const system = (metadata.system = metadata.system ?? {}); - const container = (system.container = system.container ?? {}); - const kubernetes = (system.kubernetes = system.kubernetes ?? {}); - const pod = (kubernetes.pod = kubernetes.pod ?? {}); - set('container.id', container, (c, v) => (c.id = v)); - set('host.name', system, (c, v) => (c.hostname = v)); - set('host.hostname', system, (c, v) => (c.configured_hostname = v)); - set('kubernetes.pod.name', pod, (c, v) => (c.name = v)); - set('kubernetes.pod.uid', pod, (c, v) => (c.uid = v)); - - const e: Span | Transaction = fields['span.id'] - ? { - kind: 'span', - duration: fields['span.duration.us'] ?? 0, - id: fields['span.id'] ?? '', - name: fields['span.name'] ?? 'unknown', - parent_id: fields['parent.id'] ?? '', - type: fields['span.type'] ?? '', - timestamp: Math.trunc((fields['@timestamp'] ?? 0) * 1000), - trace_id: fields['trace.id'] ?? '', - } - : { - kind: 'transaction', - timestamp: Math.trunc((fields['@timestamp'] ?? 0) * 1000), - duration: fields['transaction.duration.us'] ?? 0, - id: fields['transaction.id'] ?? '', - type: fields['transaction.type'] ?? '', - trace_id: fields['trace.id'] ?? '', - span_count: { dropped: null, started: 0 }, - }; - - set('trace.id', e, (c, v) => (c.trace_id = v)); - set('parent.id', e, (c, v) => (c.parent_id = v)); - set( - 'span.links', - e, - (c, v) => (c.links = v.map((l) => ({ span_id: l.span?.id, trace_id: l.span?.id }))) - ); - - e.context = {}; - const service = (e.context.service = e.context.service ?? {}); - set('service.name', service, (c, v) => (c.name = v)); - set('service.version', service, (c, v) => (c.version = v)); - set('service.environment', service, (c, v) => (c.environment = v)); - const node = (service.node = service.node ?? {}); - set('service.node.name', node, (c, v) => (c.configured_name = v)); - const agent = (service.agent = service.agent ?? {}); - set('agent.name', agent, (c, v) => (c.name = v)); - set('agent.version', agent, (c, v) => (c.version = v)); - const runtime = (service.runtime = service.runtime ?? {}); - set('service.runtime.name', runtime, (c, v) => (c.name = v)); - set('service.runtime.version', runtime, (c, v) => (c.version = v)); - const framework = (service.framework = service.framework ?? {}); - set('service.framework.name', framework, (c, v) => (c.name = v)); - - set( - 'event.outcome', - e, - (c, v) => (c.outcome = v === 'failure' ? 'failure' : v === 'success' ? 'success' : 'unknown') - ); - - if (e.kind === 'span') { - set('span.duration.us', e, (c, v) => (c.duration = v / 1000)); - set('span.type', e, (c, v) => (c.type = v)); - set('span.subtype', e, (c, v) => (c.subtype = v)); - - const destination = (e.context.destination = e.context.destination ?? {}); - const destinationService = (destination.service = destination.service ?? { resource: '' }); - set('span.destination.service.resource', destinationService, (c, v) => (c.resource = v)); - } - if (e.kind === 'transaction') { - set('transaction.name', e, (c, v) => (c.name = v)); - set('transaction.type', e, (c, v) => (c.type = v)); - set('transaction.id', e, (c, v) => (c.id = v)); - set('transaction.duration.us', e, (c, v) => (c.duration = v / 1000)); - set('transaction.sampled', e, (c, v) => (c.sampled = v)); - } - - let errors: Error[] = []; - if (fields['error.id']) { - const exceptions = fields['error.exception'] ?? []; - errors = exceptions.map((ex) => { - const err: Error = { - id: '0', - timestamp: Math.trunc((fields['@timestamp'] ?? 0) * 1000), - context: e.context, - }; - set('error.id', err, (c, v) => (c.id = v)); - set('parent.id', err, (c, v) => (c.parent_id = v)); - set('trace.id', err, (c, v) => (c.trace_id = v)); - set('transaction.id', err, (c, v) => (c.transaction_id = v)); - set('error.grouping_name', err, (c, v) => (c.culprit = v)); - err.exception = { - message: ex.message, - type: 'Exception', - }; - if (!err.parent_id) err.parent_id = err.transaction_id ?? err.trace_id; - return err; - }); - } - - // TODO include event more context - // 'cloud.provider': string; - // 'cloud.project.name': string; - // 'cloud.service.name': string; - // 'cloud.availability_zone': string; - // 'cloud.machine.type': string; - // 'cloud.region': string; - // 'host.os.platform': string; - // 'faas.id': string; - // 'faas.coldstart': boolean; - // 'faas.execution': string; - // 'faas.trigger.type': string; - // 'faas.trigger.request_id': string; - - return [e, errors]; - } - - async index( - events: EntityIterable | Array>, - options?: StreamToBulkOptions, - streamProcessor?: StreamProcessor - ) { - const dataStream = Array.isArray(events) ? new EntityStreams(events) : events; - const sp = - streamProcessor != null - ? streamProcessor - : new StreamProcessor({ - processors: [], - maxSourceEvents: options?.maxDocs, - logger: this.logger, - }); - - let yielded = 0; - let fields: ApmFields | null = null; - // intentionally leaks `fields` so it can be pushed to callback events - const sideEffectYield = () => - sp.streamToDocumentAsync((e) => { - fields = e; - return this.map(e); - }, dataStream); - - if (options?.dryRun) { - await this.logger.perf('enumerate_scenario', async () => { - // @ts-ignore - // We just want to enumerate - for await (const item of sideEffectYield()) { - if (yielded === 0) { - options.itemStartStopCallback?.apply(this, [fields, false]); - yielded++; - } - } - options.itemStartStopCallback?.apply(this, [fields, true]); - }); - return; - } - const queueSize = 10000; - for await (const [item, _] of sideEffectYield()) { - if (item == null) continue; - - const service = item.context?.service?.name ?? 'unknown'; - const hostName = fields ? fields['host.name'] : 'unknown'; - // TODO evaluate if we really need service specific clients - // const lookup = `${service}::${hostName}`; - const lookup = `constant_key::1`; - if (!this._serviceClients.has(lookup)) { - const client = new Client({ - userAgent: `apm-agent-synthtrace/${sp.version}`, - serverUrl: this.apmTarget, - maxQueueSize: queueSize, - bufferWindowSize: queueSize / 2, - - serviceName: service, - serviceNodeName: service, - agentName: 'synthtrace', - agentVersion: sp.version, - serviceVersion: item.context?.service?.version ?? sp.version, - frameworkName: item.context?.service?.framework?.name ?? undefined, - frameworkVersion: item.context?.service?.framework?.version ?? undefined, - hostname: hostName, - }); - this._serviceClients.set(lookup, { - client, - enqueued: 0, - sendSpan: Util.promisify(client.sendSpan).bind(client), - sendTransaction: Util.promisify(client.sendTransaction).bind(client), - sendError: Util.promisify(client.sendError).bind(client), - flush: Util.promisify(client.flush).bind(client), - }); - } - const clientState = this._serviceClients.get(lookup)!; - - if (yielded === 0) { - options?.itemStartStopCallback?.apply(this, [fields, false]); - } - if (item.kind === 'span') { - clientState.sendSpan(item); - } else if (item.kind === 'transaction') { - clientState.sendTransaction(item); - } - yielded++; - clientState.enqueued++; - /* TODO finish implementing sending errors - errors.forEach((e) => { - clientState.sendError(e); - clientState.enqueued++; - });*/ - if (clientState.enqueued % queueSize === 0) { - this.logger.debug( - ` -- ${sp.name} Flushing client: ${lookup} after enqueueing ${clientState.enqueued}` - ); - await clientState.flush({}); - } - } - for (const [, state] of this._serviceClients) { - await state.flush({}); - } - // this attempts to group similar service names together for cleaner reporting - const totals = Array.from(this._serviceClients).reduce((p, c, i, a) => { - const serviceName = c[0].split('::')[0].replace(/-\d+$/, ''); - if (!p.has(serviceName)) { - p.set(serviceName, { enqueued: 0, sent: 0, names: new Set() }); - } - const s = p.get(serviceName)!; - s.enqueued += c[1].enqueued; - s.sent += c[1].client.sent; - s.names.add(c[0]); - const stats = c[1].client._getStats(); - if (!s.stats) { - s.stats = stats; - } else { - s.stats.backoffReconnectCount += stats.backoffReconnectCount; - s.stats.numEvents += stats.numEvents; - s.stats.numEventsSent += stats.numEventsSent; - s.stats.numEventsDropped += stats.numEventsDropped; - s.stats.numEventsEnqueued += stats.numEventsEnqueued; - s.stats.slowWriteBatch += stats.slowWriteBatch; - } - return p; - }, new Map; stats?: ClientStats }>()); - for (const [serviceGroup, state] of totals) { - // only report details if there is a discrepancy in the bookkeeping of synthtrace and the client - if ( - state.stats && - (state.stats.numEventsDropped > 0 || state.enqueued !== state.stats.numEventsSent) - ) { - this.logger.info( - ` -- ${serviceGroup} (${state.names.size} services) sent: ${state.sent}, enqueued: ${state.enqueued}` - ); - this.logger.info(` -- ${serviceGroup} (${state.names.size} services) client stats`); - this.logger.info(` -- numEvents: ${state.stats.numEvents}`); - this.logger.info(` -- numEventsSent: ${state.stats.numEventsSent}`); - this.logger.info(` -- numEventsEnqueued: ${state.stats.numEventsEnqueued}`); - this.logger.info(` -- numEventsDropped: ${state.stats.numEventsDropped}`); - this.logger.info(` -- backoffReconnectCount: ${state.stats.backoffReconnectCount}`); - this.logger.info(` -- slowWriteBatch: ${state.stats.slowWriteBatch}`); - } - } - - options?.itemStartStopCallback?.apply(this, [fields, true]); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts deleted file mode 100644 index 704f51ec82519..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client.ts +++ /dev/null @@ -1,277 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Client } from '@elastic/elasticsearch'; -import { IndicesIndexSettings } from '@elastic/elasticsearch/lib/api/types'; -import { cleanWriteTargets } from '../../utils/clean_write_targets'; -import { getApmWriteTargets } from '../utils/get_apm_write_targets'; -import { Logger } from '../../utils/create_logger'; -import { ApmFields } from '../apm_fields'; -import { EntityIterable } from '../../entity_iterable'; -import { StreamProcessor } from '../../stream_processor'; -import { EntityStreams } from '../../entity_streams'; -import { Fields } from '../../entity'; -import { StreamAggregator } from '../../stream_aggregator'; - -export interface StreamToBulkOptions { - concurrency?: number; - // the maximum number of documents to process - maxDocs?: number; - // the number of documents to flush the bulk operation defaults to 10k - flushInterval?: number; - mapToIndex?: (document: Record) => string; - dryRun: boolean; - itemStartStopCallback?: (item: TFields | null, done: boolean) => void; -} - -export interface ApmSynthtraceEsClientOptions { - forceLegacyIndices?: boolean; - // defaults to true if unspecified - refreshAfterIndex?: boolean; -} - -export class ApmSynthtraceEsClient { - private readonly forceLegacyIndices: boolean; - private readonly refreshAfterIndex: boolean; - constructor( - private readonly client: Client, - private readonly logger: Logger, - options?: ApmSynthtraceEsClientOptions - ) { - this.forceLegacyIndices = options?.forceLegacyIndices ?? false; - this.refreshAfterIndex = options?.refreshAfterIndex ?? true; - } - - private getWriteTargets() { - return getApmWriteTargets({ - client: this.client, - forceLegacyIndices: this.forceLegacyIndices, - }); - } - - async runningVersion() { - const info = await this.client.info(); - return info.version.number; - } - - async clean(dataStreams?: string[]) { - return this.getWriteTargets().then(async (writeTargets) => { - const indices = Object.values(writeTargets); - this.logger.info(`Attempting to clean: ${indices} + ${dataStreams ?? []}`); - if (this.forceLegacyIndices) { - return cleanWriteTargets({ - client: this.client, - targets: indices, - logger: this.logger, - }); - } - for (const name of indices.concat(dataStreams ?? [])) { - const dataStream = await this.client.indices.getDataStream({ name }, { ignore: [404] }); - if (dataStream.data_streams && dataStream.data_streams.length > 0) { - this.logger.debug(`Deleting datastream: ${name}`); - await this.client.indices.deleteDataStream({ name }); - } - } - return; - }); - } - - async updateComponentTemplates(numberOfPrimaryShards: number) { - const response = await this.client.cluster.getComponentTemplate({ name: '*apm*@custom' }); - for (const componentTemplate of response.component_templates) { - if (componentTemplate.component_template._meta?.package?.name !== 'apm') continue; - - componentTemplate.component_template.template.settings = { - index: { - number_of_shards: numberOfPrimaryShards, - }, - }; - - const putTemplate = await this.client.cluster.putComponentTemplate({ - name: componentTemplate.name, - ...componentTemplate.component_template, - }); - this.logger.info( - `- updated component template ${componentTemplate.name}, acknowledged: ${putTemplate.acknowledged}` - ); - } - } - - async registerGcpRepository(connectionString: string) { - // :[:base_path] - const [clientName, bucket, basePath] = connectionString.split(':'); - if (!clientName) - throw new Error( - `client name is mandatory for gcp repostitory registration: ${connectionString}` - ); - if (!bucket) - throw new Error(`bucket is mandatory for gcp repostitory registration: ${connectionString}`); - - const name = `gcp-repository-${clientName}`; - this.logger.info(`Registering gcp repository ${name}`); - const putRepository = await this.client.snapshot.createRepository({ - name, - type: 'gcs', - settings: { - // @ts-ignore - // missing from es types - bucket, - client: clientName, - base_path: basePath, - }, - }); - this.logger.info(putRepository); - - this.logger.info(`Verifying gcp repository ${name}`); - const verifyRepository = await this.client.snapshot.verifyRepository({ name }); - this.logger.info(verifyRepository); - } - - async refresh(dataStreams?: string[]) { - const writeTargets = await this.getWriteTargets(); - - const indices = Object.values(writeTargets).concat(dataStreams ?? []); - this.logger.info(`Indexed all data attempting to refresh: ${indices}`); - - return this.client.indices.refresh({ - index: indices, - allow_no_indices: true, - ignore_unavailable: true, - }); - } - - async index( - events: EntityIterable | Array>, - options?: StreamToBulkOptions, - streamProcessor?: StreamProcessor - ) { - const dataStream = Array.isArray(events) ? new EntityStreams(events) : events; - const sp = - streamProcessor != null - ? streamProcessor - : new StreamProcessor({ - processors: StreamProcessor.apmProcessors, - maxSourceEvents: options?.maxDocs, - logger: this.logger, - }); - - let item: Record | null = null; - let yielded = 0; - if (options?.dryRun) { - await this.logger.perf('enumerate_scenario', async () => { - // @ts-ignore - // We just want to enumerate - for await (item of sp.streamToDocumentAsync((e) => sp.toDocument(e), dataStream)) { - if (yielded === 0) { - options.itemStartStopCallback?.apply(this, [item, false]); - yielded++; - } - } - options.itemStartStopCallback?.apply(this, [item, true]); - }); - return; - } - - const writeTargets = await this.getWriteTargets(); - // TODO logger.perf - await this.client.helpers.bulk({ - concurrency: options?.concurrency ?? 10, - refresh: false, - refreshOnCompletion: false, - flushBytes: 500000, - // TODO https://github.com/elastic/elasticsearch-js/issues/1610 - // having to map here is awkward, it'd be better to map just before serialization. - datasource: sp.streamToDocumentAsync((e) => sp.toDocument(e), dataStream), - onDrop: (doc) => { - this.logger.info(JSON.stringify(doc, null, 2)); - }, - // TODO bug in client not passing generic to BulkHelperOptions<> - // https://github.com/elastic/elasticsearch-js/issues/1611 - onDocument: (doc: unknown) => { - item = doc as Record; - if (yielded === 0) { - options?.itemStartStopCallback?.apply(this, [item, false]); - yielded++; - } - let index = options?.mapToIndex ? options?.mapToIndex(item) : null; - if (!index) { - index = !this.forceLegacyIndices - ? sp.getDataStreamForEvent(item, writeTargets) - : StreamProcessor.getIndexForEvent(item, writeTargets); - } - return { create: { _index: index } }; - }, - }); - options?.itemStartStopCallback?.apply(this, [item, true]); - - if (this.refreshAfterIndex) { - await this.refresh(); - } - } - - async createDataStream(aggregator: StreamAggregator) { - const datastreamName = aggregator.getDataStreamName(); - const mappings = aggregator.getMappings(); - const dimensions = aggregator.getDimensions(); - - const indexSettings: IndicesIndexSettings = { lifecycle: { name: 'metrics' } }; - if (dimensions.length > 0) { - indexSettings.mode = 'time_series'; - indexSettings.routing_path = dimensions; - } - - await this.client.cluster.putComponentTemplate({ - name: `${datastreamName}-mappings`, - template: { - mappings, - }, - _meta: { - description: `Mappings for ${datastreamName}-*`, - }, - }); - this.logger.info(`Created mapping component template for ${datastreamName}-*`); - - await this.client.cluster.putComponentTemplate({ - name: `${datastreamName}-settings`, - template: { - settings: { - index: indexSettings, - }, - }, - _meta: { - description: `Settings for ${datastreamName}-*`, - }, - }); - this.logger.info(`Created settings component template for ${datastreamName}-*`); - - await this.client.indices.putIndexTemplate({ - name: `${datastreamName}-index_template`, - index_patterns: [`${datastreamName}-*`], - data_stream: {}, - composed_of: [`${datastreamName}-mappings`, `${datastreamName}-settings`], - priority: 500, - }); - this.logger.info(`Created index template for ${datastreamName}-*`); - - const dataStreamWithNamespace = datastreamName + '-default'; - const getDataStreamResponse = await this.client.indices.getDataStream( - { - name: dataStreamWithNamespace, - }, - { ignore: [404] } - ); - if (getDataStreamResponse.data_streams && getDataStreamResponse.data_streams.length === 0) { - await this.client.indices.createDataStream({ name: dataStreamWithNamespace }); - this.logger.info(`Created data stream: ${dataStreamWithNamespace}.`); - } else { - this.logger.info(`Data stream: ${dataStreamWithNamespace} already exists.`); - } - - await aggregator.bootstrapElasticsearch(this.client); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_apm_server_metadata_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_apm_server_metadata_transform.ts new file mode 100644 index 0000000000000..5f4885676cd9c --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_apm_server_metadata_transform.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Transform } from 'stream'; +import { ApmFields } from '@kbn/apm-synthtrace-client'; + +export function getApmServerMetadataTransform(version: string) { + const versionMajor = Number(version.split('.')[0]); + + return new Transform({ + objectMode: true, + transform(document: ApmFields, encoding, callback) { + document['observer.type'] = 'synthtrace'; + document['observer.version'] = version; + document['observer.version_major'] = versionMajor; + callback(null, document); + }, + }); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_dedot_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_dedot_transform.ts new file mode 100644 index 0000000000000..86a827eb704d0 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_dedot_transform.ts @@ -0,0 +1,43 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmFields } from '@kbn/apm-synthtrace-client'; +import { Transform } from 'stream'; +import { dedot } from '@kbn/apm-synthtrace-client'; + +export function getDedotTransform(keepFlattenedFields: boolean = false) { + return new Transform({ + objectMode: true, + transform(document: ApmFields, encoding, callback) { + let target: Record; + + if (keepFlattenedFields) { + // no need to dedot metric events, just document.observer + // use it when you want to reduce CPU time + // @ts-expect-error + document.observer = { + type: document['observer.type'], + version: document['observer.version'], + version_major: document['observer.version_major'], + }; + delete document['observer.type']; + delete document['observer.version']; + delete document['observer.version_major']; + + target = document['processor.event'] === 'metric' ? document : dedot(document, {}); + } else { + target = dedot(document, {}); + } + + delete target.meta; + target['@timestamp'] = new Date(target['@timestamp']!).toISOString(); + + callback(null, target); + }, + }); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_intake_defaults_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_intake_defaults_transform.ts new file mode 100644 index 0000000000000..8778b7104f355 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_intake_defaults_transform.ts @@ -0,0 +1,21 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmFields } from '@kbn/apm-synthtrace-client'; +import { Transform } from 'stream'; + +export function getIntakeDefaultsTransform() { + return new Transform({ + objectMode: true, + transform(document: ApmFields, encoding, callback) { + document['service.node.name'] = + document['service.node.name'] || document['container.id'] || document['host.name']; + callback(null, document); + }, + }); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts new file mode 100644 index 0000000000000..52d78923f2d54 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts @@ -0,0 +1,50 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmFields, ESDocumentWithOperation } from '@kbn/apm-synthtrace-client'; +import { Transform } from 'stream'; + +export function getRoutingTransform() { + return new Transform({ + objectMode: true, + transform(document: ESDocumentWithOperation, encoding, callback) { + let index: string | undefined; + + switch (document['processor.event']) { + case 'transaction': + case 'span': + index = + document['agent.name'] === 'rum-js' ? 'traces-apm.rum-default' : 'traces-apm-default'; + break; + + case 'error': + index = 'logs-apm.error-default'; + break; + + case 'metric': + const metricsetName = document['metricset.name']; + + if (metricsetName === 'app') { + index = `metrics-apm.app.${document['service.name']}-default`; + } else { + index = `metrics-apm.internal-default`; + } + break; + } + + if (!index) { + const error = new Error('Cannot determine index for event'); + Object.assign(error, { document }); + } + + document._index = index; + + callback(null, document); + }, + }); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_serialize_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_serialize_transform.ts new file mode 100644 index 0000000000000..26edb98429779 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_serialize_transform.ts @@ -0,0 +1,44 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ApmFields, Serializable } from '@kbn/apm-synthtrace-client'; +import { Transform } from 'stream'; + +export function getSerializeTransform() { + const buffer: ApmFields[] = []; + + let cb: (() => void) | undefined; + + function push(stream: Transform, events: ApmFields[], callback?: () => void) { + let event: ApmFields | undefined; + while ((event = events.shift())) { + if (!stream.push(event)) { + buffer.push(...events); + cb = callback; + return; + } + } + callback?.(); + } + + return new Transform({ + objectMode: true, + read() { + if (cb) { + const nextCallback = cb; + cb = undefined; + const nextEvents = [...buffer]; + buffer.length = 0; + push(this, nextEvents, nextCallback); + } + }, + write(chunk: Serializable, encoding, callback) { + push(this, chunk.serialize(), callback); + }, + }); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts new file mode 100644 index 0000000000000..546c4ab118eff --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/index.ts @@ -0,0 +1,209 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Client, estypes } from '@elastic/elasticsearch'; +import { + ApmFields, + ESDocumentWithOperation, + SynthtraceESAction, + SynthtraceGenerator, +} from '@kbn/apm-synthtrace-client'; +import { castArray } from 'lodash'; +import { PassThrough, pipeline, Readable, Transform } from 'stream'; +import { isGeneratorObject } from 'util/types'; +import { ValuesType } from 'utility-types'; +import { Logger } from '../../../utils/create_logger'; +import { fork, sequential } from '../../../utils/stream_utils'; +import { createBreakdownMetricsAggregator } from '../../aggregators/create_breakdown_metrics_aggregator'; +import { createSpanMetricsAggregator } from '../../aggregators/create_span_metrics_aggregator'; +import { createTransactionMetricsAggregator } from '../../aggregators/create_transaction_metrics_aggregator'; +import { getApmServerMetadataTransform } from './get_apm_server_metadata_transform'; +import { getDedotTransform } from './get_dedot_transform'; +import { getIntakeDefaultsTransform } from './get_intake_defaults_transform'; +import { getRoutingTransform } from './get_routing_transform'; +import { getSerializeTransform } from './get_serialize_transform'; + +export interface ApmSynthtraceEsClientOptions { + version: string; + concurrency?: number; + refreshAfterIndex?: boolean; +} + +type MaybeArray = T | T[]; + +const DATA_STREAMS = ['traces-apm*', 'metrics-apm*', 'logs-apm*']; + +export enum ComponentTemplateName { + LogsApp = 'logs-apm.app@custom', + LogsError = 'logs-apm.error@custom', + MetricsApp = 'metrics-apm.app@custom', + MetricsInternal = 'metrics-apm.internal@custom', + TracesApm = 'traces-apm@custom', + TracesApmRum = 'traces-apm.rum@custom', + TracesApmSampled = 'traces-apm.sampled@custom', +} + +export class ApmSynthtraceEsClient { + private readonly client: Client; + private readonly logger: Logger; + + private readonly concurrency: number; + + private readonly refreshAfterIndex: boolean; + + private readonly version: string; + + private pipelineCallback: (base: Readable) => NodeJS.WritableStream = this.getDefaultPipeline(); + + constructor(options: { client: Client; logger: Logger } & ApmSynthtraceEsClientOptions) { + this.client = options.client; + this.logger = options.logger; + this.concurrency = options.concurrency ?? 1; + this.refreshAfterIndex = options.refreshAfterIndex ?? false; + this.version = options.version; + } + + async clean() { + this.logger.info(`Cleaning APM data streams ${DATA_STREAMS.join(', ')}`); + + for (const name of DATA_STREAMS) { + const dataStream = await this.client.indices.getDataStream({ name }, { ignore: [404] }); + if (dataStream.data_streams && dataStream.data_streams.length > 0) { + this.logger.debug(`Deleting datastream: ${name}`); + await this.client.indices.deleteDataStream({ name }); + } + } + } + + async updateComponentTemplate( + name: ComponentTemplateName, + modify: ( + template: ValuesType< + estypes.ClusterGetComponentTemplateResponse['component_templates'] + >['component_template']['template'] + ) => estypes.ClusterPutComponentTemplateRequest['template'] + ) { + const response = await this.client.cluster.getComponentTemplate({ + name, + }); + + const template = response.component_templates[0]; + + await this.client.cluster.putComponentTemplate({ + name, + template: { + ...modify(template.component_template.template), + }, + }); + + this.logger.info(`Updated component template: ${name}`); + } + + async refresh(dataStreams: string[] = DATA_STREAMS) { + this.logger.info(`Refreshing ${dataStreams.join(',')}`); + + return this.client.indices.refresh({ + index: dataStreams, + allow_no_indices: true, + ignore_unavailable: true, + }); + } + + getDefaultPipeline(includeSerialization: boolean = true) { + return (base: Readable) => { + const aggregators = [ + createTransactionMetricsAggregator('1m'), + createSpanMetricsAggregator('1m'), + ]; + + const serializationTransform = includeSerialization ? [getSerializeTransform()] : []; + + return pipeline( + // @ts-expect-error Some weird stuff here with the type definition for pipeline. We have tests! + base, + ...serializationTransform, + getIntakeDefaultsTransform(), + fork(new PassThrough({ objectMode: true }), ...aggregators), + createBreakdownMetricsAggregator('30s'), + getApmServerMetadataTransform(this.version), + getRoutingTransform(), + getDedotTransform(), + (err) => { + if (err) { + this.logger.error(err); + } + } + ); + }; + } + + pipeline(cb: (base: Readable) => NodeJS.WritableStream) { + this.pipelineCallback = cb; + } + + getVersion() { + return this.version; + } + + async index(streamOrGenerator: MaybeArray>) { + this.logger.debug(`Bulk indexing ${castArray(streamOrGenerator).length} stream(s)`); + + const allStreams = castArray(streamOrGenerator).map((obj) => { + const base = isGeneratorObject(obj) ? Readable.from(obj) : obj; + + return this.pipelineCallback(base); + }) as Transform[]; + + let count: number = 0; + + const stream = sequential(...allStreams); + + await this.client.helpers.bulk({ + concurrency: this.concurrency, + refresh: false, + refreshOnCompletion: false, + flushBytes: 250000, + datasource: stream, + filter_path: 'errors,items.*.error,items.*.status', + onDocument: (doc: ESDocumentWithOperation) => { + let action: SynthtraceESAction; + count++; + + if (count % 100000 === 0) { + this.logger.info(`Indexed ${count} documents`); + } else if (count % 1000 === 0) { + this.logger.debug(`Indexed ${count} documents`); + } + + if (doc._action) { + action = doc._action!; + delete doc._action; + } else if (doc._index) { + action = { create: { _index: doc._index } }; + delete doc._index; + } else { + this.logger.debug(doc); + throw new Error( + `Could not determine operation: _index and _action not defined in document` + ); + } + + return action; + }, + onDrop: (doc) => { + this.logger.error(`Dropped document: ${JSON.stringify(doc, null, 2)}`); + }, + }); + + this.logger.info(`Produced ${count} events`); + + if (this.refreshAfterIndex) { + await this.refresh(); + } + } +} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts index 133ec096370b9..7c990ede8d9ee 100644 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts @@ -10,94 +10,57 @@ import fetch from 'node-fetch'; import { Logger } from '../../utils/create_logger'; export class ApmSynthtraceKibanaClient { - constructor(private readonly logger: Logger) {} + private readonly logger: Logger; + private target: string; - async migrateCloudToManagedApm(cloudId: string, username: string, password: string) { - await this.logger.perf('migrate_apm_on_cloud', async () => { - this.logger.info('attempting to migrate cloud instance over to managed APM'); - const cloudUrls = Buffer.from(cloudId.split(':')[1], 'base64').toString().split('$'); - const kibanaCloudUrl = `https://${cloudUrls[2]}.${cloudUrls[0]}`; - const response = await fetch( - kibanaCloudUrl + '/internal/apm/fleet/cloud_apm_package_policy', - { - method: 'POST', // *GET, POST, PUT, DELETE, etc. - headers: { - Authorization: 'Basic ' + Buffer.from(username + ':' + password).toString('base64'), - Accept: 'application/json', - 'Content-Type': 'application/json', - 'kbn-xsrf': 'kibana', - }, - } - ); - const responseJson = await response.json(); - if (responseJson.message) { - this.logger.info(`Cloud Instance already migrated to managed APM: ${responseJson.message}`); - } - if (responseJson.cloudApmPackagePolicy) { - this.logger.info( - `Cloud Instance migrated to managed APM: ${responseJson.cloudApmPackagePolicy.package.version}` - ); - } - }); + constructor(options: { logger: Logger; target: string }) { + this.logger = options.logger; + this.target = options.target; } - async discoverLocalKibana() { - return await fetch('http://localhost:5601', { - method: 'HEAD', - follow: 1, - redirect: 'manual', - }).then((res) => { - const kibanaUrl = res.headers.get('location'); - this.logger.info(`Discovered local kibana running at: ${kibanaUrl}`); - return kibanaUrl; - }); - } - - async fetchLatestApmPackageVersion( - kibanaUrl: string, - version: string, - username: string, - password: string - ) { - const url = `${kibanaUrl}/api/fleet/epm/packages/apm`; - const response = await fetch(url, { + async fetchLatestApmPackageVersion() { + this.logger.debug(`Fetching latest APM package version`); + const fleetPackageApiUrl = `${this.target}/api/fleet/epm/packages/apm`; + const response = await fetch(fleetPackageApiUrl, { method: 'GET', - headers: kibanaHeaders(username, password), + headers: kibanaHeaders(), }); - const json = (await response.json()) as { item: { latestVersion: string } }; - const { latestVersion } = json.item; - return latestVersion; + + const responseJson = await response.json(); + + if (response.status !== 200) { + throw new Error( + `Failed to fetch latest APM package version, received HTTP ${response.status} and message: ${responseJson.message}` + ); + } + + const { latestVersion } = responseJson.item; + return latestVersion as string; } - async installApmPackage(kibanaUrl: string, version: string, username: string, password: string) { - const packageVersion = await this.fetchLatestApmPackageVersion( - kibanaUrl, - version, - username, - password - ); - const response = await fetch(`${kibanaUrl}/api/fleet/epm/packages/apm/${packageVersion}`, { + async installApmPackage(packageVersion: string) { + this.logger.debug(`Installing APM package ${packageVersion}`); + + const response = await fetch(`${this.target}/api/fleet/epm/packages/apm/${packageVersion}`, { method: 'POST', - headers: kibanaHeaders(username, password), + headers: kibanaHeaders(), body: '{"force":true}', }); const responseJson = await response.json(); - if (responseJson.statusCode) { - throw Error( - `unable to install apm package ${packageVersion}. Received status code: ${responseJson.statusCode} and message: ${responseJson.message}` + if (!responseJson.items) { + throw new Error( + `Failed to install APM package version ${packageVersion}, received HTTP ${response.status} and message: ${responseJson.message}` ); } - if (responseJson.items) { - this.logger.info(`Installed apm package ${packageVersion}`); - } else this.logger.error(responseJson); + + this.logger.info(`Installed APM package ${packageVersion}`); } } -function kibanaHeaders(username: string, password: string) { +function kibanaHeaders() { return { - Authorization: 'Basic ' + Buffer.from(username + ':' + password).toString('base64'), Accept: 'application/json', 'Content-Type': 'application/json', 'kbn-xsrf': 'kibana', diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/error.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/error.ts deleted file mode 100644 index a438c225939f7..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/error.ts +++ /dev/null @@ -1,513 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * errorEvent represents an error or a logged error message, captured by an APM agent in a monitored service. - */ -export interface Error { - /** - * Context holds arbitrary contextual information for the event. - */ - context?: null | { - /** - * Cloud holds fields related to the cloud or infrastructure the events are coming from. - */ - cloud?: null | { - /** - * Origin contains the self-nested field groups for cloud. - */ - origin?: null | { - /** - * The cloud account or organization id used to identify different entities in a multi-tenant environment. - */ - account?: null | { - /** - * The cloud account or organization id used to identify different entities in a multi-tenant environment. - */ - id?: null | string; - [k: string]: unknown; - }; - /** - * Name of the cloud provider. - */ - provider?: null | string; - /** - * Region in which this host, resource, or service is located. - */ - region?: null | string; - /** - * The cloud service name is intended to distinguish services running on different platforms within a provider. - */ - service?: null | { - /** - * The cloud service name is intended to distinguish services running on different platforms within a provider. - */ - name?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Custom can contain additional metadata to be stored with the event. The format is unspecified and can be deeply nested objects. The information will not be indexed or searchable in Elasticsearch. - */ - custom?: null | { - [k: string]: unknown; - }; - /** - * Message holds details related to message receiving and publishing if the captured event integrates with a messaging system - */ - message?: null | { - /** - * Age of the message. If the monitored messaging framework provides a timestamp for the message, agents may use it. Otherwise, the sending agent can add a timestamp in milliseconds since the Unix epoch to the message's metadata to be retrieved by the receiving agent. If a timestamp is not available, agents should omit this field. - */ - age?: null | { - /** - * Age of the message in milliseconds. - */ - ms?: null | number; - [k: string]: unknown; - }; - /** - * Body of the received message, similar to an HTTP request body - */ - body?: null | string; - /** - * Headers received with the message, similar to HTTP request headers. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * Queue holds information about the message queue where the message is received. - */ - queue?: null | { - /** - * Name holds the name of the message queue where the message is received. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * RoutingKey holds the optional routing key of the received message as set on the queuing system, such as in RabbitMQ. - */ - routing_key?: null | string; - [k: string]: unknown; - }; - /** - * Page holds information related to the current page and page referers. It is only sent from RUM agents. - */ - page?: null | { - /** - * Referer holds the URL of the page that 'linked' to the current page. - */ - referer?: null | string; - /** - * URL of the current page - */ - url?: null | string; - [k: string]: unknown; - }; - /** - * Request describes the HTTP request information in case the event was created as a result of an HTTP request. - */ - request?: null | { - /** - * Body only contais the request bod, not the query string information. It can either be a dictionary (for standard HTTP requests) or a raw request body. - */ - body?: - | null - | string - | { - [k: string]: unknown; - }; - /** - * Cookies used by the request, parsed as key-value objects. - */ - cookies?: null | { - [k: string]: unknown; - }; - /** - * Env holds environment variable information passed to the monitored service. - */ - env?: null | { - [k: string]: unknown; - }; - /** - * Headers includes any HTTP headers sent by the requester. Cookies will be taken by headers if supplied. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * HTTPVersion holds information about the used HTTP version. - */ - http_version?: null | string; - /** - * Method holds information about the method of the HTTP request. - */ - method: string; - /** - * Socket holds information related to the recorded request, such as whether or not data were encrypted and the remote address. - */ - socket?: null | { - /** - * Encrypted indicates whether a request was sent as TLS/HTTPS request. DEPRECATED: this field will be removed in a future release. - */ - encrypted?: null | boolean; - /** - * RemoteAddress holds the network address sending the request. It should be obtained through standard APIs and not be parsed from any headers like 'Forwarded'. - */ - remote_address?: null | string; - [k: string]: unknown; - }; - /** - * URL holds information sucha as the raw URL, scheme, host and path. - */ - url?: null | { - /** - * Full, possibly agent-assembled URL of the request, e.g. https://example.com:443/search?q=elasticsearch#top. - */ - full?: null | string; - /** - * Hash of the request URL, e.g. 'top' - */ - hash?: null | string; - /** - * Hostname information of the request, e.g. 'example.com'." - */ - hostname?: null | string; - /** - * Path of the request, e.g. '/search' - */ - pathname?: null | string; - /** - * Port of the request, e.g. '443'. Can be sent as string or int. - */ - port?: null | string | number; - /** - * Protocol information for the recorded request, e.g. 'https:'. - */ - protocol?: null | string; - /** - * Raw unparsed URL of the HTTP request line, e.g https://example.com:443/search?q=elasticsearch. This URL may be absolute or relative. For more details, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2. - */ - raw?: null | string; - /** - * Search contains the query string information of the request. It is expected to have values delimited by ampersands. - */ - search?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Response describes the HTTP response information in case the event was created as a result of an HTTP request. - */ - response?: null | { - /** - * DecodedBodySize holds the size of the decoded payload. - */ - decoded_body_size?: null | number; - /** - * EncodedBodySize holds the size of the encoded payload. - */ - encoded_body_size?: null | number; - /** - * Finished indicates whether the response was finished or not. - */ - finished?: null | boolean; - /** - * Headers holds the http headers sent in the http response. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * HeadersSent indicates whether http headers were sent. - */ - headers_sent?: null | boolean; - /** - * StatusCode sent in the http response. - */ - status_code?: null | number; - /** - * TransferSize holds the total size of the payload. - */ - transfer_size?: null | number; - [k: string]: unknown; - }; - /** - * Service related information can be sent per event. Information provided here will override the more generic information retrieved from metadata, missing service fields will be retrieved from the metadata information. - */ - service?: null | { - /** - * Agent holds information about the APM agent capturing the event. - */ - agent?: null | { - /** - * EphemeralID is a free format ID used for metrics correlation by agents - */ - ephemeral_id?: null | string; - /** - * Name of the APM agent capturing information. - */ - name?: null | string; - /** - * Version of the APM agent capturing information. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Environment in which the monitored service is running, e.g. `production` or `staging`. - */ - environment?: null | string; - /** - * Framework holds information about the framework used in the monitored service. - */ - framework?: null | { - /** - * Name of the used framework - */ - name?: null | string; - /** - * Version of the used framework - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * ID holds a unique identifier for the service. - */ - id?: null | string; - /** - * Language holds information about the programming language of the monitored service. - */ - language?: null | { - /** - * Name of the used programming language - */ - name?: null | string; - /** - * Version of the used programming language - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Name of the monitored service. - */ - name?: null | string; - /** - * Node must be a unique meaningful name of the service node. - */ - node?: null | { - /** - * Name of the service node - */ - configured_name?: null | string; - [k: string]: unknown; - }; - /** - * Origin contains the self-nested field groups for service. - */ - origin?: null | { - /** - * Immutable id of the service emitting this event. - */ - id?: null | string; - /** - * Immutable name of the service emitting this event. - */ - name?: null | string; - /** - * The version of the service the data was collected from. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Runtime holds information about the language runtime running the monitored service - */ - runtime?: null | { - /** - * Name of the language runtime - */ - name?: null | string; - /** - * Version of the language runtime - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Target holds information about the outgoing service in case of an outgoing event - */ - target?: ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - ( - | (( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - null) - | ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) - ); - /** - * Version of the monitored service. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Tags are a flat mapping of user-defined tags. On the agent side, tags are called labels. Allowed value types are string, boolean and number values. Tags are indexed and searchable. - */ - tags?: null | { - [k: string]: null | string | boolean | number; - }; - /** - * User holds information about the correlated user for this event. If user data are provided here, all user related information from metadata is ignored, otherwise the metadata's user information will be stored with the event. - */ - user?: null | { - /** - * Domain of the logged in user - */ - domain?: null | string; - /** - * Email of the user. - */ - email?: null | string; - /** - * ID identifies the logged in user, e.g. can be the primary key of the user - */ - id?: null | string | number; - /** - * Name of the user. - */ - username?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Culprit identifies the function call which was the primary perpetrator of this event. - */ - culprit?: null | string; - /** - * Exception holds information about the original error. The information is language specific. - */ - exception?: { message: string; type: string }; - /** - * ID holds the hex encoded 128 random bits ID of the event. - */ - id: string; - /** - * Log holds additional information added when the error is logged. - */ - log?: null | { - /** - * Level represents the severity of the recorded log. - */ - level?: null | string; - /** - * LoggerName holds the name of the used logger instance. - */ - logger_name?: null | string; - /** - * Message of the logged error. In case a parameterized message is captured, Message should contain the same information, but with any placeholders being replaced. - */ - message: string; - /** - * ParamMessage should contain the same information as Message, but with placeholders where parameters were logged, e.g. 'error connecting to %s'. The string is not interpreted, allowing differnt placeholders per client languange. The information might be used to group errors together. - */ - param_message?: null | string; - /** - * Stacktrace information of the captured error. - */ - stacktrace?: null | Array< - | { - classname: string; - [k: string]: unknown; - } - | { - filename: string; - [k: string]: unknown; - } - >; - }; - /** - * ParentID holds the hex encoded 64 random bits ID of the parent transaction or span. - */ - parent_id?: null | string; - /** - * Timestamp holds the recorded time of the event, UTC based and formatted as microseconds since Unix epoch. - */ - timestamp?: null | number; - /** - * TraceID holds the hex encoded 128 random bits ID of the correlated trace. - */ - trace_id?: null | string; - /** - * Transaction holds information about the correlated transaction. - */ - transaction?: null | { - /** - * Name is the generic designation of a transaction in the scope of a single service, eg: 'GET /users/:id'. - */ - name?: null | string; - /** - * Sampled indicates whether or not the full information for a transaction is captured. If a transaction is unsampled no spans and less context information will be reported. - */ - sampled?: null | boolean; - /** - * Type expresses the correlated transaction's type as keyword that has specific relevance within the service's domain, eg: 'request', 'backgroundjob'. - */ - type?: null | string; - }; - /** - * TransactionID holds the hex encoded 64 random bits ID of the correlated transaction. - */ - transaction_id?: null | string; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/metadata.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/metadata.ts deleted file mode 100644 index 551f1bc5e2b9a..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/metadata.ts +++ /dev/null @@ -1,312 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -export interface Metadata { - /** - * Cloud metadata about where the monitored service is running. - */ - cloud?: null | { - /** - * Account where the monitored service is running. - */ - account?: null | { - /** - * ID of the cloud account. - */ - id?: null | string; - /** - * Name of the cloud account. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * AvailabilityZone where the monitored service is running, e.g. us-east-1a - */ - availability_zone?: null | string; - /** - * Instance on which the monitored service is running. - */ - instance?: null | { - /** - * ID of the cloud instance. - */ - id?: null | string; - /** - * Name of the cloud instance. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * Machine on which the monitored service is running. - */ - machine?: null | { - /** - * ID of the cloud machine. - */ - type?: null | string; - [k: string]: unknown; - }; - /** - * Project in which the monitored service is running. - */ - project?: null | { - /** - * ID of the cloud project. - */ - id?: null | string; - /** - * Name of the cloud project. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * Provider that is used, e.g. aws, azure, gcp, digitalocean. - */ - provider: string; - /** - * Region where the monitored service is running, e.g. us-east-1 - */ - region?: null | string; - /** - * Service that is monitored on cloud - */ - service?: null | { - /** - * Name of the cloud service, intended to distinguish services running on different platforms within a provider, eg AWS EC2 vs Lambda, GCP GCE vs App Engine, Azure VM vs App Server. - */ - name?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Labels are a flat mapping of user-defined tags. Allowed value types are string, boolean and number values. Labels are indexed and searchable. - */ - labels?: null | { - [k: string]: null | string | boolean | number; - }; - /** - * Network holds information about the network over which the monitored service is communicating. - */ - network?: null | { - connection?: null | { - type?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Process metadata about the monitored service. - */ - process?: null | { - /** - * Argv holds the command line arguments used to start this process. - */ - argv?: null | string[]; - /** - * PID holds the process ID of the service. - */ - pid: number; - /** - * Ppid holds the parent process ID of the service. - */ - ppid?: null | number; - /** - * Title is the process title. It can be the same as process name. - */ - title?: null | string; - [k: string]: unknown; - }; - /** - * Service metadata about the monitored service. - */ - service: { - /** - * Agent holds information about the APM agent capturing the event. - */ - agent: { - /** - * EphemeralID is a free format ID used for metrics correlation by agents - */ - ephemeral_id?: null | string; - /** - * Name of the APM agent capturing information. - */ - name: string; - /** - * Version of the APM agent capturing information. - */ - version: string; - [k: string]: unknown; - }; - /** - * Environment in which the monitored service is running, e.g. `production` or `staging`. - */ - environment?: null | string; - /** - * Framework holds information about the framework used in the monitored service. - */ - framework?: null | { - /** - * Name of the used framework - */ - name?: null | string; - /** - * Version of the used framework - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * ID holds a unique identifier for the running service. - */ - id?: null | string; - /** - * Language holds information about the programming language of the monitored service. - */ - language?: null | { - /** - * Name of the used programming language - */ - name: string; - /** - * Version of the used programming language - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Name of the monitored service. - */ - name: string; - /** - * Node must be a unique meaningful name of the service node. - */ - node?: null | { - /** - * Name of the service node - */ - configured_name?: null | string; - [k: string]: unknown; - }; - /** - * Runtime holds information about the language runtime running the monitored service - */ - runtime?: null | { - /** - * Name of the language runtime - */ - name: string; - /** - * Name of the language runtime - */ - version: string; - [k: string]: unknown; - }; - /** - * Version of the monitored service. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * System metadata - */ - system?: null | { - /** - * Architecture of the system the monitored service is running on. - */ - architecture?: null | string; - /** - * ConfiguredHostname is the configured name of the host the monitored service is running on. It should only be sent when configured by the user. If given, it is used as the event's hostname. - */ - configured_hostname?: null | string; - /** - * Container holds the system's container ID if available. - */ - container?: null | { - /** - * ID of the container the monitored service is running in. - */ - id?: null | string; - [k: string]: unknown; - }; - /** - * DetectedHostname is the hostname detected by the APM agent. It usually contains what the hostname command returns on the host machine. It will be used as the event's hostname if ConfiguredHostname is not present. - */ - detected_hostname?: null | string; - /** - * Deprecated: Use ConfiguredHostname and DetectedHostname instead. DeprecatedHostname is the host name of the system the service is running on. It does not distinguish between configured and detected hostname and therefore is deprecated and only used if no other hostname information is available. - */ - hostname?: null | string; - /** - * Kubernetes system information if the monitored service runs on Kubernetes. - */ - kubernetes?: null | { - /** - * Namespace of the Kubernetes resource the monitored service is run on. - */ - namespace?: null | string; - /** - * Node related information - */ - node?: null | { - /** - * Name of the Kubernetes Node - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * Pod related information - */ - pod?: null | { - /** - * Name of the Kubernetes Pod - */ - name?: null | string; - /** - * UID is the system-generated string uniquely identifying the Pod. - */ - uid?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Platform name of the system platform the monitored service is running on. - */ - platform?: null | string; - [k: string]: unknown; - }; - /** - * User metadata, which can be overwritten on a per event basis. - */ - user?: null | { - /** - * Domain of the logged in user - */ - domain?: null | string; - /** - * Email of the user. - */ - email?: null | string; - /** - * ID identifies the logged in user, e.g. can be the primary key of the user - */ - id?: null | string | number; - /** - * Name of the user. - */ - username?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/span.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/span.ts deleted file mode 100644 index f749febe37fec..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/span.ts +++ /dev/null @@ -1,453 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export interface Span { - kind: 'span'; - /** - * Action holds the specific kind of event within the sub-type represented by the span (e.g. query, connect) - */ - action?: null | string; - /** - * ChildIDs holds a list of successor transactions and/or spans. - */ - child_ids?: null | string[]; - /** - * Composite holds details on a group of spans represented by a single one. - */ - composite?: null | { - /** - * A string value indicating which compression strategy was used. The valid values are `exact_match` and `same_kind`. - */ - compression_strategy: string; - /** - * Count is the number of compressed spans the composite span represents. The minimum count is 2, as a composite span represents at least two spans. - */ - count: number; - /** - * Sum is the durations of all compressed spans this composite span represents in milliseconds. - */ - sum: number; - [k: string]: unknown; - }; - /** - * Context holds arbitrary contextual information for the event. - */ - context?: null | { - /** - * Database contains contextual data for database spans - */ - db?: null | { - /** - * Instance name of the database. - */ - instance?: null | string; - /** - * Link to the database server. - */ - link?: null | string; - /** - * RowsAffected shows the number of rows affected by the statement. - */ - rows_affected?: null | number; - /** - * Statement of the recorded database event, e.g. query. - */ - statement?: null | string; - /** - * Type of the recorded database event., e.g. sql, cassandra, hbase, redis. - */ - type?: null | string; - /** - * User is the username with which the database is accessed. - */ - user?: null | string; - [k: string]: unknown; - }; - /** - * Destination contains contextual data about the destination of spans - */ - destination?: null | { - /** - * Address is the destination network address: hostname (e.g. 'localhost'), FQDN (e.g. 'elastic.co'), IPv4 (e.g. '127.0.0.1') IPv6 (e.g. '::1') - */ - address?: null | string; - /** - * Port is the destination network port (e.g. 443) - */ - port?: null | number; - /** - * Service describes the destination service - */ - service?: null | { - /** - * Name is the identifier for the destination service, e.g. 'http://elastic.co', 'elasticsearch', 'rabbitmq' ( DEPRECATED: this field will be removed in a future release - */ - name?: null | string; - /** - * Resource identifies the destination service resource being operated on e.g. 'http://elastic.co:80', 'elasticsearch', 'rabbitmq/queue_name' DEPRECATED: this field will be removed in a future release - */ - resource: string; - /** - * Type of the destination service, e.g. db, elasticsearch. Should typically be the same as span.type. DEPRECATED: this field will be removed in a future release - */ - type?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * HTTP contains contextual information when the span concerns an HTTP request. - */ - http?: null | { - /** - * Method holds information about the method of the HTTP request. - */ - method?: null | string; - /** - * Response describes the HTTP response information in case the event was created as a result of an HTTP request. - */ - response?: null | { - /** - * DecodedBodySize holds the size of the decoded payload. - */ - decoded_body_size?: null | number; - /** - * EncodedBodySize holds the size of the encoded payload. - */ - encoded_body_size?: null | number; - /** - * Headers holds the http headers sent in the http response. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * StatusCode sent in the http response. - */ - status_code?: null | number; - /** - * TransferSize holds the total size of the payload. - */ - transfer_size?: null | number; - [k: string]: unknown; - }; - /** - * Deprecated: Use Response.StatusCode instead. StatusCode sent in the http response. - */ - status_code?: null | number; - /** - * URL is the raw url of the correlating HTTP request. - */ - url?: null | string; - [k: string]: unknown; - }; - /** - * Message holds details related to message receiving and publishing if the captured event integrates with a messaging system - */ - message?: null | { - /** - * Age of the message. If the monitored messaging framework provides a timestamp for the message, agents may use it. Otherwise, the sending agent can add a timestamp in milliseconds since the Unix epoch to the message's metadata to be retrieved by the receiving agent. If a timestamp is not available, agents should omit this field. - */ - age?: null | { - /** - * Age of the message in milliseconds. - */ - ms?: null | number; - [k: string]: unknown; - }; - /** - * Body of the received message, similar to an HTTP request body - */ - body?: null | string; - /** - * Headers received with the message, similar to HTTP request headers. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * Queue holds information about the message queue where the message is received. - */ - queue?: null | { - /** - * Name holds the name of the message queue where the message is received. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * RoutingKey holds the optional routing key of the received message as set on the queuing system, such as in RabbitMQ. - */ - routing_key?: null | string; - [k: string]: unknown; - }; - /** - * Service related information can be sent per span. Information provided here will override the more generic information retrieved from metadata, missing service fields will be retrieved from the metadata information. - */ - service?: null | { - /** - * Agent holds information about the APM agent capturing the event. - */ - agent?: null | { - /** - * EphemeralID is a free format ID used for metrics correlation by agents - */ - ephemeral_id?: null | string; - /** - * Name of the APM agent capturing information. - */ - name?: null | string; - /** - * Version of the APM agent capturing information. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Environment in which the monitored service is running, e.g. `production` or `staging`. - */ - environment?: null | string; - /** - * Framework holds information about the framework used in the monitored service. - */ - framework?: null | { - /** - * Name of the used framework - */ - name?: null | string; - /** - * Version of the used framework - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * ID holds a unique identifier for the service. - */ - id?: null | string; - /** - * Language holds information about the programming language of the monitored service. - */ - language?: null | { - /** - * Name of the used programming language - */ - name?: null | string; - /** - * Version of the used programming language - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Name of the monitored service. - */ - name?: null | string; - /** - * Node must be a unique meaningful name of the service node. - */ - node?: null | { - /** - * Name of the service node - */ - configured_name?: null | string; - [k: string]: unknown; - }; - /** - * Origin contains the self-nested field groups for service. - */ - origin?: null | { - /** - * Immutable id of the service emitting this event. - */ - id?: null | string; - /** - * Immutable name of the service emitting this event. - */ - name?: null | string; - /** - * The version of the service the data was collected from. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Runtime holds information about the language runtime running the monitored service - */ - runtime?: null | { - /** - * Name of the language runtime - */ - name?: null | string; - /** - * Version of the language runtime - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Target holds information about the outgoing service in case of an outgoing event - */ - target?: ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - ( - | (( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - null) - | ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) - ); - /** - * Version of the monitored service. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Tags are a flat mapping of user-defined tags. On the agent side, tags are called labels. Allowed value types are string, boolean and number values. Tags are indexed and searchable. - */ - tags?: null | { - [k: string]: null | string | boolean | number; - }; - [k: string]: unknown; - }; - /** - * Duration of the span in milliseconds. When the span is a composite one, duration is the gross duration, including "whitespace" in between spans. - */ - duration: number; - /** - * ID holds the hex encoded 64 random bits ID of the event. - */ - id: string; - /** - * Links holds links to other spans, potentially in other traces. - */ - links?: null | Array<{ - /** - * SpanID holds the ID of the linked span. - */ - span_id: string; - /** - * TraceID holds the ID of the linked span's trace. - */ - trace_id: string; - [k: string]: unknown; - }>; - /** - * Name is the generic designation of a span in the scope of a transaction. - */ - name: string; - /** - * OTel contains unmapped OpenTelemetry attributes. - */ - otel?: null | { - /** - * Attributes hold the unmapped OpenTelemetry attributes. - */ - attributes?: null | { - [k: string]: unknown; - }; - /** - * SpanKind holds the incoming OpenTelemetry span kind. - */ - span_kind?: null | string; - [k: string]: unknown; - }; - /** - * Outcome of the span: success, failure, or unknown. Outcome may be one of a limited set of permitted values describing the success or failure of the span. It can be used for calculating error rates for outgoing requests. - */ - outcome?: 'success' | 'failure' | 'unknown' | null; - /** - * ParentID holds the hex encoded 64 random bits ID of the parent transaction or span. - */ - parent_id: string; - /** - * SampleRate applied to the monitored service at the time where this span was recorded. - */ - sample_rate?: null | number; - /** - * Stacktrace connected to this span event. - */ - stacktrace?: null | Array< - | { - classname: string; - [k: string]: unknown; - } - | { - filename: string; - [k: string]: unknown; - } - >; - /** - * Describes the event used by the Mobile SDKs: ApplicationLifecycle, Breadcrumb, Crash, Application Opened. - */ - event?: null | { - name: string; - }; - /** - * Start is the offset relative to the transaction's timestamp identifying the start of the span, in milliseconds. - */ - start?: null | number; - /** - * Subtype is a further sub-division of the type (e.g. postgresql, elasticsearch) - */ - subtype?: null | string; - /** - * Sync indicates whether the span was executed synchronously or asynchronously. - */ - sync?: null | boolean; - /** - * Timestamp holds the recorded time of the event, UTC based and formatted as microseconds since Unix epoch - */ - timestamp?: null | number; - /** - * TraceID holds the hex encoded 128 random bits ID of the correlated trace. - */ - trace_id: string; - /** - * TransactionID holds the hex encoded 64 random bits ID of the correlated transaction. - */ - transaction_id?: null | string; - /** - * Type holds the span's type, and can have specific keywords within the service's domain (eg: 'request', 'backgroundjob', etc) - */ - type: string; - [k: string]: unknown; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/transaction.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/transaction.ts deleted file mode 100644 index 69588c95332b2..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/intake_v2/transaction.ts +++ /dev/null @@ -1,661 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export interface Transaction { - kind: 'transaction'; - /** - * Context holds arbitrary contextual information for the event. - */ - context?: null | { - /** - * Cloud holds fields related to the cloud or infrastructure the events are coming from. - */ - cloud?: null | { - /** - * Origin contains the self-nested field groups for cloud. - */ - origin?: null | { - /** - * The cloud account or organization id used to identify different entities in a multi-tenant environment. - */ - account?: null | { - /** - * The cloud account or organization id used to identify different entities in a multi-tenant environment. - */ - id?: null | string; - [k: string]: unknown; - }; - /** - * Name of the cloud provider. - */ - provider?: null | string; - /** - * Region in which this host, resource, or service is located. - */ - region?: null | string; - /** - * The cloud service name is intended to distinguish services running on different platforms within a provider. - */ - service?: null | { - /** - * The cloud service name is intended to distinguish services running on different platforms within a provider. - */ - name?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Custom can contain additional metadata to be stored with the event. The format is unspecified and can be deeply nested objects. The information will not be indexed or searchable in Elasticsearch. - */ - custom?: null | { - [k: string]: unknown; - }; - /** - * Message holds details related to message receiving and publishing if the captured event integrates with a messaging system - */ - message?: null | { - /** - * Age of the message. If the monitored messaging framework provides a timestamp for the message, agents may use it. Otherwise, the sending agent can add a timestamp in milliseconds since the Unix epoch to the message's metadata to be retrieved by the receiving agent. If a timestamp is not available, agents should omit this field. - */ - age?: null | { - /** - * Age of the message in milliseconds. - */ - ms?: null | number; - [k: string]: unknown; - }; - /** - * Body of the received message, similar to an HTTP request body - */ - body?: null | string; - /** - * Headers received with the message, similar to HTTP request headers. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * Queue holds information about the message queue where the message is received. - */ - queue?: null | { - /** - * Name holds the name of the message queue where the message is received. - */ - name?: null | string; - [k: string]: unknown; - }; - /** - * RoutingKey holds the optional routing key of the received message as set on the queuing system, such as in RabbitMQ. - */ - routing_key?: null | string; - [k: string]: unknown; - }; - /** - * Page holds information related to the current page and page referers. It is only sent from RUM agents. - */ - page?: null | { - /** - * Referer holds the URL of the page that 'linked' to the current page. - */ - referer?: null | string; - /** - * URL of the current page - */ - url?: null | string; - [k: string]: unknown; - }; - /** - * Request describes the HTTP request information in case the event was created as a result of an HTTP request. - */ - request?: null | { - /** - * Body only contais the request bod, not the query string information. It can either be a dictionary (for standard HTTP requests) or a raw request body. - */ - body?: - | null - | string - | { - [k: string]: unknown; - }; - /** - * Cookies used by the request, parsed as key-value objects. - */ - cookies?: null | { - [k: string]: unknown; - }; - /** - * Env holds environment variable information passed to the monitored service. - */ - env?: null | { - [k: string]: unknown; - }; - /** - * Headers includes any HTTP headers sent by the requester. Cookies will be taken by headers if supplied. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * HTTPVersion holds information about the used HTTP version. - */ - http_version?: null | string; - /** - * Method holds information about the method of the HTTP request. - */ - method: string; - /** - * Socket holds information related to the recorded request, such as whether or not data were encrypted and the remote address. - */ - socket?: null | { - /** - * Encrypted indicates whether a request was sent as TLS/HTTPS request. DEPRECATED: this field will be removed in a future release. - */ - encrypted?: null | boolean; - /** - * RemoteAddress holds the network address sending the request. It should be obtained through standard APIs and not be parsed from any headers like 'Forwarded'. - */ - remote_address?: null | string; - [k: string]: unknown; - }; - /** - * URL holds information sucha as the raw URL, scheme, host and path. - */ - url?: null | { - /** - * Full, possibly agent-assembled URL of the request, e.g. https://example.com:443/search?q=elasticsearch#top. - */ - full?: null | string; - /** - * Hash of the request URL, e.g. 'top' - */ - hash?: null | string; - /** - * Hostname information of the request, e.g. 'example.com'." - */ - hostname?: null | string; - /** - * Path of the request, e.g. '/search' - */ - pathname?: null | string; - /** - * Port of the request, e.g. '443'. Can be sent as string or int. - */ - port?: null | string | number; - /** - * Protocol information for the recorded request, e.g. 'https:'. - */ - protocol?: null | string; - /** - * Raw unparsed URL of the HTTP request line, e.g https://example.com:443/search?q=elasticsearch. This URL may be absolute or relative. For more details, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2. - */ - raw?: null | string; - /** - * Search contains the query string information of the request. It is expected to have values delimited by ampersands. - */ - search?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Response describes the HTTP response information in case the event was created as a result of an HTTP request. - */ - response?: null | { - /** - * DecodedBodySize holds the size of the decoded payload. - */ - decoded_body_size?: null | number; - /** - * EncodedBodySize holds the size of the encoded payload. - */ - encoded_body_size?: null | number; - /** - * Finished indicates whether the response was finished or not. - */ - finished?: null | boolean; - /** - * Headers holds the http headers sent in the http response. - */ - headers?: null | { - /** - * This interface was referenced by `undefined`'s JSON-Schema definition - * via the `patternProperty` "[.*]*$". - */ - [k: string]: null | string[] | string; - }; - /** - * HeadersSent indicates whether http headers were sent. - */ - headers_sent?: null | boolean; - /** - * StatusCode sent in the http response. - */ - status_code?: null | number; - /** - * TransferSize holds the total size of the payload. - */ - transfer_size?: null | number; - [k: string]: unknown; - }; - /** - * Service related information can be sent per event. Information provided here will override the more generic information retrieved from metadata, missing service fields will be retrieved from the metadata information. - */ - service?: null | { - /** - * Agent holds information about the APM agent capturing the event. - */ - agent?: null | { - /** - * EphemeralID is a free format ID used for metrics correlation by agents - */ - ephemeral_id?: null | string; - /** - * Name of the APM agent capturing information. - */ - name?: null | string; - /** - * Version of the APM agent capturing information. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Environment in which the monitored service is running, e.g. `production` or `staging`. - */ - environment?: null | string; - /** - * Framework holds information about the framework used in the monitored service. - */ - framework?: null | { - /** - * Name of the used framework - */ - name?: null | string; - /** - * Version of the used framework - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * ID holds a unique identifier for the service. - */ - id?: null | string; - /** - * Language holds information about the programming language of the monitored service. - */ - language?: null | { - /** - * Name of the used programming language - */ - name?: null | string; - /** - * Version of the used programming language - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Name of the monitored service. - */ - name?: null | string; - /** - * Node must be a unique meaningful name of the service node. - */ - node?: null | { - /** - * Name of the service node - */ - configured_name?: null | string; - [k: string]: unknown; - }; - /** - * Origin contains the self-nested field groups for service. - */ - origin?: null | { - /** - * Immutable id of the service emitting this event. - */ - id?: null | string; - /** - * Immutable name of the service emitting this event. - */ - name?: null | string; - /** - * The version of the service the data was collected from. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Runtime holds information about the language runtime running the monitored service - */ - runtime?: null | { - /** - * Name of the language runtime - */ - name?: null | string; - /** - * Version of the language runtime - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Target holds information about the outgoing service in case of an outgoing event - */ - target?: ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - ( - | (( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) & - null) - | ( - | { - type: string; - [k: string]: unknown; - } - | { - name: string; - [k: string]: unknown; - } - ) - ); - /** - * Version of the monitored service. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * Tags are a flat mapping of user-defined tags. On the agent side, tags are called labels. Allowed value types are string, boolean and number values. Tags are indexed and searchable. - */ - tags?: null | { - [k: string]: null | string | boolean | number; - }; - /** - * User holds information about the correlated user for this event. If user data are provided here, all user related information from metadata is ignored, otherwise the metadata's user information will be stored with the event. - */ - user?: null | { - /** - * Domain of the logged in user - */ - domain?: null | string; - /** - * Email of the user. - */ - email?: null | string; - /** - * ID identifies the logged in user, e.g. can be the primary key of the user - */ - id?: null | string | number; - /** - * Name of the user. - */ - username?: null | string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * DroppedSpanStats holds information about spans that were dropped (for example due to transaction_max_spans or exit_span_min_duration). - */ - dropped_spans_stats?: null | Array<{ - /** - * DestinationServiceResource identifies the destination service resource being operated on. e.g. 'http://elastic.co:80', 'elasticsearch', 'rabbitmq/queue_name'. - */ - destination_service_resource?: null | string; - /** - * Duration holds duration aggregations about the dropped span. - */ - duration?: null | { - /** - * Count holds the number of times the dropped span happened. - */ - count?: null | number; - /** - * Sum holds dimensions about the dropped span's duration. - */ - sum?: null | { - /** - * Us represents the summation of the span duration. - */ - us?: null | number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Outcome of the span: success, failure, or unknown. Outcome may be one of a limited set of permitted values describing the success or failure of the span. It can be used for calculating error rates for outgoing requests. - */ - outcome?: 'success' | 'failure' | 'unknown' | null; - /** - * ServiceTargetName identifies the instance name of the target service being operated on - */ - service_target_name?: null | string; - /** - * ServiceTargetType identifies the type of the target service being operated on e.g. 'oracle', 'rabbitmq' - */ - service_target_type?: null | string; - [k: string]: unknown; - }>; - /** - * Duration how long the transaction took to complete, in milliseconds with 3 decimal points. - */ - duration: number; - /** - * UserExperience holds metrics for measuring real user experience. This information is only sent by RUM agents. - */ - experience?: null | { - /** - * CumulativeLayoutShift holds the Cumulative Layout Shift (CLS) metric value, or a negative value if CLS is unknown. See https://web.dev/cls/ - */ - cls?: null | number; - /** - * FirstInputDelay holds the First Input Delay (FID) metric value, or a negative value if FID is unknown. See https://web.dev/fid/ - */ - fid?: null | number; - /** - * Longtask holds longtask duration/count metrics. - */ - longtask?: null | { - /** - * Count is the total number of of longtasks. - */ - count: number; - /** - * Max longtask duration - */ - max: number; - /** - * Sum of longtask durations - */ - sum: number; - [k: string]: unknown; - }; - /** - * TotalBlockingTime holds the Total Blocking Time (TBT) metric value, or a negative value if TBT is unknown. See https://web.dev/tbt/ - */ - tbt?: null | number; - [k: string]: unknown; - }; - /** - * FAAS holds fields related to Function as a Service events. - */ - faas?: null | { - /** - * Indicates whether a function invocation was a cold start or not. - */ - coldstart?: null | boolean; - /** - * The request id of the function invocation. - */ - execution?: null | string; - /** - * A unique identifier of the invoked serverless function. - */ - id?: null | string; - /** - * The lambda function name. - */ - name?: null | string; - /** - * Trigger attributes. - */ - trigger?: null | { - /** - * The id of the origin trigger request. - */ - request_id?: null | string; - /** - * The trigger type. - */ - type?: null | string; - [k: string]: unknown; - }; - /** - * The lambda function version. - */ - version?: null | string; - [k: string]: unknown; - }; - /** - * ID holds the hex encoded 64 random bits ID of the event. - */ - id: string; - /** - * Links holds links to other spans, potentially in other traces. - */ - links?: null | Array<{ - /** - * SpanID holds the ID of the linked span. - */ - span_id: string; - /** - * TraceID holds the ID of the linked span's trace. - */ - trace_id: string; - [k: string]: unknown; - }>; - /** - * Marks capture the timing of a significant event during the lifetime of a transaction. Marks are organized into groups and can be set by the user or the agent. Marks are only reported by RUM agents. - */ - marks?: null | { - [k: string]: null | { - [k: string]: null | number; - }; - }; - /** - * Name is the generic designation of a transaction in the scope of a single service, eg: 'GET /users/:id'. - */ - name?: null | string; - /** - * OTel contains unmapped OpenTelemetry attributes. - */ - otel?: null | { - /** - * Attributes hold the unmapped OpenTelemetry attributes. - */ - attributes?: null | { - [k: string]: unknown; - }; - /** - * SpanKind holds the incoming OpenTelemetry span kind. - */ - span_kind?: null | string; - [k: string]: unknown; - }; - /** - * Outcome of the transaction with a limited set of permitted values, describing the success or failure of the transaction from the service's perspective. It is used for calculating error rates for incoming requests. Permitted values: success, failure, unknown. - */ - outcome?: 'success' | 'failure' | 'unknown' | null; - /** - * ParentID holds the hex encoded 64 random bits ID of the parent transaction or span. - */ - parent_id?: null | string; - /** - * Result of the transaction. For HTTP-related transactions, this should be the status code formatted like 'HTTP 2xx'. - */ - result?: null | string; - /** - * SampleRate applied to the monitored service at the time where this transaction was recorded. Allowed values are [0..1]. A SampleRate <1 indicates that not all spans are recorded. - */ - sample_rate?: null | number; - /** - * Sampled indicates whether or not the full information for a transaction is captured. If a transaction is unsampled no spans and less context information will be reported. - */ - sampled?: null | boolean; - /** - * Session holds optional transaction session information for RUM. - */ - session?: null | { - /** - * ID holds a session ID for grouping a set of related transactions. - */ - id: string; - /** - * Sequence holds an optional sequence number for a transaction within a session. It is not meaningful to compare sequences across two different sessions. - */ - sequence?: null | number; - [k: string]: unknown; - }; - /** - * SpanCount counts correlated spans. - */ - span_count: { - /** - * Dropped is the number of correlated spans that have been dropped by the APM agent recording the transaction. - */ - dropped?: null | number; - /** - * Started is the number of correlated spans that are recorded. - */ - started: number; - [k: string]: unknown; - }; - /** - * Timestamp holds the recorded time of the event, UTC based and formatted as microseconds since Unix epoch - */ - timestamp?: null | number; - /** - * TraceID holds the hex encoded 128 random bits ID of the correlated trace. - */ - trace_id: string; - /** - * Type expresses the transaction's type as keyword that has specific relevance within the service's domain, eg: 'request', 'backgroundjob'. - */ - type: string; - [k: string]: unknown; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/index.ts b/packages/kbn-apm-synthtrace/src/lib/apm/index.ts deleted file mode 100644 index ae8b148b412a2..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import { service } from './service'; -import { mobileApp } from './mobile_app'; -import { browser } from './browser'; -import { serverlessFunction } from './serverless_function'; -import { getTransactionMetrics } from './processors/get_transaction_metrics'; -import { getSpanDestinationMetrics } from './processors/get_span_destination_metrics'; -import { getChromeUserAgentDefaults } from './defaults/get_chrome_user_agent_defaults'; -import { getBreakdownMetrics } from './processors/get_breakdown_metrics'; -import { getApmWriteTargets } from './utils/get_apm_write_targets'; -import { ApmSynthtraceEsClient } from './client/apm_synthtrace_es_client'; -import { ApmSynthtraceKibanaClient } from './client/apm_synthtrace_kibana_client'; - -import type { ApmException } from './apm_fields'; - -export const apm = { - service, - mobileApp, - browser, - getTransactionMetrics, - getSpanDestinationMetrics, - getChromeUserAgentDefaults, - getBreakdownMetrics, - getApmWriteTargets, - ApmSynthtraceEsClient, - ApmSynthtraceKibanaClient, - serverlessFunction, -}; - -export type { ApmSynthtraceEsClient, ApmException }; diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_breakdown_metrics.ts b/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_breakdown_metrics.ts deleted file mode 100644 index 26a908bd085ab..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_breakdown_metrics.ts +++ /dev/null @@ -1,148 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import objectHash from 'object-hash'; -import { groupBy, pickBy } from 'lodash'; -import { ApmFields } from '../apm_fields'; -import { createPicker } from '../utils/create_picker'; - -const instanceFields = [ - 'container.*', - 'kubernetes.*', - 'agent.*', - 'process.*', - 'cloud.*', - 'service.*', - 'host.*', -]; - -const instancePicker = createPicker(instanceFields); - -const metricsetPicker = createPicker([ - 'transaction.type', - 'transaction.name', - 'span.type', - 'span.subtype', -]); - -export function getBreakdownMetrics(events: ApmFields[]) { - const txWithSpans = groupBy( - events.filter( - (event) => event['processor.event'] === 'span' || event['processor.event'] === 'transaction' - ), - (event) => event['transaction.id'] - ); - - const metricsets: Map = new Map(); - - Object.keys(txWithSpans).forEach((transactionId) => { - const txEvents = txWithSpans[transactionId]; - const transaction = txEvents.find((event) => event['processor.event'] === 'transaction'); - if (transaction === undefined) { - return; - } - - const eventsById: Record = {}; - const activityByParentId: Record> = {}; - for (const event of txEvents) { - const id = - event['processor.event'] === 'transaction' ? event['transaction.id'] : event['span.id']; - eventsById[id!] = event; - - const parentId = event['parent.id']; - - if (!parentId) { - continue; - } - - if (!activityByParentId[parentId]) { - activityByParentId[parentId] = []; - } - - const from = event['@timestamp']! * 1000; - const to = - from + - (event['processor.event'] === 'transaction' - ? event['transaction.duration.us']! - : event['span.duration.us']!); - - activityByParentId[parentId].push({ from, to }); - } - - // eslint-disable-next-line guard-for-in - for (const id in eventsById) { - const event = eventsById[id]; - const activities = activityByParentId[id] || []; - - const timeStart = event['@timestamp']! * 1000; - - let selfTime = 0; - let lastMeasurement = timeStart; - const changeTimestamps = [ - ...new Set([ - timeStart, - ...activities.flatMap((activity) => [activity.from, activity.to]), - timeStart + - (event['processor.event'] === 'transaction' - ? event['transaction.duration.us']! - : event['span.duration.us']!), - ]), - ]; - - for (const timestamp of changeTimestamps) { - const hasActiveChildren = activities.some( - (activity) => activity.from < timestamp && activity.to >= timestamp - ); - - if (!hasActiveChildren) { - selfTime += timestamp - lastMeasurement; - } - - lastMeasurement = timestamp; - } - - const instance = pickBy(event, instancePicker); - - const key = { - '@timestamp': event['@timestamp']! - (event['@timestamp']! % (30 * 1000)), - 'transaction.type': transaction['transaction.type'], - 'transaction.name': transaction['transaction.name'], - ...pickBy(event, metricsetPicker), - ...instance, - }; - - const metricsetId = objectHash(key); - - let metricset = metricsets.get(metricsetId); - - if (!metricset) { - metricset = { - ...key, - 'processor.event': 'metric', - 'processor.name': 'metric', - 'metricset.name': `span_breakdown`, - 'span.self_time.count': 0, - 'span.self_time.sum.us': 0, - }; - - if (event['processor.event'] === 'transaction') { - metricset['span.type'] = 'app'; - } else { - metricset['span.type'] = event['span.type']; - metricset['span.subtype'] = event['span.subtype']; - } - - metricsets.set(metricsetId, metricset); - } - - metricset['span.self_time.count']!++; - metricset['span.self_time.sum.us']! += selfTime; - } - }); - - return Array.from(metricsets.values()); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_span_destination_metrics.ts b/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_span_destination_metrics.ts deleted file mode 100644 index 793f57a1a778c..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_span_destination_metrics.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { ApmFields } from '../apm_fields'; -import { aggregate } from '../utils/aggregate'; - -export function getSpanDestinationMetrics(events: ApmFields[]) { - const exitSpans = events.filter((event) => !!event['span.destination.service.resource']); - - const metricsets = aggregate(exitSpans, [ - 'event.outcome', - 'agent.name', - 'service.environment', - 'service.name', - 'span.destination.service.resource', - 'span.name', - ]); - - return metricsets.map((metricset) => { - let count = 0; - let sum = 0; - - for (const event of metricset.events) { - count++; - sum += event['span.duration.us']!; - } - - return { - ...metricset.key, - ['metricset.name']: 'service_destination', - 'span.destination.service.response_time.sum.us': sum, - 'span.destination.service.response_time.count': count, - }; - }); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_transaction_metrics.ts b/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_transaction_metrics.ts deleted file mode 100644 index c5d8de7d42998..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/processors/get_transaction_metrics.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { sortBy } from 'lodash'; -import { ApmFields } from '../apm_fields'; -import { aggregate } from '../utils/aggregate'; - -function sortAndCompressHistogram(histogram?: { values: number[]; counts: number[] }) { - return sortBy(histogram?.values).reduce( - (prev, current) => { - const lastValue = prev.values[prev.values.length - 1]; - if (lastValue === current) { - prev.counts[prev.counts.length - 1]++; - return prev; - } - - prev.counts.push(1); - prev.values.push(current); - - return prev; - }, - { values: [] as number[], counts: [] as number[] } - ); -} - -export function getTransactionMetrics(events: ApmFields[]) { - const transactions = events - .filter((event) => event['processor.event'] === 'transaction') - .map((transaction) => { - return { - ...transaction, - ['transaction.root']: transaction['parent.id'] === undefined, - }; - }); - - const metricsets = aggregate(transactions, [ - 'trace.root', - 'transaction.root', - 'transaction.name', - 'transaction.type', - 'event.outcome', - 'transaction.result', - 'agent.name', - 'service.environment', - 'service.name', - 'service.version', - 'host.name', - 'container.id', - 'kubernetes.pod.name', - 'cloud.account.id', - 'cloud.account.name', - 'cloud.machine.type', - 'cloud.project.id', - 'cloud.project.name', - 'cloud.service.name', - 'service.language.name', - 'service.language.version', - 'service.runtime.name', - 'service.runtime.version', - 'host.os.platform', - 'faas.id', - 'faas.coldstart', - 'faas.trigger.type', - ]); - - return metricsets.map((metricset) => { - const histogram = { - values: [] as number[], - counts: [] as number[], - }; - - for (const transaction of metricset.events) { - histogram.counts.push(1); - histogram.values.push(Number(transaction['transaction.duration.us'])); - } - return { - ...metricset.key, - 'metricset.name': 'transaction', - 'transaction.duration.histogram': sortAndCompressHistogram(histogram), - _doc_count: metricset.events.length, - }; - }); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/span.ts b/packages/kbn-apm-synthtrace/src/lib/apm/span.ts deleted file mode 100644 index 71bd1afdf7f62..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/span.ts +++ /dev/null @@ -1,149 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import url from 'url'; -import { BaseSpan } from './base_span'; -import { generateShortId } from '../utils/generate_id'; -import { ApmFields, SpanParams } from './apm_fields'; - -export class Span extends BaseSpan { - constructor(fields: ApmFields) { - super({ - ...fields, - 'processor.event': 'span', - 'span.id': generateShortId(), - }); - } - - duration(duration: number) { - this.fields['span.duration.us'] = duration * 1000; - return this; - } - - destination(resource: string) { - this.fields['span.destination.service.resource'] = resource; - - return this; - } -} - -export type HttpMethod = 'GET' | 'POST' | 'DELETE' | 'PUT'; - -export function httpExitSpan({ - spanName, - destinationUrl, - method = 'GET', - statusCode = 200, -}: { - spanName: string; - destinationUrl: string; - method?: HttpMethod; - statusCode?: number; -}): SpanParams { - // origin: 'http://opbeans-go:3000', - // host: 'opbeans-go:3000', - // hostname: 'opbeans-go', - // port: '3000', - const destination = new url.URL(destinationUrl); - - const spanType = 'external'; - const spanSubtype = 'http'; - - return { - spanName, - spanType, - spanSubtype, - - // http - 'span.action': method, - 'http.request.method': method, - 'http.response.status_code': statusCode, - - // destination - 'destination.address': destination.hostname, - 'destination.port': parseInt(destination.port, 10), - 'service.target.name': destination.host, - 'span.destination.service.resource': destination.host, - }; -} - -export function dbExitSpan({ spanName, spanSubtype }: { spanName: string; spanSubtype?: string }) { - const spanType = 'db'; - - return { - spanName, - spanType, - spanSubtype, - 'service.target.type': spanSubtype, - 'span.destination.service.resource': spanSubtype, - }; -} - -export function elasticsearchSpan(spanName: string, statement?: string): SpanParams { - const spanType = 'db'; - const spanSubtype = 'elasticsearch'; - - return { - spanName, - spanType, - spanSubtype, - - ...(statement - ? { - 'span.db.statement': statement, - 'span.db.type': 'elasticsearch', - } - : {}), - - 'service.target.type': spanSubtype, - 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', - 'destination.port': 443, - 'span.destination.service.resource': spanSubtype, - }; -} - -export function sqliteSpan(spanName: string, statement?: string): SpanParams { - const spanType = 'db'; - const spanSubtype = 'sqlite'; - - return { - spanName, - spanType, - spanSubtype, - - ...(statement - ? { - 'span.db.statement': statement, - 'span.db.type': 'sql', - } - : {}), - - // destination - 'service.target.type': spanSubtype, - 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', - 'destination.port': 443, - 'span.destination.service.resource': spanSubtype, - }; -} - -export function redisSpan(spanName: string): SpanParams { - const spanType = 'db'; - const spanSubtype = 'redis'; - - return { - spanName, - spanType, - spanSubtype, - - // destination - 'service.target.type': spanSubtype, - 'destination.address': 'qwerty.us-west2.gcp.elastic-cloud.com', - 'destination.port': 443, - 'span.destination.service.resource': spanSubtype, - }; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/transaction.ts b/packages/kbn-apm-synthtrace/src/lib/apm/transaction.ts deleted file mode 100644 index 7ca376824b638..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/transaction.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { ApmError } from './apm_error'; -import { BaseSpan } from './base_span'; -import { generateShortId } from '../utils/generate_id'; -import { ApmFields } from './apm_fields'; - -export class Transaction extends BaseSpan { - private _sampled: boolean = true; - private readonly _errors: ApmError[] = []; - - constructor(fields: ApmFields) { - super({ - ...fields, - 'processor.event': 'transaction', - 'transaction.id': generateShortId(), - 'transaction.sampled': true, - }); - } - - parent(span: BaseSpan) { - super.parent(span); - - this._errors.forEach((error) => { - error.fields['trace.id'] = this.fields['trace.id']; - error.fields['transaction.id'] = this.fields['transaction.id']; - error.fields['transaction.type'] = this.fields['transaction.type']; - }); - - return this; - } - - errors(...errors: ApmError[]) { - errors.forEach((error) => { - error.fields['trace.id'] = this.fields['trace.id']; - error.fields['transaction.id'] = this.fields['transaction.id']; - error.fields['transaction.name'] = this.fields['transaction.name']; - error.fields['transaction.type'] = this.fields['transaction.type']; - }); - - this._errors.push(...errors); - - return this; - } - - duration(duration: number) { - this.fields['transaction.duration.us'] = duration * 1000; - return this; - } - - sample(sampled: boolean = true) { - this._sampled = sampled; - return this; - } - - serialize() { - const [transaction, ...spans] = super.serialize(); - - const errors = this._errors.flatMap((error) => error.serialize()); - - const events = [transaction]; - if (this._sampled) { - events.push(...spans); - } - - return events.concat(errors); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/utils/aggregate.ts b/packages/kbn-apm-synthtrace/src/lib/apm/utils/aggregate.ts deleted file mode 100644 index 0a57debc5922e..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/utils/aggregate.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import moment from 'moment'; -import { pickBy } from 'lodash'; -import objectHash from 'object-hash'; -import { ApmFields } from '../apm_fields'; -import { createPicker } from './create_picker'; - -export function aggregate(events: ApmFields[], fields: string[]) { - const picker = createPicker(fields); - - const metricsets = new Map(); - - function getMetricsetKey(span: ApmFields) { - const timestamp = moment(span['@timestamp']).valueOf(); - return { - '@timestamp': timestamp - (timestamp % (60 * 1000)), - ...pickBy(span, picker), - }; - } - - for (const event of events) { - const key = getMetricsetKey(event); - const id = objectHash(key); - - let metricset = metricsets.get(id); - if (!metricset) { - metricset = { - key: { ...key, 'processor.event': 'metric', 'processor.name': 'metric' }, - events: [], - }; - metricsets.set(id, metricset); - } - metricset.events.push(event); - } - - return Array.from(metricsets.values()); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/utils/create_picker.ts b/packages/kbn-apm-synthtrace/src/lib/apm/utils/create_picker.ts deleted file mode 100644 index 7fce23b6fc966..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/utils/create_picker.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -export function createPicker(fields: string[]) { - const wildcards = fields - .filter((field) => field.endsWith('.*')) - .map((field) => field.replace('*', '')); - - return (value: unknown, key: string) => { - return fields.includes(key) || wildcards.some((field) => key.startsWith(field)); - }; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/utils/get_apm_write_targets.ts b/packages/kbn-apm-synthtrace/src/lib/apm/utils/get_apm_write_targets.ts deleted file mode 100644 index 86b836da3a6b2..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/apm/utils/get_apm_write_targets.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Client } from '@elastic/elasticsearch'; - -export interface ApmElasticsearchOutputWriteTargets { - transaction: string; - span: string; - error: string; - metric: string; - app_metric: string; -} - -export async function getApmWriteTargets({ - client, - forceLegacyIndices, -}: { - client: Client; - forceLegacyIndices?: boolean; -}): Promise { - if (!forceLegacyIndices) { - return { - transaction: 'traces-apm-default', - span: 'traces-apm-default', - metric: 'metrics-apm.internal-default', - app_metric: 'metrics-apm.app-default', - error: 'logs-apm.error-default', - }; - } - - const [indicesResponse, datastreamsResponse] = await Promise.all([ - client.indices.getAlias({ - index: 'apm-*', - }), - client.indices.getDataStream({ - name: '*apm', - }), - ]); - - function getDataStreamName(filter: string) { - return datastreamsResponse.data_streams.find((stream) => stream.name.includes(filter))?.name; - } - - function getAlias(filter: string) { - return Object.keys(indicesResponse) - .map((key) => { - return { - key, - writeIndexAlias: Object.entries(indicesResponse[key].aliases).find( - ([_, alias]) => alias.is_write_index - )?.[0], - }; - }) - .find(({ key, writeIndexAlias }) => writeIndexAlias && key.includes(filter)) - ?.writeIndexAlias!; - } - const metricsTarget = getDataStreamName('metrics-apm') || getAlias('-metric'); - const targets = { - transaction: getDataStreamName('traces-apm') || getAlias('-transaction'), - span: getDataStreamName('traces-apm') || getAlias('-span'), - metric: metricsTarget, - app_metric: metricsTarget, - error: getDataStreamName('logs-apm') || getAlias('-error'), - }; - - if (!targets.transaction || !targets.span || !targets.metric || !targets.error) { - throw new Error('Write targets could not be determined'); - } - - return targets; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/entity_generator.ts b/packages/kbn-apm-synthtrace/src/lib/entity_generator.ts deleted file mode 100644 index 08263ab152432..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/entity_generator.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Interval } from './interval'; -import { EntityStreams } from './entity_streams'; -import { EntityIterable } from './entity_iterable'; -import { Serializable } from './serializable'; - -export class EntityGenerator implements EntityIterable { - private readonly _gen: () => Generator>; - constructor( - private readonly interval: Interval, - dataGenerator: (interval: Interval) => Generator> - ) { - this._order = interval.from > interval.to ? 'desc' : 'asc'; - - const generator = dataGenerator(this.interval); - const peek = generator.next(); - const value = peek.value; - - let callCount = 0; - this._gen = function* () { - if (callCount === 0) { - callCount++; - yield value; - yield* generator; - } else { - yield* dataGenerator(this.interval); - } - }; - - const peekedNumberOfEvents = peek.done ? 0 : peek.value.serialize().length; - this._ratePerMinute = interval.estimatedRatePerMinute() * peekedNumberOfEvents; - } - - private readonly _order: 'desc' | 'asc'; - order() { - return this._order; - } - - toArray(): TField[] { - return Array.from(this); - } - - merge(...iterables: Array>): EntityStreams { - return new EntityStreams([this, ...iterables]); - } - - private readonly _ratePerMinute: number; - estimatedRatePerMinute() { - return this._ratePerMinute; - } - - *[Symbol.iterator]() { - for (const span of this._gen()) { - for (const fields of span.serialize()) { - yield fields; - } - } - } - - async *[Symbol.asyncIterator]() { - for (const span of this._gen()) { - for (const fields of span.serialize()) { - yield fields; - } - } - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts b/packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts deleted file mode 100644 index 77b18e57345db..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/entity_iterable.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { ApmFields } from './apm/apm_fields'; -import { EntityStreams } from './entity_streams'; -import { Fields } from './entity'; - -export interface EntityIterable - extends Iterable, - AsyncIterable { - order(): 'desc' | 'asc'; - - estimatedRatePerMinute(): number; - - toArray(): ApmFields[]; - - merge(...iterables: Array>): EntityStreams; -} - -export class EntityArrayIterable - implements EntityIterable -{ - constructor(private fields: TFields[]) { - const timestamps = fields.filter((f) => f['@timestamp']).map((f) => f['@timestamp']!); - this._order = timestamps.length > 1 ? (timestamps[0] > timestamps[1] ? 'desc' : 'asc') : 'asc'; - const sorted = timestamps.sort(); - const [first, last] = [sorted[0], sorted.slice(-1)[0]]; - const numberOfMinutes = Math.ceil(Math.abs(last - first) / (1000 * 60)) % 60; - this._ratePerMinute = sorted.length / numberOfMinutes; - } - - private readonly _order: 'desc' | 'asc'; - order() { - return this._order; - } - - private readonly _ratePerMinute: number; - estimatedRatePerMinute() { - return this._ratePerMinute; - } - - async *[Symbol.asyncIterator](): AsyncIterator { - return this.fields[Symbol.iterator](); - } - - [Symbol.iterator](): Iterator { - return this.fields[Symbol.iterator](); - } - - merge(...iterables: Array>): EntityStreams { - return new EntityStreams([this, ...iterables]); - } - - toArray(): TFields[] { - return this.fields; - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/entity_streams.ts b/packages/kbn-apm-synthtrace/src/lib/entity_streams.ts deleted file mode 100644 index c706ef2065f28..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/entity_streams.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { EntityIterable } from './entity_iterable'; -import { merge } from './utils/merge_iterable'; - -export class EntityStreams implements EntityIterable { - constructor(private readonly dataGenerators: Array>) { - const orders = new Set<'desc' | 'asc'>(dataGenerators.map((d) => d.order())); - if (orders.size > 1) throw Error('Can only combine intervals with the same order()'); - this._order = orders.has('asc') ? 'asc' : 'desc'; - - this._ratePerMinute = dataGenerators - .map((d) => d.estimatedRatePerMinute()) - .reduce((a, b) => a + b, 0); - } - - private readonly _order: 'desc' | 'asc'; - order() { - return this._order; - } - - private readonly _ratePerMinute: number; - estimatedRatePerMinute() { - return this._ratePerMinute; - } - - toArray(): TFields[] { - return Array.from(this); - } - - merge(...iterables: Array>): EntityStreams { - return new EntityStreams([...this.dataGenerators, ...iterables]); - } - - *[Symbol.iterator](): Iterator { - const iterator = merge(this.dataGenerators); - for (const fields of iterator) { - yield fields; - } - } - - async *[Symbol.asyncIterator](): AsyncIterator { - const iterator = merge(this.dataGenerators); - for await (const fields of iterator) { - yield fields; - } - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/interval.ts b/packages/kbn-apm-synthtrace/src/lib/interval.ts deleted file mode 100644 index a3fef71b79fda..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/interval.ts +++ /dev/null @@ -1,122 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import moment, { unitOfTime } from 'moment'; -import { random } from 'lodash'; -import { EntityIterable } from './entity_iterable'; -import { EntityGenerator } from './entity_generator'; -import { Serializable } from './serializable'; - -export function parseInterval(interval: string): { - intervalAmount: number; - intervalUnit: unitOfTime.DurationConstructor; -} { - const args = interval.match(/(\d+)(s|m|h|d)/); - if (!args || args.length < 3) { - throw new Error('Failed to parse interval'); - } - return { - intervalAmount: Number(args[1]), - intervalUnit: args[2] as unitOfTime.DurationConstructor, - }; -} - -export interface IntervalOptions { - from: Date; - to: Date; - interval: string; - yieldRate?: number; - - intervalUpper?: number; - rateUpper?: number; -} - -export class Interval implements Iterable { - constructor(public readonly options: IntervalOptions) { - const { intervalAmount, intervalUnit } = parseInterval(options.interval); - this.intervalAmount = intervalAmount; - this.intervalUnit = intervalUnit; - this.from = this.options.from; - this.to = this.options.to; - } - public readonly from: Date; - public readonly to: Date; - - private readonly intervalAmount: number; - private readonly intervalUnit: unitOfTime.DurationConstructor; - generator( - map: (timestamp: number, index?: number) => Serializable | Array> - ): EntityIterable { - return new EntityGenerator(this, function* (i) { - let index = 0; - for (const x of i) { - const data = map(x, index); - if (Array.isArray(data)) { - yield* data; - } else { - yield data; - } - index++; - } - }); - } - rate(rate: number): Interval { - return new Interval({ ...this.options, yieldRate: rate }); - } - - randomize(rateUpper: number, intervalUpper: number): Interval { - return new Interval({ ...this.options, intervalUpper, rateUpper }); - } - - estimatedRatePerMinute(): number { - const rate = this.options.rateUpper - ? Math.max(1, this.options.rateUpper) - : this.options.yieldRate ?? 1; - - const interval = this.options.intervalUpper ? this.options.intervalUpper : this.intervalAmount; - const first = moment(); - const last = moment(first).subtract(interval, this.intervalUnit); - const numberOfMinutes = - (Math.abs(last.toDate().getTime() - first.toDate().getTime()) / (1000 * 60)) % 60; - return rate / numberOfMinutes; - } - - private yieldRateTimestamps(timestamp: number) { - const rate = this.options.rateUpper - ? random(this.options.yieldRate ?? 1, Math.max(1, this.options.rateUpper)) - : this.options.yieldRate ?? 1; - return new Array(rate).fill(timestamp); - } - - private *_generate(): Iterable { - if (this.from > this.to) { - let now = this.from; - do { - yield* this.yieldRateTimestamps(now.getTime()); - const amount = this.interval(); - now = new Date(moment(now).subtract(amount, this.intervalUnit).valueOf()); - } while (now > this.to); - } else { - let now = this.from; - do { - yield* this.yieldRateTimestamps(now.getTime()); - const amount = this.interval(); - now = new Date(moment(now).add(amount, this.intervalUnit).valueOf()); - } while (now < this.to); - } - } - - private interval() { - return this.options.intervalUpper - ? random(this.intervalAmount, this.options.intervalUpper) - : this.intervalAmount; - } - - [Symbol.iterator]() { - return this._generate()[Symbol.iterator](); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster.ts deleted file mode 100644 index 7a665522abba4..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Entity } from '../entity'; -import { generateShortId } from '../utils/generate_id'; -import { Kibana } from './kibana'; -import { StackMonitoringFields } from './stack_monitoring_fields'; -import { ClusterStats } from './cluster_stats'; - -export class Cluster extends Entity { - kibana(name: string, index: string = '.kibana') { - return new Kibana({ - cluster_uuid: this.fields.cluster_uuid, - 'kibana_stats.kibana.name': name, - 'kibana_stats.kibana.uuid': generateShortId(), - 'kibana_stats.kibana.index': index, - type: 'kibana_stats', - }); - } - - stats() { - return new ClusterStats({ - ...this.fields, - }); - } -} - -export function cluster(name: string) { - return new Cluster({ - cluster_name: name, - cluster_uuid: generateShortId(), - }); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster_stats.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster_stats.ts deleted file mode 100644 index 1505303e6b83c..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/cluster_stats.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Serializable } from '../serializable'; -import { StackMonitoringFields } from './stack_monitoring_fields'; - -export class ClusterStats extends Serializable { - constructor(fields: StackMonitoringFields) { - super(fields); - - this.fields.type = 'cluster_stats'; - this.fields['license.status'] = 'active'; - } - - timestamp(timestamp: number): this { - super.timestamp(timestamp); - this.fields['cluster_stats.timestamp'] = new Date(timestamp).toISOString(); - return this; - } - - indices(count: number): this { - this.fields['cluster_stats.indices.count'] = count; - return this; - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/index.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/index.ts deleted file mode 100644 index ee926269ea36b..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import { cluster } from './cluster'; - -export const stackMonitoring = { - cluster, -}; diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana.ts deleted file mode 100644 index fec244bc19dc1..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Serializable } from '../serializable'; -import { StackMonitoringFields } from './stack_monitoring_fields'; -import { KibanaStats } from './kibana_stats'; - -export class Kibana extends Serializable { - stats() { - return new KibanaStats({ - ...this.fields, - }); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana_stats.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana_stats.ts deleted file mode 100644 index 96df653119fd2..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/kibana_stats.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Serializable } from '../serializable'; -import { StackMonitoringFields } from './stack_monitoring_fields'; - -export class KibanaStats extends Serializable { - timestamp(timestamp: number): this { - this.fields['kibana_stats.timestamp'] = new Date(timestamp).toISOString(); - this.fields['kibana_stats.response_times.max'] = 250; - this.fields['kibana_stats.kibana.status'] = 'green'; - this.fields.timestamp = timestamp; - return this; - } - - requests(disconnects: number, total: number): this { - this.fields['kibana_stats.requests.disconnects'] = disconnects; - this.fields['kibana_stats.requests.total'] = total; - return this; - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/stack_monitoring_fields.ts b/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/stack_monitoring_fields.ts deleted file mode 100644 index 1d79b9b014110..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stack_monitoring/stack_monitoring_fields.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Fields } from '../entity'; - -export type StackMonitoringFields = Fields & - Partial<{ - cluster_name: string; - cluster_uuid: string; - type: string; - - 'cluster_stats.timestamp': string; - 'cluster_stats.indices.count': number; - 'license.status': string; - - 'kibana_stats.kibana.name': string; - 'kibana_stats.kibana.uuid': string; - 'kibana_stats.kibana.status': string; - 'kibana_stats.kibana.index': string; - 'kibana_stats.requests.disconnects': number; - 'kibana_stats.requests.total': number; - 'kibana_stats.timestamp': string; - 'kibana_stats.response_times.max': number; - timestamp: number; - }>; diff --git a/packages/kbn-apm-synthtrace/src/lib/stream_aggregator.ts b/packages/kbn-apm-synthtrace/src/lib/stream_aggregator.ts deleted file mode 100644 index 9715d44d174d5..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stream_aggregator.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import { Client } from '@elastic/elasticsearch'; -import { ApmFields, Fields } from '../..'; - -export interface StreamAggregator { - name: string; - - getWriteTarget(document: Record): string | null; - - process(event: TFields): Fields[] | null; - - flush(): Fields[]; - - bootstrapElasticsearch(esClient: Client): Promise; - - getDataStreamName(): string; - - getDimensions(): string[]; - - getMappings(): Record; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/stream_processor.ts b/packages/kbn-apm-synthtrace/src/lib/stream_processor.ts deleted file mode 100644 index 84f0dbb0a62bf..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/stream_processor.ts +++ /dev/null @@ -1,259 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import moment from 'moment'; -import { ApmFields } from './apm/apm_fields'; -import { EntityIterable } from './entity_iterable'; -import { getTransactionMetrics } from './apm/processors/get_transaction_metrics'; -import { getSpanDestinationMetrics } from './apm/processors/get_span_destination_metrics'; -import { getBreakdownMetrics } from './apm/processors/get_breakdown_metrics'; -import { parseInterval } from './interval'; -import { dedot } from './utils/dedot'; -import { ApmElasticsearchOutputWriteTargets } from './apm/utils/get_apm_write_targets'; -import { Logger } from './utils/create_logger'; -import { Fields } from './entity'; -import { StreamAggregator } from './stream_aggregator'; - -export interface StreamProcessorOptions { - version?: string; - processors?: Array<(events: TFields[]) => TFields[]>; - streamAggregators?: Array>; - flushInterval?: string; - // defaults to 10k - maxBufferSize?: number; - // the maximum source events to process, not the maximum documents outputted by the processor - maxSourceEvents?: number; - logger?: Logger; - name?: string; - // called everytime maxBufferSize is processed - processedCallback?: (processedDocuments: number) => void; -} - -export class StreamProcessor { - public static readonly apmProcessors = [ - getTransactionMetrics, - getSpanDestinationMetrics, - getBreakdownMetrics, - ]; - public static defaultFlushInterval: number = 10000; - private readonly processors: Array<(events: TFields[]) => TFields[]>; - private readonly streamAggregators: Array>; - - constructor(private readonly options: StreamProcessorOptions) { - const { intervalAmount, intervalUnit } = this.options.flushInterval - ? parseInterval(this.options.flushInterval) - : parseInterval('1m'); - this.intervalAmount = intervalAmount; - this.intervalUnit = intervalUnit; - this.name = this.options?.name ?? 'StreamProcessor'; - this.version = this.options.version ?? '8.0.0'; - this.versionMajor = Number.parseInt(this.version.split('.')[0], 10); - this.processors = options.processors ?? []; - this.streamAggregators = options.streamAggregators ?? []; - } - private readonly intervalAmount: number; - private readonly intervalUnit: any; - public readonly name: string; - public readonly version: string; - private readonly versionMajor: number; - - // TODO move away from chunking and feed this data one by one to processors - *stream(...eventSources: Array>): Generator { - const maxBufferSize = this.options.maxBufferSize ?? StreamProcessor.defaultFlushInterval; - const maxSourceEvents = this.options.maxSourceEvents; - let localBuffer = []; - let flushAfter: number | null = null; - let sourceEventsYielded = 0; - for (const eventSource of eventSources) { - const order = eventSource.order(); - this.options.logger?.debug(`order: ${order}`); - for (const event of eventSource) { - const eventDate = event['@timestamp'] as number; - localBuffer.push(event); - if (flushAfter === null && eventDate !== null) { - flushAfter = this.calculateFlushAfter(eventDate, order); - } - - yield StreamProcessor.enrich(event, this.version, this.versionMajor); - sourceEventsYielded++; - for (const aggregator of this.streamAggregators) { - const aggregatedEvents = aggregator.process(event); - if (aggregatedEvents) { - yield* aggregatedEvents.map((d) => - StreamProcessor.enrich(d, this.version, this.versionMajor) - ); - } - } - - if (sourceEventsYielded % maxBufferSize === 0) { - if (this.options?.processedCallback) { - this.options.processedCallback(maxBufferSize); - } - } - if (maxSourceEvents && sourceEventsYielded % maxBufferSize === 0) { - this.options.logger?.debug(`${this.name} yielded ${sourceEventsYielded} events`); - } - if (maxSourceEvents && sourceEventsYielded >= maxSourceEvents) { - // yielded the maximum source events, we still want the local buffer to generate derivative documents - break; - } - if ( - localBuffer.length === maxBufferSize || - (flushAfter != null && - ((order === 'asc' && eventDate > flushAfter) || - (order === 'desc' && eventDate < flushAfter))) - ) { - const e = new Date(eventDate).toISOString(); - const f = new Date(flushAfter!).toISOString(); - this.options.logger?.debug( - `${this.name} flush ${localBuffer.length} documents ${order}: ${e} => ${f}` - ); - for (const processor of this.processors) { - yield* processor(localBuffer).map((d) => - StreamProcessor.enrich(d, this.version, this.versionMajor) - ); - } - localBuffer = []; - flushAfter = this.calculateFlushAfter(flushAfter, order); - } - } - if (maxSourceEvents && sourceEventsYielded >= maxSourceEvents) { - this.options.logger?.info( - `${this.name} yielded maximum number of documents: ${maxSourceEvents}` - ); - break; - } - } - if (localBuffer.length > 0) { - this.options.logger?.info( - `${this.name} processing remaining buffer: ${localBuffer.length} items left` - ); - for (const processor of this.processors) { - yield* processor(localBuffer).map((d) => - StreamProcessor.enrich(d, this.version, this.versionMajor) - ); - } - this.options.processedCallback?.apply(this, [localBuffer.length]); - } - for (const aggregator of this.streamAggregators) { - yield* aggregator.flush(); - } - } - - private calculateFlushAfter(eventDate: number | null, order: 'asc' | 'desc') { - if (order === 'desc') { - return moment(eventDate).subtract(this.intervalAmount, this.intervalUnit).valueOf(); - } else { - return moment(eventDate).add(this.intervalAmount, this.intervalUnit).valueOf(); - } - } - - async *streamAsync(...eventSources: Array>): AsyncIterable { - yield* this.stream(...eventSources); - } - - *streamToDocument( - map: (d: ApmFields) => TDocument, - ...eventSources: Array> - ): Generator { - for (const apmFields of this.stream(...eventSources)) { - yield map(apmFields); - } - } - async *streamToDocumentAsync( - map: (d: ApmFields) => TDocument, - ...eventSources: Array> - ): AsyncIterable & AsyncIterator { - for await (const apmFields of this.stream(...eventSources)) { - yield map(apmFields); - } - } - streamToArray(...eventSources: Array>) { - return Array.from(this.stream(...eventSources)); - } - - private static enrich(document: ApmFields, version: string, versionMajor: number): ApmFields { - // see https://github.com/elastic/apm-server/issues/7088 can not be provided as flat key/values - document.observer = { - type: 'synthtrace', - version: version ?? '8.2.0', - version_major: versionMajor, - }; - document['service.node.name'] = - document['service.node.name'] || document['container.id'] || document['host.name']; - document['ecs.version'] = '1.4'; - - return document; - } - - toDocument(document: ApmFields): Record { - const newDoc: Record = {}; - if (!document.observer) { - document = StreamProcessor.enrich(document, this.version, this.versionMajor); - } - dedot(document, newDoc); - if (typeof newDoc['@timestamp'] === 'number') { - const timestamp = newDoc['@timestamp']; - newDoc['@timestamp'] = new Date(timestamp).toISOString(); - } - return newDoc; - } - - getDataStreamForEvent(d: Record, writeTargets: ApmElasticsearchOutputWriteTargets) { - if (!d.processor?.event) { - throw Error("'processor.event' is not set on document, can not determine target index"); - } - const eventType = d.processor.event as keyof ApmElasticsearchOutputWriteTargets; - let dataStream = writeTargets[eventType]; - if (eventType === 'metric') { - if (d.metricset?.name === 'agent_config') { - dataStream = 'metrics-apm.internal-default'; - } else if (!d.service?.name) { - dataStream = 'metrics-apm.app-default'; - } else { - if (!d.transaction && !d.span) { - dataStream = 'metrics-apm.app-default'; - } - } - } - for (const aggregator of this.streamAggregators) { - const target = aggregator.getWriteTarget(d); - if (target) { - dataStream = target; - break; - } - } - return dataStream; - } - - static getIndexForEvent( - d: Record, - writeTargets: ApmElasticsearchOutputWriteTargets - ) { - if (!d.processor?.event) { - throw Error("'processor.event' is not set on document, can not determine target index"); - } - - const eventType = d.processor.event as keyof ApmElasticsearchOutputWriteTargets; - return writeTargets[eventType]; - } -} - -export async function* streamProcessAsync( - processors: Array<(events: TFields[]) => TFields[]>, - ...eventSources: Array> -) { - return new StreamProcessor({ processors }).streamAsync(...eventSources); -} - -export function streamProcessToArray( - processors: Array<(events: TFields[]) => TFields[]>, - ...eventSources: Array> -) { - return new StreamProcessor({ processors }).streamToArray(...eventSources); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/timerange.ts b/packages/kbn-apm-synthtrace/src/lib/timerange.ts deleted file mode 100644 index 5658159fec8b9..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/timerange.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Interval } from './interval'; - -export class Timerange { - constructor(private from: Date, private to: Date) {} - - interval(interval: string) { - return new Interval({ from: this.from, to: this.to, interval }); - } - - ratePerMinute(rateInTpm: number) { - const intervalPerSecond = Math.max(1, 60 / rateInTpm); - - // rate per second - let interval = `${intervalPerSecond}s`; - let rate = (rateInTpm / 60) * intervalPerSecond; - - // rate per minute - if (!Number.isInteger(rate) || !Number.isInteger(intervalPerSecond)) { - interval = '1m'; - rate = rate * 60; - } - - return new Interval({ from: this.from, to: this.to, interval, yieldRate: rate }); - } -} - -export function timerange(from: Date | number, to: Date | number) { - return new Timerange( - from instanceof Date ? from : new Date(from), - to instanceof Date ? to : new Date(to) - ); -} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts b/packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts deleted file mode 100644 index 91b8e0084b27f..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/utils/clean_write_targets.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Client } from '@elastic/elasticsearch'; -import { Logger } from './create_logger'; - -export async function cleanWriteTargets({ - targets, - client, - logger, -}: { - targets: string[]; - client: Client; - logger: Logger; -}) { - logger.info(`Cleaning indices: ${targets.join(', ')}`); - - const response = await client.deleteByQuery({ - index: targets, - allow_no_indices: true, - conflicts: 'proceed', - refresh: true, - body: { - query: { - match_all: {}, - }, - }, - wait_for_completion: false, - }); - - const task = response.task; - - if (task) { - await new Promise((resolve, reject) => { - const pollForTaskCompletion = async () => { - const taskResponse = await client.tasks.get({ - task_id: String(task), - }); - - logger.debug( - `Polled for task:\n${JSON.stringify(taskResponse, ['completed', 'error'], 2)}` - ); - - if (taskResponse.completed) { - resolve(); - } else if (taskResponse.error) { - reject(taskResponse.error); - } else { - setTimeout(pollForTaskCompletion, 2500); - } - }; - - pollForTaskCompletion(); - }); - } -} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts b/packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts index 88d0d4af3a66b..66117af6572f9 100644 --- a/packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts +++ b/packages/kbn-apm-synthtrace/src/lib/utils/create_logger.ts @@ -6,9 +6,7 @@ * Side Public License, v 1. */ -function isPromise(val: any): val is Promise { - return val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'; -} +import { logPerf } from './log_perf'; export enum LogLevel { trace = 0, @@ -22,28 +20,9 @@ function getTimeString() { } export function createLogger(logLevel: LogLevel) { - function logPerf(name: string, start: bigint) { - // eslint-disable-next-line no-console - console.debug( - getTimeString(), - `${name}: ${Number(process.hrtime.bigint() - start) / 1000000}ms` - ); - } - return { - perf: (name: string, cb: () => T): T => { - if (logLevel <= LogLevel.trace) { - const start = process.hrtime.bigint(); - const val = cb(); - if (isPromise(val)) { - val.then(() => { - logPerf(name, start); - }); - } else { - logPerf(name, start); - } - return val; - } - return cb(); + const logger: Logger = { + perf: (name, callback) => { + return logPerf(logger, logLevel, name, callback); }, debug: (...args: any[]) => { if (logLevel <= LogLevel.debug) { @@ -64,6 +43,13 @@ export function createLogger(logLevel: LogLevel) { } }, }; + + return logger; } -export type Logger = ReturnType; +export interface Logger { + perf: (name: string, cb: () => T) => T; + debug: (...args: any[]) => void; + info: (...args: any[]) => void; + error: (...args: any[]) => void; +} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/create_lossless_histogram.ts b/packages/kbn-apm-synthtrace/src/lib/utils/create_lossless_histogram.ts new file mode 100644 index 0000000000000..805740e94c415 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/utils/create_lossless_histogram.ts @@ -0,0 +1,121 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { sortBy } from 'lodash'; +// @ts-expect-error +import Histogram from 'native-hdr-histogram'; + +const ONE_HOUR_IN_MICRO_SECONDS = 1000 * 1000 * 60 * 60; + +interface SerializedHistogram { + counts: number[]; + values: number[]; + total: number; + sum: number; +} + +const MAX_VALUES_TO_TRACK_LOSSLESS = 10; + +class LosslessHistogram { + private backingHistogram: any; + + private readonly min: number; + private readonly max: number; + + private readonly trackedValues: Map = new Map(); + + constructor(options?: { min?: number; max?: number }) { + const { min, max } = options ?? {}; + this.min = min ?? 1; + this.max = max ?? ONE_HOUR_IN_MICRO_SECONDS; + } + + private getBackingHistogram() { + if (this.backingHistogram) { + return this.backingHistogram; + } + + const histogram = new Histogram(this.min, this.max); + + this.backingHistogram = histogram; + + if (this.trackedValues.size > 0) { + this.trackedValues.forEach((count, value) => { + histogram.record(value, count); + }); + } + + return histogram; + } + + record(value: number) { + const countForValue = this.trackedValues.get(value); + if ( + this.backingHistogram || + (countForValue === undefined && this.trackedValues.size >= MAX_VALUES_TO_TRACK_LOSSLESS) + ) { + this.getBackingHistogram().record(value); + return; + } + + this.trackedValues.set(value, 1 + (countForValue ?? 0)); + } + + serialize(): SerializedHistogram { + if (this.backingHistogram) { + const minRecordedValue = this.backingHistogram.min(); + const maxRecordedValue = this.backingHistogram.max(); + + const distribution: Array<{ value: number; count: number }> = + this.backingHistogram.linearcounts(Math.max(1, (maxRecordedValue - minRecordedValue) / 50)); + + const values: number[] = []; + const counts: number[] = []; + + let sum: number = 0; + + for (const { value, count } of distribution) { + values.push(value); + counts.push(count); + sum += value * count; + } + + return { + values, + counts, + total: this.backingHistogram.totalCount, + sum, + }; + } + + const values: number[] = []; + const counts: number[] = []; + let total = 0; + let sum = 0; + + let sortedValues: Array<{ value: number; count: number }> = []; + + this.trackedValues.forEach((count, value) => { + sortedValues.push({ count, value }); + }); + + sortedValues = sortBy(sortedValues, ({ value }) => value); + + sortedValues.forEach(({ value, count }) => { + values.push(value); + counts.push(count); + total += count; + sum += value * count; + }); + + return { values, counts, total, sum }; + } +} + +export function createLosslessHistogram(options?: { min?: number; max?: number }) { + return new LosslessHistogram(options); +} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/create_metric_aggregator_factory.ts b/packages/kbn-apm-synthtrace/src/lib/utils/create_metric_aggregator_factory.ts new file mode 100644 index 0000000000000..1d93b880accbd --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/utils/create_metric_aggregator_factory.ts @@ -0,0 +1,115 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { appendHash, Fields, parseInterval } from '@kbn/apm-synthtrace-client'; +import moment from 'moment'; +import { Duplex, PassThrough } from 'stream'; + +export function createMetricAggregatorFactory() { + return function , TOutput extends Record>( + { + filter, + getAggregateKey, + init, + flushInterval, + }: { + filter: (event: TFields) => boolean; + getAggregateKey: (event: TFields) => string; + init: (event: TFields) => TMetric; + flushInterval: string; + }, + reduce: (metric: TMetric, event: TFields) => void, + serialize: (metric: TMetric) => TOutput + ) { + let cb: (() => void) | undefined; + + const metrics: Map = new Map(); + + const { intervalAmount, intervalUnit } = parseInterval(flushInterval); + + let nextFlush: number = Number.MIN_VALUE; + + const flushEveryMs = moment.duration(intervalAmount, intervalUnit).asMilliseconds(); + + let toFlush: TMetric[] = []; + + function flush(stream: Duplex, includeCurrentMetrics: boolean, callback?: () => void) { + const allItems = [...toFlush]; + + toFlush = []; + + if (includeCurrentMetrics) { + allItems.push(...metrics.values()); + metrics.clear(); + } + + while (allItems.length) { + const next = allItems.shift()!; + const serialized = serialize(next); + const shouldWriteNext = stream.push(serialized); + if (!shouldWriteNext) { + toFlush = allItems; + cb = callback; + return; + } + } + + const next = cb; + cb = undefined; + next?.(); + callback?.(); + } + + function getNextFlush(timestamp: number) { + return Math.ceil(timestamp / flushEveryMs) * flushEveryMs; + } + + return new PassThrough({ + objectMode: true, + read() { + flush(this, false, cb); + }, + final(callback) { + flush(this, true, callback); + }, + write(event: TFields, encoding, callback) { + if (!filter(event)) { + callback(); + return; + } + + const timestamp = event['@timestamp']!; + + function writeMetric() { + const truncatedTimestamp = Math.floor(timestamp / flushEveryMs) * flushEveryMs; + + const key = appendHash(getAggregateKey(event), truncatedTimestamp.toString()); + + let set = metrics.get(key); + + if (!set) { + set = init({ ...event }); + set['@timestamp'] = truncatedTimestamp; + metrics.set(key, set); + } + + reduce(set, event); + + callback(); + } + + if (timestamp > nextFlush) { + nextFlush = getNextFlush(timestamp); + flush(this, true, writeMetric); + } else { + writeMetric(); + } + }, + }); + }; +} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/log_perf.ts b/packages/kbn-apm-synthtrace/src/lib/utils/log_perf.ts new file mode 100644 index 0000000000000..85868adfaa6cb --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/utils/log_perf.ts @@ -0,0 +1,38 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Logger, LogLevel } from './create_logger'; + +function isPromise(val: any): val is Promise { + return val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'; +} + +function logTo(logger: Logger, name: string, start: bigint) { + logger.debug(`${name}: ${Number(process.hrtime.bigint() - start) / 1000000}ms`); +} + +export const logPerf = ( + logger: Logger, + logLevel: LogLevel, + name: string, + cb: () => T +): T => { + if (logLevel <= LogLevel.trace) { + const start = process.hrtime.bigint(); + const val = cb(); + if (isPromise(val)) { + val.finally(() => { + logTo(logger, name, start); + }); + } else { + logTo(logger, name, start); + } + return val; + } + return cb(); +}; diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/merge_iterable.ts b/packages/kbn-apm-synthtrace/src/lib/utils/merge_iterable.ts deleted file mode 100644 index ab48a99bea5ae..0000000000000 --- a/packages/kbn-apm-synthtrace/src/lib/utils/merge_iterable.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { range } from 'lodash'; -import { ApmFields } from '../apm/apm_fields'; -import { Fields } from '../entity'; -import { EntityIterable } from '../entity_iterable'; - -export function merge( - iterables: Array> -): Iterable { - if (iterables.length === 1) return iterables[0]; - - const iterators = iterables.map<{ it: Iterator; weight: number }>((i) => { - return { it: i[Symbol.iterator](), weight: Math.max(1, i.estimatedRatePerMinute()) }; - }); - let done = false; - const myIterable: Iterable = { - *[Symbol.iterator]() { - do { - const items = iterators.flatMap((i) => range(0, i.weight).map(() => i.it.next())); - done = items.every((item) => item.done); - if (!done) { - yield* items.filter((i) => !i.done).map((i) => i.value); - } - } while (!done); - // Done for the first time: close all iterators - for (const iterator of iterators) { - if (typeof iterator.it.return === 'function') { - iterator.it.return(); - } - } - }, - }; - return myIterable; -} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts b/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts new file mode 100644 index 0000000000000..669075120724b --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/utils/stream_utils.ts @@ -0,0 +1,66 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { eachSeries } from 'async'; +import MultiStream from 'multistream'; +import { Duplex, Readable, Transform } from 'stream'; + +export function sequential(...streams: Readable[]) { + return new MultiStream(streams, { objectMode: true }); +} + +export function fork(...streams: Transform[]): Duplex { + const proxy = new Transform({ + objectMode: true, + final(callback) { + eachSeries( + streams, + (stream, cb) => { + stream.end(cb); + }, + callback + ); + }, + transform(chunk, encoding, callback) { + eachSeries( + streams, + (stream, cb) => { + const shouldWriteNext = stream.write(chunk, cb); + if (!shouldWriteNext) { + stream.once('drain', cb); + } + }, + () => { + callback(); + } + ); + }, + }); + + streams.forEach((stream) => + stream.on('data', (chunk) => { + proxy.push(chunk); + }) + ); + + return proxy; +} + +export function createFilterTransform(filter: (chunk: any) => boolean): Transform { + const transform = new Transform({ + objectMode: true, + transform(event, encoding, callback) { + if (filter(event)) { + callback(null, event); + } else { + callback(null); + } + }, + }); + + return transform; +} diff --git a/packages/kbn-apm-synthtrace/src/lib/utils/wait_until_stream_finished.ts b/packages/kbn-apm-synthtrace/src/lib/utils/wait_until_stream_finished.ts new file mode 100644 index 0000000000000..b85c97d3cc464 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/lib/utils/wait_until_stream_finished.ts @@ -0,0 +1,26 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { promises } from 'stream'; + +export function awaitStream( + stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream +): Promise { + return new Promise((resolve, reject) => { + const data: T[] = []; + + stream.on('data', (chunk) => { + data.push(chunk); + }); + + promises + .finished(stream) + .then(() => resolve(data)) + .catch(reject); + }); +} diff --git a/packages/kbn-apm-synthtrace/src/scenarios/agent_config.ts b/packages/kbn-apm-synthtrace/src/scenarios/agent_config.ts index f3e321762aae0..7f72e27193756 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/agent_config.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/agent_config.ts @@ -5,21 +5,14 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - -import { observer, timerange } from '../..'; +import { observer, AgentConfigFields } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; -import { AgentConfigFields } from '../lib/agent_config/agent_config_fields'; - -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); +const scenario: Scenario = async ({ logger }) => { return { - generate: ({ from, to }) => { + generate: ({ range }) => { const agentConfig = observer().agentConfig(); - const range = timerange(from, to); return range .interval('30s') .rate(1) diff --git a/packages/kbn-apm-synthtrace/src/scenarios/aws_lambda.ts b/packages/kbn-apm-synthtrace/src/scenarios/aws_lambda.ts index b89b0b5ea5f16..9fcc546c31d3c 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/aws_lambda.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/aws_lambda.ts @@ -6,18 +6,16 @@ * Side Public License, v 1. */ -import { apm, timerange } from '../..'; +import { apm, ApmFields } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; import { RunOptions } from '../cli/utils/parse_run_cli_flags'; -import { ApmFields } from '../lib/apm/apm_fields'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); const scenario: Scenario = async (runOptions: RunOptions) => { return { - generate: ({ from, to }) => { - const range = timerange(from, to); + generate: ({ range }) => { const timestamps = range.ratePerMinute(180); const cloudFields: ApmFields = { diff --git a/packages/kbn-apm-synthtrace/src/scenarios/cloud_services_icons.ts b/packages/kbn-apm-synthtrace/src/scenarios/cloud_services_icons.ts index 8f246eb8a44b2..c4ee421dbab4a 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/cloud_services_icons.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/cloud_services_icons.ts @@ -6,25 +6,17 @@ * Side Public License, v 1. */ -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; -import { Instance } from '../lib/apm/instance'; +import { apm, ApmFields, Instance } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - - const { numServices = 3 } = runOptions.scenarioOpts || {}; +const scenario: Scenario = async ({ logger, scenarioOpts }) => { + const { numServices = 3 } = scenarioOpts || {}; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - + generate: ({ range }) => { const transactionName = 'Azure-AWS-Transaction'; const successfulTimestamps = range.ratePerMinute(60); @@ -184,9 +176,7 @@ const scenario: Scenario = async (runOptions: RunOptions) => { return successfulTraceEvents; }; - return instances - .map((instance) => logger.perf('generating_apm_events', () => instanceSpans(instance))) - .reduce((p, c) => p.merge(c)); + return logger.perf('generating_apm_events', () => instances.flatMap(instanceSpans)); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/continuous_rollups.ts b/packages/kbn-apm-synthtrace/src/scenarios/continuous_rollups.ts new file mode 100644 index 0000000000000..a3e32b1cea79c --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/scenarios/continuous_rollups.ts @@ -0,0 +1,189 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { merge, range as lodashRange } from 'lodash'; +import { PassThrough, pipeline, Transform } from 'stream'; +import { apm, ApmFields, ESDocumentWithOperation } from '@kbn/apm-synthtrace-client'; +import { Scenario } from '../cli/scenario'; +import { createServiceMetricsAggregator } from '../lib/apm/aggregators/create_service_metrics_aggregator'; +import { createTransactionMetricsAggregator } from '../lib/apm/aggregators/create_transaction_metrics_aggregator'; +import { ComponentTemplateName } from '../lib/apm/client/apm_synthtrace_es_client'; +import { getApmServerMetadataTransform } from '../lib/apm/client/apm_synthtrace_es_client/get_apm_server_metadata_transform'; +import { getDedotTransform } from '../lib/apm/client/apm_synthtrace_es_client/get_dedot_transform'; +import { getIntakeDefaultsTransform } from '../lib/apm/client/apm_synthtrace_es_client/get_intake_defaults_transform'; +import { getSerializeTransform } from '../lib/apm/client/apm_synthtrace_es_client/get_serialize_transform'; +import { fork } from '../lib/utils/stream_utils'; + +const scenario: Scenario = async ({ logger, scenarioOpts }) => { + const { + services: numServices = 25, + instances: numInstances = 10, + txGroups: numTxGroups = 25, + } = scenarioOpts ?? {}; + + return { + bootstrap: async ({ apmEsClient }) => { + await apmEsClient.updateComponentTemplate( + ComponentTemplateName.MetricsInternal, + (template) => { + const next = { + settings: { + index: { + number_of_shards: 8, + }, + }, + mappings: { + properties: { + event: { + properties: { + outcome_numeric: { + type: 'aggregate_metric_double', + metrics: ['sum', 'value_count'], + default_metric: 'sum', + }, + }, + }, + transaction: { + properties: { + duration: { + properties: { + summary: { + type: 'aggregate_metric_double', + metrics: ['min', 'max', 'sum', 'value_count'], + default_metric: 'max', + }, + }, + }, + }, + }, + metricset: { + properties: { + interval: { + type: 'constant_keyword' as const, + }, + }, + }, + }, + }, + }; + + return merge({}, template, next); + } + ); + + function withInterval(cb: (flushInterval: string) => Transform, flushInterval: string) { + const aggregator = cb(flushInterval); + + aggregator.pipe( + new PassThrough({ + objectMode: true, + write(metric: ApmFields, encoding, callback) { + metric['metricset.interval'] = flushInterval; + callback(); + }, + }) + ); + + return aggregator; + } + + const aggregators = [ + withInterval(createServiceMetricsAggregator, '1m'), + withInterval(createServiceMetricsAggregator, '10m'), + withInterval(createServiceMetricsAggregator, '60m'), + withInterval(createTransactionMetricsAggregator, '1m'), + withInterval(createTransactionMetricsAggregator, '10m'), + withInterval(createTransactionMetricsAggregator, '60m'), + ]; + + apmEsClient.pipeline((base) => { + return pipeline( + base, + getSerializeTransform(), + getIntakeDefaultsTransform(), + fork(...aggregators), + new Transform({ + objectMode: true, + transform(event: ESDocumentWithOperation, encoding, callback) { + const index = `metrics-apm.internal-${ + event['metricset.name'] === 'transaction' ? 'transaction' : 'service' + }.${event['metricset.interval']}`; + event._index = index; + callback(null, event); + }, + }), + getApmServerMetadataTransform(apmEsClient.getVersion()), + getDedotTransform(), + (err) => { + if (err) { + logger.error(err); + } + } + ); + }); + }, + generate: ({ range }) => { + const TRANSACTION_TYPES = ['request', 'custom']; + const ENVIRONMENTS = ['production', 'development']; + + const MIN_DURATION = 10; + const MAX_DURATION = 1000; + + const MAX_BUCKETS = 50; + + const BUCKET_SIZE = (MAX_DURATION - MIN_DURATION) / MAX_BUCKETS; + + const OUTCOMES = ['success' as const, 'failure' as const, 'unknown' as const]; + + const instances = lodashRange(0, numServices).flatMap((serviceId) => { + const serviceName = `service-${serviceId}`; + + const services = ENVIRONMENTS.map((env) => apm.service(serviceName, env, 'go')); + + return lodashRange(0, numInstances).flatMap((serviceNodeId) => + services.map((service) => service.instance(`${serviceName}-${serviceNodeId}`)) + ); + }); + + const transactionGroupRange = lodashRange(0, numTxGroups); + + return range + .interval('1m') + .rate(1) + .generator((timestamp, timestampIndex) => { + return logger.perf( + 'generate_events_for_timestamp ' + new Date(timestamp).toISOString(), + () => { + const events = instances.flatMap((instance) => + transactionGroupRange.flatMap((groupId, groupIndex) => + OUTCOMES.map((outcome) => { + const duration = Math.round( + (timestampIndex % MAX_BUCKETS) * BUCKET_SIZE + MIN_DURATION + ); + + return instance + .transaction( + `transaction-${groupId}`, + TRANSACTION_TYPES[groupIndex % TRANSACTION_TYPES.length] + ) + .timestamp(timestamp) + .duration(duration) + .outcome(outcome); + }) + ) + ); + + return events; + } + ); + }); + }, + }; +}; + +export default scenario; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts index 319534f821719..c47e10733fd5f 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts @@ -6,20 +6,17 @@ * Side Public License, v 1. */ -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; +import { apm, ApmFields, httpExitSpan } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; -import { httpExitSpan } from '../lib/apm/span'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); const scenario: Scenario = async (runOptions: RunOptions) => { return { - generate: ({ from, to }) => { - const range = timerange(from, to); + generate: ({ range }) => { const transactionName = '240rpm/75% 1000ms'; const successfulTimestamps = range.interval('1s').rate(3); diff --git a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts index a55710c6478ef..693e1945f6097 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts @@ -8,18 +8,16 @@ /* eslint-disable @typescript-eslint/no-shadow */ -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; +import { apm, ApmFields, DistributedTrace } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; -import { DistributedTrace } from '../lib/dsl/distributed_trace_client'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); const scenario: Scenario = async (runOptions: RunOptions) => { return { - generate: ({ from, to }) => { + generate: ({ range }) => { const ratePerMinute = 1; const traceDuration = 1100; const rootTransactionName = `${ratePerMinute}rpm / ${traceDuration}ms`; @@ -44,87 +42,85 @@ const scenario: Scenario = async (runOptions: RunOptions) => { .service({ name: 'synth-java', environment: ENVIRONMENT, agentName: 'java' }) .instance('my-instance'); - const traces = timerange(from, to) - .ratePerMinute(ratePerMinute) - .generator((timestamp) => { - return new DistributedTrace({ - serviceInstance: synthRum, - transactionName: rootTransactionName, - timestamp, - children: (_) => { - _.service({ - repeat: 10, - serviceInstance: synthNode, - transactionName: 'GET /nodejs/products', - latency: 100, + const traces = range.ratePerMinute(ratePerMinute).generator((timestamp) => { + return new DistributedTrace({ + serviceInstance: synthRum, + transactionName: rootTransactionName, + timestamp, + children: (_) => { + _.service({ + repeat: 10, + serviceInstance: synthNode, + transactionName: 'GET /nodejs/products', + latency: 100, - children: (_) => { - _.service({ - serviceInstance: synthGo, - transactionName: 'GET /go', - children: (_) => { - _.service({ - repeat: 20, - serviceInstance: synthJava, - transactionName: 'GET /java', - children: (_) => { - _.external({ - name: 'GET telemetry.elastic.co', - url: 'https://telemetry.elastic.co/ping', - duration: 50, - }); - }, - }); - }, - }); - _.db({ name: 'GET apm-*/_search', type: 'elasticsearch', duration: 400 }); - _.db({ name: 'GET', type: 'redis', duration: 500 }); - _.db({ name: 'SELECT * FROM users', type: 'sqlite', duration: 600 }); - }, - }); + children: (_) => { + _.service({ + serviceInstance: synthGo, + transactionName: 'GET /go', + children: (_) => { + _.service({ + repeat: 20, + serviceInstance: synthJava, + transactionName: 'GET /java', + children: (_) => { + _.external({ + name: 'GET telemetry.elastic.co', + url: 'https://telemetry.elastic.co/ping', + duration: 50, + }); + }, + }); + }, + }); + _.db({ name: 'GET apm-*/_search', type: 'elasticsearch', duration: 400 }); + _.db({ name: 'GET', type: 'redis', duration: 500 }); + _.db({ name: 'SELECT * FROM users', type: 'sqlite', duration: 600 }); + }, + }); - _.service({ - serviceInstance: synthNode, - transactionName: 'GET /nodejs/users', - latency: 100, - repeat: 10, - children: (_) => { - _.service({ - serviceInstance: synthGo, - transactionName: 'GET /go/security', - latency: 50, - children: (_) => { - _.service({ - repeat: 10, - serviceInstance: synthDotnet, - transactionName: 'GET /dotnet/cases/4', - latency: 50, - children: (_) => - _.db({ - name: 'GET apm-*/_search', - type: 'elasticsearch', - duration: 600, - statement: JSON.stringify( - { - query: { - query_string: { - query: '(new york city) OR (big apple)', - default_field: 'content', - }, + _.service({ + serviceInstance: synthNode, + transactionName: 'GET /nodejs/users', + latency: 100, + repeat: 10, + children: (_) => { + _.service({ + serviceInstance: synthGo, + transactionName: 'GET /go/security', + latency: 50, + children: (_) => { + _.service({ + repeat: 10, + serviceInstance: synthDotnet, + transactionName: 'GET /dotnet/cases/4', + latency: 50, + children: (_) => + _.db({ + name: 'GET apm-*/_search', + type: 'elasticsearch', + duration: 600, + statement: JSON.stringify( + { + query: { + query_string: { + query: '(new york city) OR (big apple)', + default_field: 'content', }, }, - null, - 2 - ), - }), - }); - }, - }); - }, - }); - }, - }).getTransaction(); - }); + }, + null, + 2 + ), + }), + }); + }, + }); + }, + }); + }, + }).getTransaction(); + }); return traces; }, diff --git a/packages/kbn-apm-synthtrace/src/scenarios/high_throughput.ts b/packages/kbn-apm-synthtrace/src/scenarios/high_throughput.ts index 1b2ec3d64b087..f03d909db835f 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/high_throughput.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/high_throughput.ts @@ -7,24 +7,16 @@ */ import { random } from 'lodash'; -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; -import { Instance } from '../lib/apm/instance'; +import { apm, Instance, ApmFields } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; - -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); +const scenario: Scenario = async ({ logger }) => { const languages = ['go', 'dotnet', 'java', 'python']; const services = ['web', 'order-processing', 'api-backend']; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - - const successfulTimestamps = range.interval('1s').randomize(100, 180); + generate: ({ range }) => { + const successfulTimestamps = range.interval('1s'); const instances = services.map((service, index) => apm @@ -100,12 +92,11 @@ const scenario: Scenario = async (runOptions: RunOptions) => { return successfulTraceEvents; }; - return instances - .flatMap((instance) => urls.map((url) => ({ instance, url }))) - .map(({ instance, url }, index) => - logger.perf('generating_apm_events', () => instanceSpans(instance, url, index)) - ) - .reduce((p, c) => p.merge(c)); + return logger.perf('generating_apm_events', () => + instances + .flatMap((instance) => urls.map((url) => ({ instance, url }))) + .map(({ instance, url }, index) => instanceSpans(instance, url, index)) + ); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/kibana_stats.ts b/packages/kbn-apm-synthtrace/src/scenarios/kibana_stats.ts deleted file mode 100644 index 43774ab0e972b..0000000000000 --- a/packages/kbn-apm-synthtrace/src/scenarios/kibana_stats.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { stackMonitoring, timerange } from '../..'; -import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; -import { ApmFields } from '../lib/apm/apm_fields'; - -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - - // TODO reintroduce overwrite - // if (!runOptions.writeTarget) { - // throw new Error('Write target is not defined'); - // } - - return { - generate: ({ from, to }) => { - const kibanaStats = stackMonitoring.cluster('cluster-01').kibana('kibana-01').stats(); - - const range = timerange(from, to); - return range - .interval('30s') - .rate(1) - .generator((timestamp) => { - const events = logger.perf('generating_sm_events', () => { - return kibanaStats.timestamp(timestamp).requests(10, 20); - }); - return events; - }); - }, - }; -}; - -export default scenario; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/low_throughput.ts b/packages/kbn-apm-synthtrace/src/scenarios/low_throughput.ts index 006a5074f7c1b..8a79706289cea 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/low_throughput.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/low_throughput.ts @@ -6,31 +6,22 @@ * Side Public License, v 1. */ +import { ApmFields, Instance, apm } from '@kbn/apm-synthtrace-client'; import { random } from 'lodash'; -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; -import { Instance } from '../lib/apm/instance'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - +const scenario: Scenario = async ({ logger }) => { const languages = ['go', 'dotnet', 'java', 'python']; const services = ['web', 'order-processing', 'api-backend']; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - + generate: ({ range }) => { const successfulTimestamps = range.ratePerMinute(60); - // `.randomize(3, 180); - const instances = services.map((service, index) => + const instances = services.map((serviceName, index) => apm .service({ name: `${services[index % services.length]}-${ @@ -87,12 +78,11 @@ const scenario: Scenario = async (runOptions: RunOptions) => { return successfulTraceEvents; }; - return instances - .flatMap((instance) => urls.map((url) => ({ instance, url }))) - .map(({ instance, url }, index) => - logger.perf('generating_apm_events', () => instanceSpans(instance, url, index)) - ) - .reduce((p, c) => p.merge(c)); + return logger.perf('generating_apm_events', () => + instances + .flatMap((instance) => urls.map((url) => ({ instance, url }))) + .map(({ instance, url }, index) => instanceSpans(instance, url, index)) + ); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/many_services.ts b/packages/kbn-apm-synthtrace/src/scenarios/many_services.ts index 6ff91c23fb058..14bd5d9a70042 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/many_services.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/many_services.ts @@ -6,21 +6,14 @@ * Side Public License, v 1. */ +import { ApmFields, apm, Instance } from '@kbn/apm-synthtrace-client'; import { flatten, random } from 'lodash'; - -import { apm, timerange } from '../..'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; -import { ApmFields } from '../lib/apm/apm_fields'; -import { Instance } from '../lib/apm/instance'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - +const scenario: Scenario = async ({ logger }) => { const numServices = 500; const languages = ['go', 'dotnet', 'java', 'python']; const services = ['web', 'order-processing', 'api-backend', 'proxy']; @@ -32,9 +25,7 @@ const scenario: Scenario = async (runOptions: RunOptions) => { }; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - + generate: ({ range }) => { const successfulTimestamps = range.ratePerMinute(180); const instances = flatten( @@ -104,12 +95,11 @@ const scenario: Scenario = async (runOptions: RunOptions) => { return successfulTraceEvents; }; - return instances - .flatMap((instance) => urls.map((url) => ({ instance, url }))) - .map(({ instance, url }) => - logger.perf('generating_apm_events', () => instanceSpans(instance, url)) - ) - .reduce((p, c) => p.merge(c)); + return logger.perf('generating_apm_events', () => + instances + .flatMap((instance) => urls.map((url) => ({ instance, url }))) + .map(({ instance, url }) => instanceSpans(instance, url)) + ); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/mobile.ts b/packages/kbn-apm-synthtrace/src/scenarios/mobile.ts index 7d5bf5649510b..e0c0ca0927329 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/mobile.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/mobile.ts @@ -6,18 +6,14 @@ * Side Public License, v 1. */ -import { apm, timerange } from '../..'; -import { +import { MobileDevice, apm, ApmFields } from '@kbn/apm-synthtrace-client'; +import type { DeviceInfo, - MobileDevice, - OSInfo, GeoInfo, NetworkConnectionInfo, -} from '../lib/apm/mobile_device'; -import { ApmFields } from '../lib/apm/apm_fields'; + OSInfo, +} from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); @@ -313,15 +309,11 @@ function randomInt(max: number) { return Math.floor(Math.random() * max); } -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - - const { numDevices = 10 } = runOptions.scenarioOpts || {}; +const scenario: Scenario = async ({ scenarioOpts, logger }) => { + const { numDevices = 10 } = scenarioOpts || {}; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - + generate: ({ range }) => { const androidDevices = [...Array(numDevices).keys()].map((index) => { const deviceMetadata = ANDROID_DEVICES[randomInt(ANDROID_DEVICES.length)]; const geoNetwork = GEO_AND_NETWORK[randomInt(GEO_AND_NETWORK.length)]; @@ -415,9 +407,7 @@ const scenario: Scenario = async (runOptions: RunOptions) => { }); }; - return [...androidDevices, ...iOSDevices] - .map((device) => logger.perf('generating_apm_events', () => sessionTransactions(device))) - .reduce((p, c) => p.merge(c)); + return [...androidDevices, ...iOSDevices].map((device) => sessionTransactions(device)); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/monitoring.ts b/packages/kbn-apm-synthtrace/src/scenarios/monitoring.ts deleted file mode 100644 index 8e098c6823765..0000000000000 --- a/packages/kbn-apm-synthtrace/src/scenarios/monitoring.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -// Run with: node ./src/scripts/run ./src/scripts/examples/03_monitoring.ts --target=http://elastic:changeme@localhost:9200 - -import { stackMonitoring, timerange } from '../..'; -import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; -import { StackMonitoringFields } from '../lib/stack_monitoring/stack_monitoring_fields'; - -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - - return { - mapToIndex: (data) => { - return data.kibana_stats?.kibana?.name - ? '.monitoring-kibana-7-synthtrace' - : '.monitoring-es-7-synthtrace'; - }, - generate: ({ from, to }) => { - const cluster = stackMonitoring.cluster('test-cluster'); - const clusterStats = cluster.stats(); - const kibanaStats = cluster.kibana('kibana-01').stats(); - - const range = timerange(from, to); - const interval = range.interval('10s').rate(1); - return interval - .generator((timestamp) => - logger.perf('generating_es_events', () => clusterStats.timestamp(timestamp).indices(115)) - ) - .merge( - interval.generator((timestamp) => - logger.perf('generating_kb_events', () => - kibanaStats.timestamp(timestamp).requests(10, 20) - ) - ) - ); - }, - }; -}; - -export default scenario; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts index c125196999a92..827cbfca46e79 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts @@ -5,30 +5,22 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - -import { apm, timerange } from '../..'; -import { ApmFields } from '../lib/apm/apm_fields'; -import { Instance } from '../lib/apm/instance'; +import { ApmFields, apm, Instance } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; -import { getLogger } from '../cli/utils/get_common_services'; -import { RunOptions } from '../cli/utils/parse_run_cli_flags'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; const ENVIRONMENT = getSynthtraceEnvironment(__filename); -const scenario: Scenario = async (runOptions: RunOptions) => { - const logger = getLogger(runOptions); - +const scenario: Scenario = async (runOptions) => { + const { logger } = runOptions; const { numServices = 3 } = runOptions.scenarioOpts || {}; return { - generate: ({ from, to }) => { - const range = timerange(from, to); - + generate: ({ range }) => { const transactionName = '240rpm/75% 1000ms'; - const successfulTimestamps = range.ratePerMinute(180); - const failedTimestamps = range.ratePerMinute(180); + const successfulTimestamps = range.interval('1m').rate(180); + const failedTimestamps = range.interval('1m').rate(180); const instances = [...Array(numServices).keys()].map((index) => apm @@ -88,12 +80,12 @@ const scenario: Scenario = async (runOptions: RunOptions) => { .timestamp(timestamp) ); - return successfulTraceEvents.merge(failedTraceEvents, metricsets); + return [successfulTraceEvents, failedTraceEvents, metricsets]; }; - return instances - .map((instance) => logger.perf('generating_apm_events', () => instanceSpans(instance))) - .reduce((p, c) => p.merge(c)); + return logger.perf('generating_apm_events', () => + instances.flatMap((instance) => instanceSpans(instance)) + ); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/scenarios/span_links.ts b/packages/kbn-apm-synthtrace/src/scenarios/span_links.ts index 4267b6465b179..60f63f80e3dec 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/span_links.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/span_links.ts @@ -7,8 +7,8 @@ */ import { compact, shuffle } from 'lodash'; -import { apm, ApmFields, EntityArrayIterable, timerange } from '../..'; -import { generateLongId, generateShortId } from '../lib/utils/generate_id'; +import { Readable } from 'stream'; +import { apm, ApmFields, generateLongId, generateShortId } from '@kbn/apm-synthtrace-client'; import { Scenario } from '../cli/scenario'; import { getSynthtraceEnvironment } from '../lib/utils/get_synthtrace_environment'; @@ -32,15 +32,12 @@ function getSpanLinksFromEvents(events: ApmFields[]) { const scenario: Scenario = async () => { return { - generate: ({ from, to }) => { + generate: ({ range }) => { const producerInternalOnlyInstance = apm .service({ name: 'producer-internal-only', environment: ENVIRONMENT, agentName: 'go' }) .instance('instance-a'); - const producerInternalOnlyEvents = timerange( - new Date('2022-04-25T19:00:00.000Z'), - new Date('2022-04-25T19:01:00.000Z') - ) + const producerInternalOnlyEvents = range .interval('1m') .rate(1) .generator((timestamp) => { @@ -58,13 +55,14 @@ const scenario: Scenario = async () => { ); }); - const producerInternalOnlyApmFields = producerInternalOnlyEvents.toArray(); - const spanASpanLink = getSpanLinksFromEvents(producerInternalOnlyApmFields); + const spanASpanLink = getSpanLinksFromEvents( + Array.from(producerInternalOnlyEvents).flatMap((event) => event.serialize()) + ); const producerConsumerInstance = apm .service({ name: 'producer-consumer', environment: ENVIRONMENT, agentName: 'java' }) .instance('instance-b'); - const producerConsumerEvents = timerange(from, to) + const producerConsumerEvents = range .interval('1m') .rate(1) .generator((timestamp) => { @@ -85,13 +83,16 @@ const scenario: Scenario = async () => { ); }); - const producerConsumerApmFields = producerConsumerEvents.toArray(); + const producerConsumerApmFields = Array.from(producerConsumerEvents).flatMap((event) => + event.serialize() + ); + const spanBSpanLink = getSpanLinksFromEvents(producerConsumerApmFields); const consumerInstance = apm .service({ name: 'consumer', environment: ENVIRONMENT, agentName: 'ruby' }) .instance('instance-c'); - const consumerEvents = timerange(from, to) + const consumerEvents = range .interval('1m') .rate(1) .generator((timestamp) => { @@ -110,9 +111,9 @@ const scenario: Scenario = async () => { ); }); - return new EntityArrayIterable(producerInternalOnlyApmFields) - .merge(consumerEvents) - .merge(new EntityArrayIterable(producerConsumerApmFields)); + return Readable.from( + Array.from(producerInternalOnlyEvents).concat(Array.from(consumerEvents)) + ); }, }; }; diff --git a/packages/kbn-apm-synthtrace/src/test/__snapshots__/es_client_indexer.test.ts.snap b/packages/kbn-apm-synthtrace/src/test/__snapshots__/es_client_indexer.test.ts.snap new file mode 100644 index 0000000000000..84ca36477c1dc --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/test/__snapshots__/es_client_indexer.test.ts.snap @@ -0,0 +1,78 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Synthtrace ES Client indexer indexes documents 1`] = ` +Array [ + Object { + "@timestamp": "2022-01-01T00:00:00.000Z", + "processor": Object { + "event": "transaction", + }, + }, + Object { + "@timestamp": "2022-01-01T00:30:00.000Z", + "processor": Object { + "event": "transaction", + }, + }, + Object { + "@timestamp": "2022-01-01T00:00:00.000Z", + "metricset": Object { + "name": "transaction", + }, + "processor": Object { + "event": "metric", + }, + }, + Object { + "@timestamp": "2022-01-01T00:00:00.000Z", + "metricset": Object { + "name": "span_breakdown", + }, + "processor": Object { + "event": "metric", + }, + }, + Object { + "@timestamp": "2022-01-01T01:00:00.000Z", + "processor": Object { + "event": "transaction", + }, + }, + Object { + "@timestamp": "2022-01-01T00:30:00.000Z", + "metricset": Object { + "name": "transaction", + }, + "processor": Object { + "event": "metric", + }, + }, + Object { + "@timestamp": "2022-01-01T00:30:00.000Z", + "metricset": Object { + "name": "span_breakdown", + }, + "processor": Object { + "event": "metric", + }, + }, + Object { + "@timestamp": "2022-01-01T01:00:00.000Z", + "metricset": Object { + "name": "transaction", + }, + "processor": Object { + "event": "metric", + }, + }, + Object { + "@timestamp": "2022-01-01T01:00:00.000Z", + "metricset": Object { + "name": "span_breakdown", + }, + "processor": Object { + "event": "metric", + }, + }, +] +`; diff --git a/packages/kbn-apm-synthtrace/src/test/apm_events_to_elasticsearch_output.test.ts b/packages/kbn-apm-synthtrace/src/test/apm_events_to_elasticsearch_output.test.ts deleted file mode 100644 index edb20c4768ee5..0000000000000 --- a/packages/kbn-apm-synthtrace/src/test/apm_events_to_elasticsearch_output.test.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { ApmFields } from '../lib/apm/apm_fields'; -import { StreamProcessor } from '../lib/stream_processor'; - -describe('output apm events to elasticsearch', () => { - let event: ApmFields; - const streamProcessor = new StreamProcessor({ processors: [], version: '8.0.0' }); - - beforeEach(() => { - event = { - '@timestamp': new Date('2020-12-31T23:00:00.000Z').getTime(), - 'processor.event': 'transaction', - 'processor.name': 'transaction', - 'service.node.name': 'instance-a', - }; - }); - - it('properly formats @timestamp', () => { - const doc = streamProcessor.toDocument(event); - expect(doc['@timestamp']).toEqual('2020-12-31T23:00:00.000Z'); - }); - - it('formats a nested object', () => { - const doc = streamProcessor.toDocument(event); - - expect(doc.processor).toEqual({ - event: 'transaction', - name: 'transaction', - }); - }); - - it('formats all fields consistently', () => { - const doc = streamProcessor.toDocument(event); - - expect(doc).toMatchInlineSnapshot(` - Object { - "@timestamp": "2020-12-31T23:00:00.000Z", - "ecs": Object { - "version": "1.4", - }, - "observer": Object { - "type": "synthtrace", - "version": "8.0.0", - "version_major": 8, - }, - "processor": Object { - "event": "transaction", - "name": "transaction", - }, - "service": Object { - "node": Object { - "name": "instance-a", - }, - }, - } - `); - }); -}); diff --git a/packages/kbn-apm-synthtrace/src/test/es_client_indexer.test.ts b/packages/kbn-apm-synthtrace/src/test/es_client_indexer.test.ts new file mode 100644 index 0000000000000..10990766bbc03 --- /dev/null +++ b/packages/kbn-apm-synthtrace/src/test/es_client_indexer.test.ts @@ -0,0 +1,182 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { apm, timerange } from '@kbn/apm-synthtrace-client'; +import { pick, range, sum } from 'lodash'; +import { Readable } from 'stream'; +import { ApmSynthtraceEsClient } from '../lib/apm/client/apm_synthtrace_es_client'; + +describe('Synthtrace ES Client indexer', () => { + let apmEsClient: ApmSynthtraceEsClient; + let datasource: Readable; + + async function toArray(readable: Readable) { + const arr: any[] = []; + for await (const chunk of readable) { + arr.push(chunk); + } + return arr; + } + + beforeEach(() => { + const opts = { + logger: { + info: jest.fn(), + debug: jest.fn(), + error: jest.fn(), + }, + target: '', + version: '', + client: { + helpers: { + bulk: async (options: any) => { + datasource = options.datasource; + return undefined; + }, + }, + }, + } as unknown as ConstructorParameters[0]; + + apmEsClient = new ApmSynthtraceEsClient(opts); + }); + + it('indexes documents', async () => { + const instance = apm.service('foo', 'java', 'java').instance('foo'); + + const generator = timerange( + new Date('2022-01-01T00:00:00.000Z'), + new Date('2022-01-01T01:00:01.000Z') + ) + .interval('30m') + .generator((timestamp) => { + return instance + .transaction('GET /foo') + .duration(100) + .timestamp(timestamp) + .outcome('success'); + }); + + await apmEsClient.index(generator); + + const events = await toArray(datasource); + + expect(events.length).toBe(9); + + const mapped = events.map((event) => + pick(event, '@timestamp', 'processor.event', 'metricset.name') + ); + + expect(mapped).toMatchSnapshot(); + }); + + it('lazily generates new data', async () => { + // One issue with this test is that there is a certain amount of events needed + // to trigger backpressure mechanisms. And it is unclear to me at what amount + // it kicks in. fork(), sequential() and the fact that we use pipeline() and + // the ES client uses for-await-of, which triggers the readable API, might all + // be factors in the complexity around this. + // see also: https://nodejs.org/api/stream.html#choose-one-api-style + + const instance = apm.service('foo', 'production', 'java').instance('foo'); + + const generatorCallback = jest.fn((timestamp: number) => { + return range(0, 50).map(() => + instance.transaction('GET /foo').duration(100).timestamp(timestamp).outcome('success') + ); + }); + + const getGenerator = () => + timerange(new Date('2022-01-01T00:00:00.000Z'), new Date('2022-01-01T00:59:59.999Z')) + .interval('20m') + .rate(10) + .generator(generatorCallback); + + await apmEsClient.index(getGenerator()); + + const expectedTotalCalls = 30; + + const events: any[] = []; + + for await (const event of datasource) { + events.push(event); + expect(generatorCallback.mock.calls.length).toBeLessThan(expectedTotalCalls); + break; + } + + expect(events.length).toBeGreaterThanOrEqual(1); + + generatorCallback.mockClear(); + + await apmEsClient.index(getGenerator()); + + await toArray(datasource); + + expect(generatorCallback.mock.calls.length).toBe(expectedTotalCalls); + }); + + it('creates the expected transaction metrics', async () => { + const serviceA = apm.service('service-a', 'production', 'java').instance('one'); + const serviceB = apm.service('service-b', 'production', 'java').instance('one'); + + const MINUTES = 7; + const CARDINALITY = 2; + // this rate needs to be high to take backpressure scenarios into account + const RATE = 300; + + const AVG_DURATION_A = 1000; + + const timestamps: string[] = []; + + const generator = timerange( + new Date('2022-01-01T00:00:00.000Z'), + new Date('2022-01-01T00:06:59.999Z') + ) + .interval('1m') + .rate(RATE) + .generator((timestamp) => { + timestamps.push(new Date(timestamp).toISOString()); + + return [ + serviceA.transaction('GET /service-a/one').duration(AVG_DURATION_A).timestamp(timestamp), + serviceB.transaction('GET /service-b/one').duration(500).timestamp(timestamp), + ]; + }); + + await apmEsClient.index(generator); + + const events = await toArray(datasource); + + const transactions = events.filter((event) => event.processor.event === 'transaction'); + + expect(transactions.length).toBe(RATE * CARDINALITY * MINUTES); + + const txMetrics = events.filter((event) => event.metricset?.name === 'transaction'); + + expect(txMetrics.length).toBe(MINUTES * CARDINALITY); + + const txMetricsForA = txMetrics.filter((event) => event.service.name === 'service-a'); + + expect(txMetricsForA.length).toBe(MINUTES); + + expect(txMetricsForA[0]._doc_count).toBe(RATE); + + const values = txMetricsForA.flatMap((metric) => { + const vals: number[] = []; + metric.transaction.duration.histogram.values.forEach((value: number, index: number) => { + const counts = metric.transaction.duration.histogram.counts[index]; + vals.push(...range(0, counts).fill(value)); + }); + return vals; + }); + + expect(values.length).toBe(RATE * MINUTES); + + expect(sum(values) / values.length).toBe(AVG_DURATION_A * 1000); + }); +}); +export {}; diff --git a/packages/kbn-apm-synthtrace/src/test/event_dsl_behavior.test.ts b/packages/kbn-apm-synthtrace/src/test/event_dsl_behavior.test.ts deleted file mode 100644 index 3cf1d8500e12d..0000000000000 --- a/packages/kbn-apm-synthtrace/src/test/event_dsl_behavior.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { EntityArrayIterable } from '../lib/entity_iterable'; -import { apm } from '../lib/apm'; -import { timerange } from '../lib/timerange'; -import { ApmFields } from '../lib/apm/apm_fields'; - -describe('DSL invocations', () => { - let arrayIterable: EntityArrayIterable; - let eventsCopy: Array>; - - const range = timerange( - new Date('2021-01-01T00:00:00.000Z'), - new Date('2021-01-01T00:15:00.000Z') - ); - const javaService = apm.service({ - name: 'opbeans-java', - environment: 'production', - agentName: 'java', - }); - const javaInstance = javaService.instance('instance-1'); - let globalSeq = 0; - - const iterable = range - .interval('1m') - .rate(1) - .generator((timestamp, index) => - javaInstance - .transaction({ transactionName: `GET /api/product/${index}/${globalSeq++}` }) - .duration(1000) - .success() - .timestamp(timestamp) - .children( - javaInstance - .span({ spanName: 'GET apm-*/_search', spanType: 'db', spanSubtype: 'elasticsearch' }) - .success() - .duration(900) - .timestamp(timestamp + 50) - ) - ); - const events = iterable.toArray(); - - beforeEach(() => { - eventsCopy = iterable.toArray(); - arrayIterable = new EntityArrayIterable(events); - }); - it('to array on iterable reads to completion', () => { - expect(events.length).toBe(15 * 2); - }); - it('calling to array on SpanArrayIterable returns all events', () => { - expect(arrayIterable.toArray().length).toBe(15 * 2); - }); - it('calling toArray multiple times always sees all events', () => { - expect(eventsCopy.length).toBe(15 * 2); - }); - it('will yield the first peeked value', () => { - expect(events[0]['transaction.name']).toBe('GET /api/product/0/0'); - }); - it('2nd invocation of toArray sees a new copy of generator invocation', () => { - expect(eventsCopy[0]['transaction.name']).not.toBe('GET /api/product/0/0'); - }); - it('array iterable holds a copy and will yield the same items', () => { - const copy = arrayIterable.toArray(); - expect(events[0]['transaction.name']).toBe(copy[0]['transaction.name']); - }); -}); diff --git a/packages/kbn-apm-synthtrace/src/test/rate_per_minute.test.ts b/packages/kbn-apm-synthtrace/src/test/rate_per_minute.test.ts deleted file mode 100644 index 5a100aa8a404d..0000000000000 --- a/packages/kbn-apm-synthtrace/src/test/rate_per_minute.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { EntityArrayIterable, EntityIterable } from '../lib/entity_iterable'; -import { apm } from '../lib/apm'; -import { timerange } from '../lib/timerange'; -import { ApmFields } from '../lib/apm/apm_fields'; - -const range = timerange(new Date('2021-01-01T00:00:00.000Z'), new Date('2021-01-01T00:15:00.000Z')); - -describe('rate per minute calculations', () => { - let iterable: EntityIterable; - let arrayIterable: EntityArrayIterable; - let events: Array>; - - beforeEach(() => { - const javaService = apm.service({ - name: 'opbeans-java', - environment: 'production', - agentName: 'java', - }); - const javaInstance = javaService.instance('instance-1'); - - iterable = range - .interval('1m') - .rate(1) - .generator((timestamp) => - javaInstance - .transaction({ transactionName: 'GET /api/product/list' }) - .duration(1000) - .success() - .timestamp(timestamp) - .children( - javaInstance - .span({ spanName: 'GET apm-*/_search', spanType: 'db', spanSubtype: 'elasticsearch' }) - .success() - .duration(900) - .timestamp(timestamp + 50) - ) - ); - events = iterable.toArray(); - arrayIterable = new EntityArrayIterable(events); - }); - - it('array iterable returns exact rate per minute', () => { - expect(arrayIterable.estimatedRatePerMinute()).toEqual(2); - }); - it('iterable returns rate per minute approximation', () => { - expect(iterable.estimatedRatePerMinute()).toEqual(2); - }); - it('iterable returns same rate as materialized iterable', () => { - expect(iterable.estimatedRatePerMinute()).toEqual(arrayIterable.estimatedRatePerMinute()); - }); -}); - -describe('estimatedRatePerMinute', () => { - it('interval of 3 per minute returns 3', () => { - expect(range.interval('1m').rate(3).estimatedRatePerMinute()).toEqual(3); - }); - - it('interval of 6 per 5 minutes returns 6/5', () => { - expect(range.interval('5m').rate(6).estimatedRatePerMinute()).toEqual(6 / 5); - }); - - it('interval of 6 per 30 minutes returns 6/30', () => { - expect(range.interval('30m').rate(6).estimatedRatePerMinute()).toEqual(6 / 30); - }); - - it('interval of 3 per second returns 60 * 3', () => { - expect(range.interval('1s').rate(3).estimatedRatePerMinute()).toEqual(60 * 3); - }); - - it('ratePerMinute of 180 returns 180', () => { - expect(range.ratePerMinute(180).estimatedRatePerMinute()).toEqual(180); - }); - - it('ratePerMinute of 1 returns 1', () => { - expect(range.ratePerMinute(1).estimatedRatePerMinute()).toEqual(1); - }); - - it('ratePerMinute of 61 returns 61', () => { - expect(range.ratePerMinute(61).estimatedRatePerMinute()).toEqual(61); - }); -}); diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/01_simple_trace.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/01_simple_trace.test.ts index a14ae076e8186..5c12116163721 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/01_simple_trace.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/01_simple_trace.test.ts @@ -6,13 +6,10 @@ * Side Public License, v 1. */ -import { EntityIterable } from '../../..'; -import { apm } from '../../lib/apm'; -import { ApmFields } from '../../lib/apm/apm_fields'; -import { timerange } from '../../lib/timerange'; +import { apm, ApmFields, SynthtraceGenerator, timerange } from '@kbn/apm-synthtrace-client'; describe('simple trace', () => { - let iterable: EntityIterable; + let iterable: SynthtraceGenerator; let events: Array>; beforeEach(() => { @@ -45,7 +42,8 @@ describe('simple trace', () => { .timestamp(timestamp + 50) ) ); - events = iterable.toArray(); + + events = Array.from(iterable).flatMap((event) => event.serialize()); }); // TODO this is not entirely factual, since id's are generated of a global sequence number diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/02_transaction_metrics.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/02_transaction_metrics.test.ts index 99715ab6998d6..365bdca120337 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/02_transaction_metrics.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/02_transaction_metrics.test.ts @@ -6,16 +6,16 @@ * Side Public License, v 1. */ -import { apm } from '../../lib/apm'; -import { timerange } from '../../lib/timerange'; -import { getTransactionMetrics } from '../../lib/apm/processors/get_transaction_metrics'; -import { StreamProcessor } from '../../lib/stream_processor'; -import { ApmFields } from '../../lib/apm/apm_fields'; +import { apm, timerange, ApmFields } from '@kbn/apm-synthtrace-client'; +import { sortBy } from 'lodash'; +import { Readable } from 'stream'; +import { createTransactionMetricsAggregator } from '../../lib/apm/aggregators/create_transaction_metrics_aggregator'; +import { awaitStream } from '../../lib/utils/wait_until_stream_finished'; describe('transaction metrics', () => { let events: Array>; - beforeEach(() => { + beforeEach(async () => { const javaService = apm.service({ name: 'opbeans-java', environment: 'production', @@ -34,22 +34,28 @@ describe('transaction metrics', () => { .duration(1000) .timestamp(timestamp); - const processor = new StreamProcessor({ - processors: [getTransactionMetrics], - flushInterval: '15m', - }); - events = processor - .streamToArray( + const serialized = [ + ...Array.from( range .interval('1m') .rate(25) - .generator((timestamp) => span(timestamp).success()), + .generator((timestamp) => span(timestamp).success()) + ), + ...Array.from( range .interval('1m') .rate(50) .generator((timestamp) => span(timestamp).failure()) + ), + ].flatMap((event) => event.serialize()); + + events = ( + await awaitStream( + Readable.from(sortBy(serialized, '@timestamp')).pipe( + createTransactionMetricsAggregator('1m') + ) ) - .filter((fields) => fields['metricset.name'] === 'transaction'); + ).filter((field) => field['metricset.name'] === 'transaction'); }); it('generates the right amount of transaction metrics', () => { diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/03_span_destination_metrics.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/03_span_destination_metrics.test.ts index f5c721221c328..72fbdaed5efca 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/03_span_destination_metrics.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/03_span_destination_metrics.test.ts @@ -6,16 +6,16 @@ * Side Public License, v 1. */ -import { apm } from '../../lib/apm'; -import { timerange } from '../../lib/timerange'; -import { getSpanDestinationMetrics } from '../../lib/apm/processors/get_span_destination_metrics'; -import { StreamProcessor } from '../../lib/stream_processor'; -import { ApmFields } from '../../lib/apm/apm_fields'; +import { apm, timerange, ApmFields } from '@kbn/apm-synthtrace-client'; +import { sortBy } from 'lodash'; +import { Readable } from 'stream'; +import { createSpanMetricsAggregator } from '../../lib/apm/aggregators/create_span_metrics_aggregator'; +import { awaitStream } from '../../lib/utils/wait_until_stream_finished'; describe('span destination metrics', () => { let events: Array>; - beforeEach(() => { + beforeEach(async () => { const javaService = apm.service({ name: 'opbeans-java', environment: 'production', @@ -27,9 +27,9 @@ describe('span destination metrics', () => { new Date('2021-01-01T00:00:00.000Z'), new Date('2021-01-01T00:15:00.000Z') ); - const processor = new StreamProcessor({ processors: [getSpanDestinationMetrics] }); - events = processor - .streamToArray( + + const serialized = [ + ...Array.from( range .interval('1m') .rate(25) @@ -51,7 +51,9 @@ describe('span destination metrics', () => { .destination('elasticsearch') .success() ) - ), + ) + ), + ...Array.from( range .interval('1m') .rate(50) @@ -79,8 +81,14 @@ describe('span destination metrics', () => { .success() ) ) + ), + ].flatMap((event) => event.serialize()); + + events = ( + await awaitStream( + Readable.from(sortBy(serialized, '@timestamp')).pipe(createSpanMetricsAggregator('1m')) ) - .filter((fields) => fields['metricset.name'] === 'service_destination'); + ).filter((fields) => fields['metricset.name'] === 'service_destination'); }); it('generates the right amount of span metrics', () => { diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/04_breakdown_metrics.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/04_breakdown_metrics.test.ts index 731dea453058d..f47e5d16b04a3 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/04_breakdown_metrics.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/04_breakdown_metrics.test.ts @@ -6,22 +6,21 @@ * Side Public License, v 1. */ import { sumBy } from 'lodash'; -import { apm } from '../../lib/apm'; -import { timerange } from '../../lib/timerange'; -import { getBreakdownMetrics } from '../../lib/apm/processors/get_breakdown_metrics'; -import { ApmFields } from '../../lib/apm/apm_fields'; -import { StreamProcessor } from '../../lib/stream_processor'; +import { Readable } from 'stream'; +import { awaitStream } from '../../lib/utils/wait_until_stream_finished'; +import { createBreakdownMetricsAggregator } from '../../lib/apm/aggregators/create_breakdown_metrics_aggregator'; +import { apm, ApmFields, timerange } from '@kbn/apm-synthtrace-client'; describe('breakdown metrics', () => { let events: ApmFields[]; - const LIST_RATE = 2; + const LIST_RATE = 1; const LIST_SPANS = 2; const ID_RATE = 4; const ID_SPANS = 2; const INTERVALS = 6; - beforeEach(() => { + beforeEach(async () => { const javaService = apm.service({ name: 'opbeans-java', environment: 'production', @@ -33,64 +32,82 @@ describe('breakdown metrics', () => { const range = timerange(start, new Date(start.getTime() + INTERVALS * 30 * 1000)); - const listSpans = range - .interval('30s') - .rate(LIST_RATE) - .generator((timestamp) => - javaInstance - .transaction({ transactionName: 'GET /api/product/list' }) - .timestamp(timestamp) - .duration(1000) - .children( - javaInstance - .span({ spanName: 'GET apm-*/_search', spanType: 'db', spanSubtype: 'elasticsearch' }) - .timestamp(timestamp + 150) - .duration(500), - javaInstance - .span({ spanName: 'GET foo', spanType: 'db', spanSubtype: 'redis' }) - .timestamp(timestamp) - .duration(100) - ) - ); - - const productPageSpans = range - .interval('30s') - .rate(ID_RATE) - .generator((timestamp) => - javaInstance - .transaction({ transactionName: 'GET /api/product/:id' }) - .timestamp(timestamp) - .duration(1000) - .children( - javaInstance - .span({ spanName: 'GET apm-*/_search', spanType: 'db', spanSubtype: 'elasticsearch' }) - .duration(500) - .timestamp(timestamp + 100) - .children( - javaInstance - .span({ spanName: 'bar', spanType: 'external', spanSubtype: 'http' }) - .timestamp(timestamp + 200) - .duration(100) - ) - ) - ); - - const processor = new StreamProcessor({ - processors: [getBreakdownMetrics], - flushInterval: '15m', - }); - events = processor - .streamToArray(listSpans, productPageSpans) - .filter((event) => event['processor.event'] === 'metric'); + const listSpans = Array.from( + range + .interval('30s') + .rate(LIST_RATE) + .generator((timestamp) => + javaInstance + .transaction({ transactionName: 'GET /api/product/list' }) + .timestamp(timestamp) + .duration(1000) + .children( + javaInstance + .span({ + spanName: 'GET apm-*/_search', + spanType: 'db', + spanSubtype: 'elasticsearch', + }) + .timestamp(timestamp + 150) + .duration(500), + javaInstance + .span({ spanName: 'GET foo', spanType: 'db', spanSubtype: 'redis' }) + .timestamp(timestamp) + .duration(100) + ) + ) + ); + + const productPageSpans = Array.from( + range + .interval('30s') + .rate(ID_RATE) + .generator((timestamp) => + javaInstance + .transaction({ transactionName: 'GET /api/product/:id' }) + .timestamp(timestamp) + .duration(1000) + .children( + javaInstance + .span({ + spanName: 'GET apm-*/_search', + spanType: 'db', + spanSubtype: 'elasticsearch', + }) + .duration(500) + .timestamp(timestamp + 100) + .children( + javaInstance + .span({ spanName: 'bar', spanType: 'external', spanSubtype: 'http' }) + .timestamp(timestamp + 200) + .duration(100) + ) + ) + ) + ); + + const serializedEvents = listSpans + .concat(productPageSpans) + .flatMap((event) => event.serialize()); + + const stream = Readable.from(serializedEvents).pipe(createBreakdownMetricsAggregator('30s')); + + const allEvents = await awaitStream(stream); + + events = allEvents.filter((event) => event['metricset.name'] === 'span_breakdown'); }); it('generates the right amount of breakdown metrics', () => { - expect(events.length).toBe(INTERVALS * (LIST_SPANS + 1 + ID_SPANS + 1)); + expect(events.length).toBe(INTERVALS * (LIST_SPANS + 1 + ID_SPANS)); + }); + + it('does not generate breakdown metrics for the "bar" span that is never active', () => { + expect(events.filter((event) => event['span.subtype'] === 'http').length).toBe(0); }); it('calculates breakdown metrics for the right amount of transactions and spans', () => { expect(sumBy(events, (event) => event['span.self_time.count']!)).toBe( - INTERVALS * LIST_RATE * (LIST_SPANS + 1) + INTERVALS * ID_RATE * (ID_SPANS + 1) + INTERVALS * LIST_RATE * (LIST_SPANS + 1) + INTERVALS * ID_RATE * ID_SPANS ); }); @@ -112,7 +129,7 @@ describe('breakdown metrics', () => { expect(sumBy(elasticsearchSets, (set) => set['span.self_time.count']!)).toBe(expectedCount); expect(sumBy(elasticsearchSets, (set) => set['span.self_time.sum.us']!)).toBe( - expectedCountFromListTransaction * 500 * 1000 + expectedCountFromIdTransaction * 400 * 1000 + expectedCountFromListTransaction * 500 * 1000 + expectedCountFromIdTransaction * 500 * 1000 ); }); }); diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/05_transactions_with_errors.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/05_transactions_with_errors.test.ts index 305c3ed2d88a4..fdb80693bf74c 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/05_transactions_with_errors.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/05_transactions_with_errors.test.ts @@ -5,10 +5,8 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ +import { apm, Instance } from '@kbn/apm-synthtrace-client'; import { pick } from 'lodash'; -import { apm } from '../../lib/apm'; -import { Instance } from '../../lib/apm/instance'; - describe('transactions with errors', () => { let instance: Instance; const timestamp = new Date('2021-01-01T00:00:00.000Z').getTime(); diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/06_application_metrics.test.ts b/packages/kbn-apm-synthtrace/src/test/scenarios/06_application_metrics.test.ts index c9f33c2f23711..12b3c79b2ca61 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/06_application_metrics.test.ts +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/06_application_metrics.test.ts @@ -5,9 +5,8 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ +import { apm, Instance } from '@kbn/apm-synthtrace-client'; import { pick } from 'lodash'; -import { apm } from '../../lib/apm'; -import { Instance } from '../../lib/apm/instance'; describe('application metrics', () => { let instance: Instance; diff --git a/packages/kbn-apm-synthtrace/src/test/scenarios/__snapshots__/01_simple_trace.test.ts.snap b/packages/kbn-apm-synthtrace/src/test/scenarios/__snapshots__/01_simple_trace.test.ts.snap index 8b3306d2d3a4b..c16486fe50da6 100644 --- a/packages/kbn-apm-synthtrace/src/test/scenarios/__snapshots__/01_simple_trace.test.ts.snap +++ b/packages/kbn-apm-synthtrace/src/test/scenarios/__snapshots__/01_simple_trace.test.ts.snap @@ -42,6 +42,47 @@ Array [ "trace.id": "00000000000000000000000000000001", "transaction.id": "0000000000000000", }, + Object { + "@timestamp": 1609459200000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459200000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459260000, "agent.name": "java", @@ -82,6 +123,47 @@ Array [ "trace.id": "00000000000000000000000000000005", "transaction.id": "0000000000000004", }, + Object { + "@timestamp": 1609459260000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459260000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459320000, "agent.name": "java", @@ -122,6 +204,47 @@ Array [ "trace.id": "00000000000000000000000000000009", "transaction.id": "0000000000000008", }, + Object { + "@timestamp": 1609459320000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459320000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459380000, "agent.name": "java", @@ -162,6 +285,47 @@ Array [ "trace.id": "00000000000000000000000000000013", "transaction.id": "0000000000000012", }, + Object { + "@timestamp": 1609459380000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459380000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459440000, "agent.name": "java", @@ -202,6 +366,47 @@ Array [ "trace.id": "00000000000000000000000000000017", "transaction.id": "0000000000000016", }, + Object { + "@timestamp": 1609459440000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459440000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459500000, "agent.name": "java", @@ -242,6 +447,47 @@ Array [ "trace.id": "00000000000000000000000000000021", "transaction.id": "0000000000000020", }, + Object { + "@timestamp": 1609459500000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459500000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459560000, "agent.name": "java", @@ -282,6 +528,47 @@ Array [ "trace.id": "00000000000000000000000000000025", "transaction.id": "0000000000000024", }, + Object { + "@timestamp": 1609459560000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459560000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459620000, "agent.name": "java", @@ -322,6 +609,47 @@ Array [ "trace.id": "00000000000000000000000000000029", "transaction.id": "0000000000000028", }, + Object { + "@timestamp": 1609459620000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459620000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459680000, "agent.name": "java", @@ -362,6 +690,47 @@ Array [ "trace.id": "00000000000000000000000000000033", "transaction.id": "0000000000000032", }, + Object { + "@timestamp": 1609459680000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459680000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459740000, "agent.name": "java", @@ -402,6 +771,47 @@ Array [ "trace.id": "00000000000000000000000000000037", "transaction.id": "0000000000000036", }, + Object { + "@timestamp": 1609459740000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459740000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459800000, "agent.name": "java", @@ -442,6 +852,47 @@ Array [ "trace.id": "00000000000000000000000000000041", "transaction.id": "0000000000000040", }, + Object { + "@timestamp": 1609459800000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459800000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459860000, "agent.name": "java", @@ -482,6 +933,47 @@ Array [ "trace.id": "00000000000000000000000000000045", "transaction.id": "0000000000000044", }, + Object { + "@timestamp": 1609459860000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459860000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459920000, "agent.name": "java", @@ -522,6 +1014,47 @@ Array [ "trace.id": "00000000000000000000000000000049", "transaction.id": "0000000000000048", }, + Object { + "@timestamp": 1609459920000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459920000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609459980000, "agent.name": "java", @@ -562,6 +1095,47 @@ Array [ "trace.id": "00000000000000000000000000000053", "transaction.id": "0000000000000052", }, + Object { + "@timestamp": 1609459980000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609459980000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, Object { "@timestamp": 1609460040000, "agent.name": "java", @@ -602,5 +1176,46 @@ Array [ "trace.id": "00000000000000000000000000000057", "transaction.id": "0000000000000056", }, + Object { + "@timestamp": 1609460040000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "256555875", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 100000, + "span.type": "app", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, + Object { + "@timestamp": 1609460040000, + "agent.name": "java", + "container.id": "instance-1", + "host.name": "instance-1", + "meta": Object { + "metricset.id": "290461557", + }, + "metricset.name": "span_breakdown", + "processor.event": "metric", + "processor.name": "metric", + "service.environment": "production", + "service.name": "opbeans-java", + "service.node.name": "instance-1", + "span.self_time.count": 1, + "span.self_time.sum.us": 900000, + "span.subtype": "elasticsearch", + "span.type": "db", + "transaction.name": "GET /api/product/list", + "transaction.type": "request", + }, ] `; diff --git a/packages/kbn-apm-synthtrace/src/test/streams_merge.test.ts b/packages/kbn-apm-synthtrace/src/test/streams_merge.test.ts deleted file mode 100644 index b42e21cbb14fa..0000000000000 --- a/packages/kbn-apm-synthtrace/src/test/streams_merge.test.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { timerange } from '../lib/timerange'; -import { Serializable } from '../lib/serializable'; -import { Fields } from '../lib/entity'; - -export type DocFields = Fields & Partial<{ type: string }>; - -class Doc extends Serializable { - constructor(type: string) { - super({ - type, - }); - } -} - -describe('Merging streams', () => { - let events: DocFields[]; - let types: string[]; - - const range = timerange( - new Date('2021-01-01T00:00:00.000Z'), - new Date('2021-01-01T00:02:00.000Z') - ); - - beforeEach(() => { - const iterable = range - .interval('1m') - .rate(1) - .generator(() => new Doc('metric')) - .merge( - range - .interval('1m') - .rate(4) - .generator(() => new Doc('transaction')) - ); - - events = iterable.toArray(); - types = events.map((e) => e.type!); - }); - it('metrics yields before transaction event hough it has less weight', () => { - expect(events[0].type).toBe('metric'); - }); - it('merging data streams uses rate per minute to ensure high volume streams are represented', () => { - expect(types).toEqual([ - 'metric', - 'transaction', - 'transaction', - 'transaction', - 'transaction', - 'metric', - 'transaction', - 'transaction', - 'transaction', - 'transaction', - ]); - }); -}); diff --git a/packages/kbn-apm-synthtrace/tsconfig.json b/packages/kbn-apm-synthtrace/tsconfig.json index cc3e7412412df..1921231fe842c 100644 --- a/packages/kbn-apm-synthtrace/tsconfig.json +++ b/packages/kbn-apm-synthtrace/tsconfig.json @@ -1,10 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["node", "jest"] }, - "include": ["**/*.ts"] + "include": ["**/*.ts"], + "kbn_references": [ + "@kbn/datemath", + "@kbn/apm-synthtrace-client" + ], + "exclude": [ + "target/**/*", + ] } diff --git a/packages/kbn-apm-utils/BUILD.bazel b/packages/kbn-apm-utils/BUILD.bazel deleted file mode 100644 index 5f685b859613a..0000000000000 --- a/packages/kbn-apm-utils/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-apm-utils" -PKG_REQUIRE_NAME = "@kbn/apm-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//elastic-apm-node", -] - -TYPES_DEPS = [ - "@npm//elastic-apm-node", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-apm-utils/kibana.jsonc b/packages/kbn-apm-utils/kibana.jsonc index 3db7022ea44c5..950a5dacb9ba8 100644 --- a/packages/kbn-apm-utils/kibana.jsonc +++ b/packages/kbn-apm-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/apm-utils", - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-apm-utils/package.json b/packages/kbn-apm-utils/package.json index 7e31210e1d19d..46979a22a9478 100644 --- a/packages/kbn-apm-utils/package.json +++ b/packages/kbn-apm-utils/package.json @@ -1,8 +1,6 @@ { "name": "@kbn/apm-utils", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-apm-utils/tsconfig.json b/packages/kbn-apm-utils/tsconfig.json index b4316f3d2faac..2649fb45f0a42 100644 --- a/packages/kbn-apm-utils/tsconfig.json +++ b/packages/kbn-apm-utils/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node" ] }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-axe-config/BUILD.bazel b/packages/kbn-axe-config/BUILD.bazel deleted file mode 100644 index b565aea2e8c04..0000000000000 --- a/packages/kbn-axe-config/BUILD.bazel +++ /dev/null @@ -1,130 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-axe-config" -PKG_REQUIRE_NAME = "@kbn/axe-config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//axe-core", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-axe-config/kibana.jsonc b/packages/kbn-axe-config/kibana.jsonc index f2444755f9096..09252ba807fa1 100644 --- a/packages/kbn-axe-config/kibana.jsonc +++ b/packages/kbn-axe-config/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/axe-config", "devOnly": true, - "owner": "@elastic/kibana-qa", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-qa" } diff --git a/packages/kbn-axe-config/package.json b/packages/kbn-axe-config/package.json index 77c6d2b4c31c4..54f699538acb5 100644 --- a/packages/kbn-axe-config/package.json +++ b/packages/kbn-axe-config/package.json @@ -2,8 +2,5 @@ "name": "@kbn/axe-config", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-axe-config/tsconfig.json b/packages/kbn-axe-config/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-axe-config/tsconfig.json +++ b/packages/kbn-axe-config/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-babel-plugin-package-imports/BUILD.bazel b/packages/kbn-babel-plugin-package-imports/BUILD.bazel new file mode 100644 index 0000000000000..87b5126abb74f --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/BUILD.bazel @@ -0,0 +1,31 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") + +SRCS = [ + "babel_plugin_package_imports.js", + "index.js", +] + +# In this array place runtime dependencies, including other packages and NPM packages +# which must be available for this code to run. +# +# To reference other packages use: +# "//repo/relative/path/to/package" +# eg. "//packages/kbn-utils" +# +# To reference a NPM package use: +# "@npm//name-of-package" +# eg. "@npm//lodash" +BUNDLER_DEPS = [ + "@npm//@babel/helper-plugin-utils", + "@npm//normalize-path", + "//packages/kbn-repo-info", + "//packages/kbn-package-map", +] + +js_library( + name = "kbn-babel-plugin-package-imports", + package_name = "@kbn/babel-plugin-package-imports", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-babel-plugin-package-imports/README.mdx b/packages/kbn-babel-plugin-package-imports/README.mdx new file mode 100644 index 0000000000000..1f36b2266b4a9 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/README.mdx @@ -0,0 +1,11 @@ +--- +id: kibDevDocsOpsBabelPluginPackageImports +slug: /kibana-dev-docs/ops/babel-plugin-package-imports +title: "@kbn/babel-plugin-package-imports" +description: A babel plugin that transforms our @kbn/{NAME} imports into paths +date: 2022-05-19 +tags: ['kibana', 'dev', 'contributor', 'operations', 'babel', 'plugin', 'packages', 'imports'] +--- + +When developing inside the Kibana repository importing a package from any other package is just easy as +importing `@kbn/{package-name}`. However not every package is a node_module yet and while that is something we are working on to accomplish we need a way to dealing with it for now. Using this babel plugin is our transitory solution. It allows us to import from module ids and then transform it automatically back into paths on the transpiled code without friction for our engineering teams. \ No newline at end of file diff --git a/packages/kbn-babel-plugin-package-imports/babel_plugin_package_imports.js b/packages/kbn-babel-plugin-package-imports/babel_plugin_package_imports.js new file mode 100644 index 0000000000000..3f3b155ff7abf --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/babel_plugin_package_imports.js @@ -0,0 +1,195 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Path = require('path'); + +const T = require('@babel/types'); +const normalizePath = require('normalize-path'); +const { declare } = require('@babel/helper-plugin-utils'); +const KbnSyntheticPackageMap = require('@kbn/package-map'); +const { REPO_ROOT } = require('@kbn/repo-info'); + +const PKG_MAP = KbnSyntheticPackageMap.readPackageMap(); + +/** + * @param {unknown} v + * @returns {v is Record} + */ +const isObj = (v) => typeof v === 'object' && !!v; + +/** + * @param {unknown} state + * @returns {string} + */ +function getFilename(state) { + if (!isObj(state) || typeof state.filename !== 'string' || !Path.isAbsolute(state.filename)) { + throw new Error( + `@kbn/babel-plugin-package-imports is only compatible when building files with absolute filename state` + ); + } + + return state.filename; +} + +/** + * @param {string} req + * @returns {import('./types').ParsedReq | undefined} + */ +function parseReq(req) { + if (!req.startsWith('@kbn/')) { + return; + } + + const parts = req.split('/'); + const moduleId = `@kbn/${parts[1]}`; + const dir = PKG_MAP.get(moduleId); + if (!dir) { + return; + } + + return { + req, + moduleId, + dir, + subParts: parts.slice(2), + }; +} + +/** + * @param {import('./types').ParsedReq} req + * @param {string} filename + */ +function fixImportRequest(req, filename) { + if (process.env.BAZEL_WORKSPACE === 'kibana') { + return; + } + + const rel = normalizePath( + Path.relative(Path.dirname(filename), Path.resolve(REPO_ROOT, req.dir, ...req.subParts)) + ); + + return rel.startsWith('.') ? rel : `./${rel}`; +} + +/** + * @param {T.CallExpression} node + * @returns {node is T.Import & { arguments: [T.StringLiteral] }} + */ +function isDynamicImport(node) { + return !!( + T.isImport(node.callee) && + node.arguments.length === 1 && + T.isStringLiteral(node.arguments[0]) + ); +} + +/** + * @param {T.CallExpression} node + * @returns {node is T.CallExpression & { arguments: [T.StringLiteral] }} + */ +function isRequire(node) { + return !!( + T.isIdentifier(node.callee) && + node.callee.name === 'require' && + node.arguments.length >= 1 && + T.isStringLiteral(node.arguments[0]) + ); +} + +/** + * @param {T.CallExpression} node + * @returns {node is T.CallExpression & { arguments: [T.StringLiteral] }} + */ +function isRequireResolve(node) { + return !!( + T.isMemberExpression(node.callee) && + T.isIdentifier(node.callee.object) && + node.callee.object.name === 'require' && + T.isIdentifier(node.callee.property) && + node.callee.property.name === 'resolve' && + node.arguments.length >= 1 && + T.isStringLiteral(node.arguments[0]) + ); +} + +/** + * @param {T.CallExpression} node + * @returns {node is T.CallExpression & { arguments: [T.StringLiteral] }} + */ +function isJestMockCall(node) { + return !!( + T.isMemberExpression(node.callee) && + T.isIdentifier(node.callee.object) && + node.callee.object.name === 'jest' && + node.arguments.length >= 1 && + T.isStringLiteral(node.arguments[0]) + ); +} + +module.exports = declare((api, options) => { + /** @type {Set | undefined} */ + const ignoredPkgIds = options.ignoredPkgIds; + + api.assertVersion(7); + + return { + name: 'kbn-package-imports', + visitor: { + /** + * @param {import('@babel/core').NodePath} path + */ + 'ImportDeclaration|ExportNamedDeclaration|ExportAllDeclaration'(path) { + const filename = getFilename(this); + + const source = path.node.source; + if (!T.isStringLiteral(source)) { + return; + } + + const req = source.value; + const parsed = parseReq(req); + if (!parsed || ignoredPkgIds?.has(parsed.moduleId)) { + return; + } + + const newReq = fixImportRequest(parsed, filename); + if (newReq) { + path.get('source').replaceWith(T.stringLiteral(newReq)); + } + }, + + /** + * @param {import('@babel/core').NodePath} path + */ + CallExpression(path) { + const filename = getFilename(this); + + const { node } = path; + if ( + !isDynamicImport(node) && + !isRequire(node) && + !isRequireResolve(node) && + !isJestMockCall(node) + ) { + return; + } + + const req = node.arguments[0].value; + const parsed = parseReq(req); + if (!parsed || ignoredPkgIds?.has(parsed.moduleId)) { + return; + } + + const newReq = fixImportRequest(parsed, filename); + if (newReq) { + path.get('arguments')[0].replaceWith(T.stringLiteral(newReq)); + } + }, + }, + }; +}); diff --git a/packages/kbn-babel-plugin-package-imports/index.js b/packages/kbn-babel-plugin-package-imports/index.js new file mode 100644 index 0000000000000..ce314829e93c3 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/index.js @@ -0,0 +1,9 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = require('./babel_plugin_package_imports'); diff --git a/packages/kbn-babel-plugin-package-imports/kibana.jsonc b/packages/kbn-babel-plugin-package-imports/kibana.jsonc new file mode 100644 index 0000000000000..c555d9f008776 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/babel-plugin-package-imports", + "devOnly": true, + "owner": "@elastic/kibana-operations" +} diff --git a/packages/kbn-babel-plugin-package-imports/package.json b/packages/kbn-babel-plugin-package-imports/package.json new file mode 100644 index 0000000000000..1d7206c6b1001 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/babel-plugin-package-imports", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-babel-plugin-package-imports/tsconfig.json b/packages/kbn-babel-plugin-package-imports/tsconfig.json new file mode 100644 index 0000000000000..cdf3aa866fce4 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "checkJs": true, + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.js", + "**/*.ts", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/repo-info", + "@kbn/package-map" + ] +} diff --git a/packages/kbn-babel-plugin-package-imports/types.ts b/packages/kbn-babel-plugin-package-imports/types.ts new file mode 100644 index 0000000000000..c556aa9b07339 --- /dev/null +++ b/packages/kbn-babel-plugin-package-imports/types.ts @@ -0,0 +1,14 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface ParsedReq { + req: string; + moduleId: string; + dir: string; + subParts: string[]; +} diff --git a/packages/kbn-babel-plugin-synthetic-packages/BUILD.bazel b/packages/kbn-babel-plugin-synthetic-packages/BUILD.bazel deleted file mode 100644 index a1e6891f23ec5..0000000000000 --- a/packages/kbn-babel-plugin-synthetic-packages/BUILD.bazel +++ /dev/null @@ -1,62 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-babel-plugin-synthetic-packages" -PKG_REQUIRE_NAME = "@kbn/babel-plugin-synthetic-packages" - -filegroup( - name = "srcs", - srcs = [ - "babel_plugin_synthetic_packages.js" - ], -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@babel/helper-plugin-utils", - "@npm//normalize-path", - "//packages/kbn-synthetic-package-map", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-babel-plugin-synthetic-packages/README.mdx b/packages/kbn-babel-plugin-synthetic-packages/README.mdx deleted file mode 100644 index 6f11e9cf2d6b9..0000000000000 --- a/packages/kbn-babel-plugin-synthetic-packages/README.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: kibDevDocsOpsBabelPluginSyntheticPackages -slug: /kibana-dev-docs/ops/babel-plugin-synthetic-packages -title: "@kbn/babel-plugin-synthetic-packages" -description: A babel plugin that transforms our @kbn/{NAME} imports into paths -date: 2022-05-19 -tags: ['kibana', 'dev', 'contributor', 'operations', 'babel', 'plugin', 'synthetic', 'packages'] ---- - -When developing inside the Kibana repository importing a package from any other package is just easy as importing `@kbn/{package-name}`. -However not every package is a node_module yet and while that is something we are working on to accomplish we need a way to dealing with it for -now. Using this babel plugin is our transitory solution. It allows us to import from module ids and then transform it automatically back into -paths on the transpiled code without friction for our engineering teams. \ No newline at end of file diff --git a/packages/kbn-babel-plugin-synthetic-packages/babel_plugin_synthetic_packages.js b/packages/kbn-babel-plugin-synthetic-packages/babel_plugin_synthetic_packages.js deleted file mode 100644 index 8caa3906c8fe0..0000000000000 --- a/packages/kbn-babel-plugin-synthetic-packages/babel_plugin_synthetic_packages.js +++ /dev/null @@ -1,183 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** @typedef {import('@babel/core').PluginObj} PluginObj */ - -const Path = require('path'); -const Fs = require('fs'); - -const T = require('@babel/types'); -const normalizePath = require('normalize-path'); -const { declare } = require('@babel/helper-plugin-utils'); -const KbnSyntheticPackageMap = require('@kbn/synthetic-package-map'); - -const PKG_MAP = KbnSyntheticPackageMap.readPackageMap(); -const PKG_MAP_HASH = KbnSyntheticPackageMap.readHashOfPackageMap(); - -function getFilename(state) { - if (typeof state !== 'object' || !state || !state.filename || !Path.isAbsolute(state.filename)) { - throw new Error( - `@kbn/babel-plugin-synthetic-packages is only compatible when building files with absolute filename state` - ); - } - - return state.filename; -} - -let foundKibanaRoot; -function getKibanaRoot(someSourceFilename) { - if (foundKibanaRoot) { - return foundKibanaRoot; - } - - // try to find the Kibana package.json file in a parent directory of the sourceFile - let cursorDir = Path.dirname(someSourceFilename); - while (true) { - const packageJsonPath = Path.resolve(cursorDir, 'package.json'); - try { - const pkg = JSON.parse(Fs.readFileSync(packageJsonPath, 'utf8')); - if (pkg && pkg.name === 'kibana') { - foundKibanaRoot = cursorDir; - return foundKibanaRoot; - } - } catch { - // this directory is not the Kibana dir - } - - const nextCursor = Path.dirname(cursorDir); - if (!nextCursor || nextCursor === cursorDir) { - // stop iterating when we get to the root of the root of the filesystem - break; - } - - cursorDir = nextCursor; - } - - throw new Error( - '@kbn/*-plugin and @kbn/core imports can only be used by source files which have not been converted to packages, building packages which rely on these imports requires converting the thing you want into a package.' - ); -} - -function fixImportRequest(req, filename, kibanaRoot) { - if (!req.startsWith('@kbn/')) { - return; - } - - const parts = req.split('/'); - const dir = PKG_MAP.get(`@kbn/${parts[1]}`); - if (!dir) { - return; - } - - return normalizePath( - Path.relative( - Path.dirname(filename), - Path.resolve(kibanaRoot ?? getKibanaRoot(filename), dir, ...parts.slice(2)) - ) - ); -} - -/** - * @param {T.CallExpression} node - */ -function isDynamicImport(node) { - return !!( - T.isImport(node.callee) && - node.arguments.length === 1 && - T.isStringLiteral(node.arguments[0]) - ); -} - -/** - * @param {T.CallExpression} node - */ -function isRequire(node) { - return !!( - T.isIdentifier(node.callee) && - node.callee.name === 'require' && - node.arguments.length >= 1 && - T.isStringLiteral(node.arguments[0]) - ); -} - -/** - * @param {T.CallExpression} node - */ -function isRequireResolve(node) { - return !!( - T.isMemberExpression(node.callee) && - T.isIdentifier(node.callee.object) && - node.callee.object.name === 'require' && - T.isIdentifier(node.callee.property) && - node.callee.property.name === 'resolve' && - node.arguments.length >= 1 && - T.isStringLiteral(node.arguments[0]) - ); -} - -/** - * @param {T.CallExpression} node - */ -function isJestMockCall(node) { - return !!( - T.isMemberExpression(node.callee) && - T.isIdentifier(node.callee.object) && - node.callee.object.name === 'jest' && - node.arguments.length >= 1 && - T.isStringLiteral(node.arguments[0]) - ); -} - -module.exports = declare((api, options) => { - const kibanaRoot = options['kibana/rootDir']; - - api.assertVersion(7); - api.cache.using(() => `${PKG_MAP_HASH}:${kibanaRoot}`); - - /** @type {PluginObj} */ - const plugin = { - name: 'synthetic-packages', - visitor: { - 'ImportDeclaration|ExportNamedDeclaration|ExportAllDeclaration'(path) { - const filename = getFilename(this); - - const source = path.node.source; - if (!T.isStringLiteral(source)) { - return; - } - - const req = source.value; - const newReq = fixImportRequest(req, filename, kibanaRoot); - if (newReq) { - path.get('source').replaceWith(T.stringLiteral(newReq)); - } - }, - CallExpression(path) { - const filename = getFilename(this); - - const { node } = path; - if ( - !isDynamicImport(node) && - !isRequire(node) && - !isRequireResolve(node) && - !isJestMockCall(node) - ) { - return; - } - - const req = node.arguments[0].value; - const newReq = fixImportRequest(req, filename, kibanaRoot); - if (newReq) { - path.get('arguments.0').replaceWith(T.stringLiteral(newReq)); - } - }, - }, - }; - - return plugin; -}); diff --git a/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc b/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc deleted file mode 100644 index a426d7bec6a2b..0000000000000 --- a/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/babel-plugin-synthetic-packages", - "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] -} diff --git a/packages/kbn-babel-plugin-synthetic-packages/package.json b/packages/kbn-babel-plugin-synthetic-packages/package.json deleted file mode 100644 index 89de157a11724..0000000000000 --- a/packages/kbn-babel-plugin-synthetic-packages/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@kbn/babel-plugin-synthetic-packages", - "private": true, - "version": "1.0.0", - "main": "./babel_plugin_synthetic_packages.js", - "license": "SSPL-1.0 OR Elastic License 2.0" -} diff --git a/packages/kbn-babel-preset/BUILD.bazel b/packages/kbn-babel-preset/BUILD.bazel index 7b4090ceac48e..73313161f6ac4 100644 --- a/packages/kbn-babel-preset/BUILD.bazel +++ b/packages/kbn-babel-preset/BUILD.bazel @@ -39,7 +39,7 @@ RUNTIME_DEPS = [ "@npm//babel-plugin-add-module-exports", "@npm//babel-plugin-styled-components", "@npm//babel-plugin-transform-react-remove-prop-types", - "//packages/kbn-babel-plugin-synthetic-packages", + "//packages/kbn-babel-plugin-package-imports", ] js_library( @@ -51,16 +51,3 @@ js_library( package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-babel-preset/common_babel_parser_options.js b/packages/kbn-babel-preset/common_babel_parser_options.js index aea9b94fd4180..576050b9d8862 100644 --- a/packages/kbn-babel-preset/common_babel_parser_options.js +++ b/packages/kbn-babel-preset/common_babel_parser_options.js @@ -8,6 +8,7 @@ // The @babel/parser options documentation can be found here: // https://babeljs.io/docs/en/babel-parser#options +/** @type {import('@babel/core').ParserOptions} */ module.exports = { sourceType: 'unambiguous', plugins: [ diff --git a/packages/kbn-babel-preset/common_preset.js b/packages/kbn-babel-preset/common_preset.js index 1c3e2135d1049..cfb8bf495c6a2 100644 --- a/packages/kbn-babel-preset/common_preset.js +++ b/packages/kbn-babel-preset/common_preset.js @@ -47,7 +47,18 @@ module.exports = (_, options = {}) => ({ }, ], - [require.resolve('@kbn/babel-plugin-synthetic-packages'), options], + ...(options['kibana/ignoreAllPkgImports'] + ? [] + : [ + [ + require.resolve('@kbn/babel-plugin-package-imports'), + { + ignoredPkgIds: options['kibana/ignoredPkgIds'] + ? new Set(options['kibana/ignoredPkgIds']) + : undefined, + }, + ], + ]), ], }, diff --git a/packages/kbn-babel-preset/kibana.jsonc b/packages/kbn-babel-preset/kibana.jsonc index fa4ca725c56de..f63a0c554e7e1 100644 --- a/packages/kbn-babel-preset/kibana.jsonc +++ b/packages/kbn-babel-preset/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/babel-preset", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-babel-preset/node_preset.js b/packages/kbn-babel-preset/node_preset.js index aa413a05013fc..54efea1cebb5a 100644 --- a/packages/kbn-babel-preset/node_preset.js +++ b/packages/kbn-babel-preset/node_preset.js @@ -31,7 +31,7 @@ module.exports = (_, options = {}) => { // Because of that we should use for that value the same version we install // in the package.json in order to have the same polyfills between the environment // and the tests - corejs: '3.26.1', + corejs: '3.27.1', bugfixes: true, ...(options['@babel/preset-env'] || {}), diff --git a/packages/kbn-babel-preset/tsconfig.json b/packages/kbn-babel-preset/tsconfig.json new file mode 100644 index 0000000000000..0792a42605d46 --- /dev/null +++ b/packages/kbn-babel-preset/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": [ + "**/*.js" + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-babel-preset/webpack_preset.js b/packages/kbn-babel-preset/webpack_preset.js index 75ceab91d8af5..7dfe996b91faf 100644 --- a/packages/kbn-babel-preset/webpack_preset.js +++ b/packages/kbn-babel-preset/webpack_preset.js @@ -8,7 +8,8 @@ const { USES_STYLED_COMPONENTS } = require('./styled_components_files'); -module.exports = (_, options = {}) => { +/** @type {import('@babel/core').ConfigFunction} */ +module.exports = (api, options = {}) => { return { presets: [ [ @@ -18,8 +19,9 @@ module.exports = (_, options = {}) => { modules: false, // Please read the explanation for this // in node_preset.js - corejs: '3.26.1', + corejs: '3.27.1', bugfixes: true, + browserslistEnv: api.env('production') ? 'production' : 'dev', }, ], [require('./common_preset'), options], diff --git a/packages/kbn-babel-register/BUILD.bazel b/packages/kbn-babel-register/BUILD.bazel new file mode 100644 index 0000000000000..962f000fb4fa8 --- /dev/null +++ b/packages/kbn-babel-register/BUILD.bazel @@ -0,0 +1,50 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") + +SRCS = glob( + [ + "**/*.js", + "**/*.ts", + ], + exclude = [ + "**/*.config.js", + "**/*.mock.*", + "**/*.test.*", + "**/*.stories.*", + "**/__snapshots__/**", + "**/integration_tests/**", + "**/mocks/**", + "**/scripts/**", + "**/storybook/**", + "**/test_fixtures/**", + "**/test_helpers/**", + ], +) + +# In this array place runtime dependencies, including other packages and NPM packages +# which must be available for this code to run. +# +# To reference other packages use: +# "//repo/relative/path/to/package" +# eg. "//packages/kbn-utils" +# +# To reference a NPM package use: +# "@npm//name-of-package" +# eg. "@npm//lodash" +BUNDLER_DEPS = [ + "@npm//@babel/core", + "@npm//chalk", + "@npm//pirates", + "@npm//lmdb", + "@npm//source-map-support", + "//packages/kbn-package-map", + "//packages/kbn-repo-info", + "//packages/kbn-babel-transform", +] + +js_library( + name = "kbn-babel-register", + package_name = "@kbn/babel-register", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-babel-register/README.md b/packages/kbn-babel-register/README.md new file mode 100644 index 0000000000000..5c11943e31813 --- /dev/null +++ b/packages/kbn-babel-register/README.md @@ -0,0 +1,3 @@ +# @kbn/babel-register + +Empty package generated by @kbn/generate diff --git a/packages/kbn-babel-register/cache/index.js b/packages/kbn-babel-register/cache/index.js new file mode 100644 index 0000000000000..78d17cf3e059d --- /dev/null +++ b/packages/kbn-babel-register/cache/index.js @@ -0,0 +1,80 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Fs = require('fs'); +const Path = require('path'); +const Crypto = require('crypto'); + +const { readHashOfPackageMap } = require('@kbn/package-map'); +const babel = require('@babel/core'); +const peggy = require('@kbn/peggy'); +const { REPO_ROOT, UPSTREAM_BRANCH } = require('@kbn/repo-info'); +const { getBabelOptions } = require('@kbn/babel-transform'); + +/** + * @babel/register uses a JSON encoded copy of the config + babel.version + * as the cache key for files, so we do something similar but we don't need + * a unique cache key for every file as our config isn't different for + * different files (by design). Instead we determine a unique prefix and + * automatically prepend all paths with the prefix to create cache keys + */ +function determineCachePrefix() { + const json = JSON.stringify({ + synthPkgMapHash: readHashOfPackageMap(), + babelVersion: babel.version, + peggyVersion: peggy.version, + // get a config for a fake js, ts, and tsx file to make sure we + // capture conditional config portions based on the file extension + js: babel.loadOptions(getBabelOptions(Path.resolve('foo.js'))), + ts: babel.loadOptions(getBabelOptions(Path.resolve('foo.ts'))), + tsx: babel.loadOptions(getBabelOptions(Path.resolve('foo.tsx'))), + }); + + return Crypto.createHash('sha256').update(json).digest('hex').slice(0, 10); +} + +function lmdbAvailable() { + try { + require('lmdb'); + return true; + } catch (error) { + return false; + } +} + +/** + * @returns {import('./types').Cache} + */ +function getCache() { + const log = process.env.DEBUG_BABEL_REGISTER_CACHE + ? Fs.createWriteStream('babel_register_cache.log', { flags: 'a' }) + : undefined; + + if (process.env.DISABLE_BABEL_REGISTER_CACHE) { + log?.end('lmdb cache is disabled\n'); + return new (require('./no_cache_cache').NoCacheCache)(); + } + + if (lmdbAvailable()) { + log?.write('lmdb is available, using lmdb cache\n'); + return new (require('./lmdb_cache').LmdbCache)({ + pathRoot: REPO_ROOT, + dir: Path.resolve(REPO_ROOT, 'data/babel_register_cache_v1', UPSTREAM_BRANCH), + prefix: determineCachePrefix(), + log, + }); + } + + log?.end('lmdb is unavailable, disabling cache\n'); + console.error('unable to load LMDB in this env, disabling babel/register cache'); + return new (require('./no_cache_cache').NoCacheCache)(); +} + +module.exports = { + getCache, +}; diff --git a/packages/kbn-babel-register/cache/lmdb_cache.js b/packages/kbn-babel-register/cache/lmdb_cache.js new file mode 100644 index 0000000000000..1c69ba1ed12a9 --- /dev/null +++ b/packages/kbn-babel-register/cache/lmdb_cache.js @@ -0,0 +1,280 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Path = require('path'); + +const chalk = require('chalk'); +const LmdbStore = require('lmdb'); + +const GLOBAL_ATIME = `${Date.now()}`; +const MINUTE = 1000 * 60; +const HOUR = MINUTE * 60; +const DAY = HOUR * 24; + +/** @typedef {import('./types').Cache} CacheInterface */ +/** @typedef {import('lmdb').Database} Db */ + +/** + * @param {Db} db + * @returns {string} + */ +const dbName = (db) => + // @ts-expect-error db.name is not a documented/typed property + db.name; + +/** + * @implements {CacheInterface} + */ +class LmdbCache { + /** @type {import('lmdb').RootDatabase} */ + #codes; + /** @type {Db} */ + #atimes; + /** @type {Db} */ + #mtimes; + /** @type {Db} */ + #sourceMaps; + /** @type {string} */ + #pathRoot; + /** @type {string} */ + #prefix; + /** @type {import('stream').Writable | undefined} */ + #log; + /** @type {ReturnType} */ + #timer; + + /** + * @param {import('./types').CacheConfig} config + */ + constructor(config) { + if (!Path.isAbsolute(config.pathRoot)) { + throw new Error('cache requires an absolute path to resolve paths relative to'); + } + + this.#pathRoot = config.pathRoot; + this.#prefix = config.prefix; + this.#log = config.log; + + this.#codes = LmdbStore.open(config.dir, { + name: 'codes', + encoding: 'string', + maxReaders: 500, + }); + + // TODO: redundant 'name' syntax is necessary because of a bug that I have yet to fix + this.#atimes = this.#codes.openDB('atimes', { + name: 'atimes', + encoding: 'string', + }); + + this.#mtimes = this.#codes.openDB('mtimes', { + name: 'mtimes', + encoding: 'string', + }); + + this.#sourceMaps = this.#codes.openDB('sourceMaps', { + name: 'sourceMaps', + encoding: 'string', + }); + + // after the process has been running for 30 minutes prune the + // keys which haven't been used in 30 days. We use `unref()` to + // make sure this timer doesn't hold other processes open + // unexpectedly + this.#timer = setTimeout(() => { + this.#pruneOldKeys().catch((error) => { + process.stderr.write(` +Failed to cleanup @kbn/babel-register cache: + + ${error.stack.split('\n').join('\n ')} + +To eliminate this problem you may want to delete the "${Path.relative(process.cwd(), config.dir)}" +directory and report this error to the Operations team.\n`); + }); + }, 30 * MINUTE); + + // timer.unref is not defined in jest which emulates the dom by default + if (typeof this.#timer.unref === 'function') { + this.#timer.unref(); + } + } + + /** + * @param {string} path + */ + getMtime(path) { + return this.#safeGet(this.#mtimes, this.#getKey(path)); + } + + /** + * @param {string} path + */ + getCode(path) { + const key = this.#getKey(path); + const code = this.#safeGet(this.#codes, key); + + if (code !== undefined) { + // when we use a file from the cache set the "atime" of that cache entry + // so that we know which cache items we use and which haven't been + // touched in a long time (currently 30 days) + this.#safePut(this.#atimes, key, GLOBAL_ATIME); + } + + return code; + } + + /** + * @param {string} path + */ + getSourceMap(path) { + const map = this.#safeGet(this.#sourceMaps, this.#getKey(path)); + if (typeof map === 'string') { + return JSON.parse(map); + } + } + + close() { + clearTimeout(this.#timer); + } + + /** + * @param {string} path + * @param {{ mtime: string; code: string; map?: any }} file + */ + async update(path, file) { + const key = this.#getKey(path); + + this.#safePut(this.#atimes, key, GLOBAL_ATIME); + this.#safePut(this.#mtimes, key, file.mtime); + this.#safePut(this.#codes, key, file.code); + + if (file.map) { + this.#safePut(this.#sourceMaps, key, JSON.stringify(file.map)); + } + } + + /** + * @param {string} path + */ + #getKey(path) { + const normalizedPath = + Path.sep !== '/' + ? Path.relative(this.#pathRoot, path).split(Path.sep).join('/') + : Path.relative(this.#pathRoot, path); + + return `${this.#prefix}:${normalizedPath}`; + } + + /** + * @param {LmdbStore.Database} db + * @param {string} key + */ + #safeGet(db, key) { + try { + const value = db.get(key); + this.#debug(value === undefined ? 'MISS' : 'HIT', db, key); + return value; + } catch (error) { + if (error.message.includes('No transaction to renew')) { + // this happens on errors very early in the process + return undefined; + } + + this.#logError('GET', db, key, error); + } + } + + /** + * @param {LmdbStore.Database} db + * @param {string} key + * @param {string} value + */ + #safePut(db, key, value) { + try { + db.putSync(key, value); + this.#debug('PUT', db, key); + } catch (error) { + this.#logError('PUT', db, key, error); + } + } + + /** + * @param {string} type + * @param {LmdbStore.Database} db + * @param {string} key + */ + #debug(type, db, key) { + this.#log?.write(`${type} [${dbName(db)}] ${String(key)}\n`); + } + + /** + * @param {'GET' | 'PUT'} type + * @param {LmdbStore.Database} db + * @param {string} key + * @param {Error} error + */ + #logError(type, db, key, error) { + this.#debug(`ERROR/${type}`, db, `${String(key)}: ${error.stack}`); + process.stderr.write( + chalk.red( + `[@kbn/optimizer/node] ${type} error [${dbName(db)}/${String(key)}]: ${error.stack}\n` + ) + ); + } + + async #pruneOldKeys() { + try { + const ATIME_LIMIT = Date.now() - 30 * DAY; + const BATCH_SIZE = 1000; + + /** @type {string[]} */ + const validKeys = []; + /** @type {string[]} */ + const invalidKeys = []; + + for (const { key, value } of this.#atimes.getRange()) { + const atime = parseInt(`${value}`, 10); + if (Number.isNaN(atime) || atime < ATIME_LIMIT) { + invalidKeys.push(key); + } else { + validKeys.push(key); + } + + if (validKeys.length + invalidKeys.length >= BATCH_SIZE) { + const promises = new Set(); + + if (invalidKeys.length) { + for (const k of invalidKeys) { + // all these promises are the same currently, so Set() will + // optimise this to a single promise, but I wouldn't be shocked + // if a future version starts returning independent promises so + // this is just for some future-proofing + promises.add(this.#atimes.remove(k)); + promises.add(this.#mtimes.remove(k)); + promises.add(this.#codes.remove(k)); + promises.add(this.#sourceMaps.remove(k)); + } + } else { + // delay a smidge to allow other things to happen before the next batch of checks + promises.add(new Promise((resolve) => setTimeout(resolve, 1))); + } + + invalidKeys.length = 0; + validKeys.length = 0; + await Promise.all(Array.from(promises)); + } + } + } catch { + // ignore errors, the cache is totally disposable and will rebuild if there is some sort of corruption + } + } +} + +module.exports = { + LmdbCache, +}; diff --git a/packages/kbn-babel-register/cache/lmdb_cache.test.ts b/packages/kbn-babel-register/cache/lmdb_cache.test.ts new file mode 100644 index 0000000000000..d752e45879aec --- /dev/null +++ b/packages/kbn-babel-register/cache/lmdb_cache.test.ts @@ -0,0 +1,88 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import { Writable } from 'stream'; + +import del from 'del'; + +import { LmdbCache } from './lmdb_cache'; + +const DIR = Path.resolve(__dirname, '../__tmp__/cache'); + +const makeTestLog = () => { + const log = Object.assign( + new Writable({ + write(chunk, enc, cb) { + log.output += chunk; + cb(); + }, + }), + { + output: '', + } + ); + + return log; +}; + +const instances: LmdbCache[] = []; +const makeCache = (...options: ConstructorParameters) => { + const instance = new LmdbCache(...options); + instances.push(instance); + return instance; +}; + +beforeEach(async () => await del(DIR)); +afterEach(async () => { + await del(DIR); + for (const instance of instances) { + instance.close(); + } + instances.length = 0; +}); + +it('returns undefined until values are set', async () => { + const path = '/foo/bar.js'; + const mtime = new Date().toJSON(); + const log = makeTestLog(); + const cache = makeCache({ + dir: DIR, + prefix: 'prefix', + log, + pathRoot: '/foo/', + }); + + expect(cache.getMtime(path)).toBe(undefined); + expect(cache.getCode(path)).toBe(undefined); + expect(cache.getSourceMap(path)).toBe(undefined); + + await cache.update(path, { + mtime, + code: 'var x = 1', + map: { foo: 'bar' }, + }); + + expect(cache.getMtime(path)).toBe(mtime); + expect(cache.getCode(path)).toBe('var x = 1'); + expect(cache.getSourceMap(path)).toEqual({ foo: 'bar' }); + expect(log.output).toMatchInlineSnapshot(` + "MISS [mtimes] prefix:bar.js + MISS [codes] prefix:bar.js + MISS [sourceMaps] prefix:bar.js + PUT [atimes] prefix:bar.js + PUT [mtimes] prefix:bar.js + PUT [codes] prefix:bar.js + PUT [sourceMaps] prefix:bar.js + HIT [mtimes] prefix:bar.js + HIT [codes] prefix:bar.js + PUT [atimes] prefix:bar.js + HIT [sourceMaps] prefix:bar.js + " + `); +}); diff --git a/packages/kbn-babel-register/cache/no_cache_cache.js b/packages/kbn-babel-register/cache/no_cache_cache.js new file mode 100644 index 0000000000000..b4608e866d3b6 --- /dev/null +++ b/packages/kbn-babel-register/cache/no_cache_cache.js @@ -0,0 +1,36 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** @typedef {import('./types').Cache} CacheInterface */ + +/** + * @implements {CacheInterface} + */ +class NoCacheCache { + getCode() { + return undefined; + } + + getMtime() { + return undefined; + } + + getSourceMap() { + return undefined; + } + + async update() { + return undefined; + } + + close() {} +} + +module.exports = { + NoCacheCache, +}; diff --git a/packages/kbn-babel-register/cache/types.ts b/packages/kbn-babel-register/cache/types.ts new file mode 100644 index 0000000000000..6438662ae2d65 --- /dev/null +++ b/packages/kbn-babel-register/cache/types.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Writable } from 'stream'; + +export interface CacheConfig { + pathRoot: string; + dir: string; + prefix: string; + log?: Writable; +} + +export interface Cache { + getMtime(path: string): string | undefined; + getCode(path: string): string | undefined; + getSourceMap(path: string): object | undefined; + update(path: string, opts: { mtime: string; code: string; map?: any }): Promise; + close(): void; +} diff --git a/packages/kbn-babel-register/index.js b/packages/kbn-babel-register/index.js new file mode 100644 index 0000000000000..ba20e1f1b18f0 --- /dev/null +++ b/packages/kbn-babel-register/index.js @@ -0,0 +1,137 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/* eslint-disable @kbn/eslint/require-license-header */ + +/** + * This module is based on @babel/register @ 9808d25, modified to use + * a more efficient caching implementation which writes to disk as + * the cache is built rather than keeping the whole cache in memory + * and then dumping it to disk when the process exits. + */ + +/** + * @notice + * MIT License + * + * Copyright (c) 2014-present Sebastian McKenzie and other contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +const Path = require('path'); + +const { addHook } = require('pirates'); +const sourceMapSupport = require('source-map-support'); + +const { getCache } = require('./cache'); + +const { TRANSFORMS } = require('./transforms'); + +/** @typedef {RegExp | string} Matcher */ + +/** @type {Matcher[]} */ +const IGNORE_PATTERNS = [ + // ignore paths matching `/node_modules/{a}`, unless `a` is "@kbn" + /[\/\\]node_modules[\/\\](?!@kbn)([^\/\\]+)[\/\\]/, + + // ignore packages with "babel" in their names + /[\/\\]packages[\/\\]([^\/\\]+-)?babel(-[^\/\\]+)?[\/\\]/, + + // ignore paths matching `/canvas/canvas_plugin/` + /[\/\\]canvas[\/\\]canvas_plugin[\/\\]/, +]; + +/** + * + * @param {string} path + * @param {Matcher[] | undefined} matchers + */ +function match(path, matchers) { + if (!matchers) { + return false; + } + + return matchers.some((m) => { + if (typeof m === 'string') { + if (m.endsWith('/')) { + return path.startsWith(m); + } + + return path === m || path.startsWith(m + Path.sep); + } + + return m.test(path); + }); +} + +let installed = false; + +/** + * @param {{ ignore?: Matcher[], only?: Matcher[] } | undefined} options + */ +function install(options = undefined) { + if (installed) { + return; + } + + installed = true; + const cache = getCache(); + + sourceMapSupport.install({ + handleUncaughtExceptions: false, + environment: 'node', + // @ts-expect-error bad source-map-support types + retrieveSourceMap(path) { + const map = cache.getSourceMap(path); + return map ? { map, url: null } : null; + }, + }); + + const ignorePatterns = options?.ignore + ? [...options.ignore, ...IGNORE_PATTERNS] + : IGNORE_PATTERNS; + + addHook( + (code, path) => { + const ext = Path.extname(path); + const transform = (Object.hasOwn(TRANSFORMS, ext) && TRANSFORMS[ext]) || TRANSFORMS.default; + return transform(path, code, cache); + }, + { + exts: ['.js', '.ts', '.tsx', '.peggy'], + ignoreNodeModules: false, + matcher(path) { + if (options?.only && !match(path, options.only)) { + return false; + } + + return !match(path, ignorePatterns); + }, + } + ); +} + +module.exports = { install }; diff --git a/packages/kbn-babel-register/install.js b/packages/kbn-babel-register/install.js new file mode 100644 index 0000000000000..55a635e6184a8 --- /dev/null +++ b/packages/kbn-babel-register/install.js @@ -0,0 +1,9 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +require('.').install(); diff --git a/packages/kbn-babel-register/jest.config.js b/packages/kbn-babel-register/jest.config.js new file mode 100644 index 0000000000000..03d9d66acdc08 --- /dev/null +++ b/packages/kbn-babel-register/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-babel-register'], +}; diff --git a/packages/kbn-babel-register/kibana.jsonc b/packages/kbn-babel-register/kibana.jsonc new file mode 100644 index 0000000000000..33dd730bc10b9 --- /dev/null +++ b/packages/kbn-babel-register/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/babel-register", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-babel-register/package.json b/packages/kbn-babel-register/package.json new file mode 100644 index 0000000000000..efca23be6801a --- /dev/null +++ b/packages/kbn-babel-register/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/babel-register", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-babel-register/transforms/babel.js b/packages/kbn-babel-register/transforms/babel.js new file mode 100644 index 0000000000000..a1557bd528896 --- /dev/null +++ b/packages/kbn-babel-register/transforms/babel.js @@ -0,0 +1,35 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Fs = require('fs'); + +const { transformCode } = require('@kbn/babel-transform'); + +/** @type {import('./types').Transform} */ +const babelTransform = (path, source, cache) => { + const mtime = `${Fs.statSync(path).mtimeMs}`; + + if (cache.getMtime(path) === mtime) { + const code = cache.getCode(path); + if (code) { + return code; + } + } + + const result = transformCode(path, source); + + cache.update(path, { + mtime, + code: result.code, + map: result.map, + }); + + return result.code; +}; + +module.exports = { babelTransform }; diff --git a/packages/kbn-babel-register/transforms/index.js b/packages/kbn-babel-register/transforms/index.js new file mode 100644 index 0000000000000..5b656eae913d1 --- /dev/null +++ b/packages/kbn-babel-register/transforms/index.js @@ -0,0 +1,17 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const { peggyTransform } = require('./peggy'); +const { babelTransform } = require('./babel'); + +module.exports = { + TRANSFORMS: { + '.peggy': peggyTransform, + default: babelTransform, + }, +}; diff --git a/packages/kbn-babel-register/transforms/peggy.js b/packages/kbn-babel-register/transforms/peggy.js new file mode 100644 index 0000000000000..b87676ca03bc3 --- /dev/null +++ b/packages/kbn-babel-register/transforms/peggy.js @@ -0,0 +1,49 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Fs = require('fs'); +const Crypto = require('crypto'); + +const Peggy = require('@kbn/peggy'); + +/** @type {import('./types').Transform} */ +const peggyTransform = (path, source, cache) => { + const config = Peggy.findConfigFile(path); + const mtime = `${Fs.statSync(path).mtimeMs}`; + const key = !config + ? path + : `${path}.config.${Crypto.createHash('sha256') + .update(config.source) + .digest('hex') + .slice(0, 8)}`; + + if (cache.getMtime(key) === mtime) { + const code = cache.getCode(key); + if (code) { + return code; + } + } + + const code = Peggy.getJsSourceSync({ + content: source, + path, + format: 'commonjs', + optimize: 'speed', + config, + skipConfigSearch: true, + }).source; + + cache.update(key, { + code, + mtime, + }); + + return code; +}; + +module.exports = { peggyTransform }; diff --git a/packages/kbn-babel-register/transforms/types.ts b/packages/kbn-babel-register/transforms/types.ts new file mode 100644 index 0000000000000..9d649f22ae627 --- /dev/null +++ b/packages/kbn-babel-register/transforms/types.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Cache } from '../cache/types'; + +export type Transform = (path: string, source: string, cache: Cache) => string; diff --git a/packages/kbn-babel-register/tsconfig.json b/packages/kbn-babel-register/tsconfig.json new file mode 100644 index 0000000000000..5d46380d2ef76 --- /dev/null +++ b/packages/kbn-babel-register/tsconfig.json @@ -0,0 +1,24 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "checkJs": true, + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.js", + "**/*.ts", + ], + "kbn_references": [ + "@kbn/package-map", + "@kbn/repo-info", + "@kbn/babel-transform", + "@kbn/peggy", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-babel-transform/BUILD.bazel b/packages/kbn-babel-transform/BUILD.bazel new file mode 100644 index 0000000000000..eb292fe60390d --- /dev/null +++ b/packages/kbn-babel-transform/BUILD.bazel @@ -0,0 +1,33 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") + +SRCS = glob( + [ + "**/*.js", + ], + exclude = [ + "**/*.config.js", + "**/*.mock.*", + "**/*.test.*", + "**/*.stories.*", + "**/__snapshots__/**", + "**/integration_tests/**", + "**/mocks/**", + "**/scripts/**", + "**/storybook/**", + "**/test_fixtures/**", + "**/test_helpers/**", + ], +) + +BUNDLER_DEPS = [ + "@npm//piscina", + "@npm//@babel/core", +] + +js_library( + name = "kbn-babel-transform", + package_name = "@kbn/babel-transform", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-babel-transform/README.md b/packages/kbn-babel-transform/README.md new file mode 100644 index 0000000000000..8f14d5ab82ba9 --- /dev/null +++ b/packages/kbn-babel-transform/README.md @@ -0,0 +1,3 @@ +# @kbn/babel-transform + +Empty package generated by @kbn/generate diff --git a/packages/kbn-babel-transform/fast_async_transformer.js b/packages/kbn-babel-transform/fast_async_transformer.js new file mode 100644 index 0000000000000..fad1a1762ba4d --- /dev/null +++ b/packages/kbn-babel-transform/fast_async_transformer.js @@ -0,0 +1,53 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Piscina = require('piscina'); + +/** + * @param {import('./types').TransformConfig} config + * @param {(transform: import('./types').Transform) => Promise} block + * @returns {Promise} + */ +async function withFastAsyncTransform(config, block) { + /** @type {import('./types').WorkerData} */ + const workerData = { + config, + }; + + const pool = new Piscina({ + filename: require.resolve('./fast_async_worker.mjs'), + idleTimeout: 200, + workerData, + }); + + /** @type {import('./types').Transform} */ + const transform = async (path, source) => { + /** @type {import('./types').WorkerTask} */ + const task = { + path, + source, + }; + return await pool.run(task); + }; + + let success = false; + try { + await block(transform); + success = true; + } finally { + try { + await pool.destroy(); + } catch (error) { + if (success === true) { + console.error(`Failure closing piscina pool: ${error.stack}`); + } + } + } +} + +module.exports = { withFastAsyncTransform }; diff --git a/packages/kbn-babel-transform/fast_async_worker.mjs b/packages/kbn-babel-transform/fast_async_worker.mjs new file mode 100644 index 0000000000000..171c1151c4340 --- /dev/null +++ b/packages/kbn-babel-transform/fast_async_worker.mjs @@ -0,0 +1,21 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { workerData } from 'piscina'; +import { transformCode } from './sync_transform.js'; + +/** @type {import('./types').WorkerData} */ +const { config } = workerData; + +/** + * @param {import('./types').WorkerTask} param0 + * @returns {Promise} + */ +export default async ({ path, source }) => { + return transformCode(path, source, config); +}; diff --git a/packages/kbn-babel-transform/index.js b/packages/kbn-babel-transform/index.js new file mode 100644 index 0000000000000..2ee140e1260ea --- /dev/null +++ b/packages/kbn-babel-transform/index.js @@ -0,0 +1,15 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** @typedef {import('./types').TransformConfig} TransformConfig */ + +const { getBabelOptions } = require('./options'); +const { transformCode } = require('./sync_transform'); +const { withFastAsyncTransform } = require('./fast_async_transformer'); + +module.exports = { transformCode, getBabelOptions, withFastAsyncTransform }; diff --git a/packages/kbn-babel-transform/jest.config.js b/packages/kbn-babel-transform/jest.config.js new file mode 100644 index 0000000000000..78f6018332bdd --- /dev/null +++ b/packages/kbn-babel-transform/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-babel-transform'], +}; diff --git a/packages/kbn-babel-transform/kibana.jsonc b/packages/kbn-babel-transform/kibana.jsonc new file mode 100644 index 0000000000000..72b7cf1a9cc82 --- /dev/null +++ b/packages/kbn-babel-transform/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/babel-transform", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-babel-transform/options.js b/packages/kbn-babel-transform/options.js new file mode 100644 index 0000000000000..4b98a790414e7 --- /dev/null +++ b/packages/kbn-babel-transform/options.js @@ -0,0 +1,39 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const NODE_PRESET = require.resolve('@kbn/babel-preset/node_preset'); + +const cwd = process.cwd(); + +/** + * get the babel options for a specific path, path does not + * exist, utit just might vary based on the file extension + * + * @param {string | undefined} path + * @param {import('./types').TransformConfig} config + * @returns {import('@babel/core').TransformOptions} + */ +function getBabelOptions(path, config = {}) { + return { + filename: path, + presets: [ + [ + NODE_PRESET, + { + 'kibana/ignoredPkgIds': config.ignoredPkgIds, + }, + ], + ], + cwd, + babelrc: false, + sourceMaps: config.disableSourceMaps ? false : 'both', + ast: false, + }; +} + +module.exports = { getBabelOptions }; diff --git a/packages/kbn-babel-transform/package.json b/packages/kbn-babel-transform/package.json new file mode 100644 index 0000000000000..6756ec19c71e0 --- /dev/null +++ b/packages/kbn-babel-transform/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/babel-transform", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-babel-transform/sync_transform.js b/packages/kbn-babel-transform/sync_transform.js new file mode 100644 index 0000000000000..d96ec0d6e854f --- /dev/null +++ b/packages/kbn-babel-transform/sync_transform.js @@ -0,0 +1,38 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const babel = require('@babel/core'); + +const { getBabelOptions } = require('./options'); + +/** + * transform the source code at the given path with babel + * using the standard configuration for the repository + * @param {string} path + * @param {string | undefined} source + * @param {import('./types').TransformConfig} config + * @returns + */ +function transformCode(path, source, config = {}) { + const options = getBabelOptions(path, config); + const result = + source === undefined + ? babel.transformFileSync(path, options) + : babel.transformSync(source, options); + + if (!result || !result.code) { + throw new Error(`babel failed to transpile [${path}]`); + } + + return { + code: result.code, + map: result.map, + }; +} + +module.exports = { transformCode }; diff --git a/packages/kbn-babel-transform/tsconfig.json b/packages/kbn-babel-transform/tsconfig.json new file mode 100644 index 0000000000000..d87e149617bd0 --- /dev/null +++ b/packages/kbn-babel-transform/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "checkJs": true, + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.js", + "**/*.ts", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-babel-transform/types.ts b/packages/kbn-babel-transform/types.ts new file mode 100644 index 0000000000000..1ccb31d9ebb7f --- /dev/null +++ b/packages/kbn-babel-transform/types.ts @@ -0,0 +1,28 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface TransformConfig { + disableSourceMaps?: boolean; + ignoredPkgIds?: string[]; +} + +export interface WorkerData { + config: TransformConfig; +} + +export interface WorkerTask { + path: string; + source: string; +} + +export interface WorkerResult { + code: string; + map?: any; +} + +export type Transform = (path: string, source: string) => Promise; diff --git a/packages/kbn-bazel-packages/BUILD.bazel b/packages/kbn-bazel-packages/BUILD.bazel deleted file mode 100644 index 83804b96e50be..0000000000000 --- a/packages/kbn-bazel-packages/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-bazel-packages" -PKG_REQUIRE_NAME = "@kbn/bazel-packages" - -SOURCE_FILES = glob( - [ - "**/*.js", - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS: -# eg. "@npm//@types/babel__core" -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - allow_js = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-bazel-packages/kibana.jsonc b/packages/kbn-bazel-packages/kibana.jsonc index fc373ccad73ad..b6e523cf1d5d7 100644 --- a/packages/kbn-bazel-packages/kibana.jsonc +++ b/packages/kbn-bazel-packages/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/bazel-packages", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-bazel-packages/package.json b/packages/kbn-bazel-packages/package.json index 32e4cdd4df279..4754d876b7aa4 100644 --- a/packages/kbn-bazel-packages/package.json +++ b/packages/kbn-bazel-packages/package.json @@ -2,7 +2,5 @@ "name": "@kbn/bazel-packages", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-bazel-packages/src/bazel_package.js b/packages/kbn-bazel-packages/src/bazel_package.js index 4a6d1b69bd8b2..bb5d42192bfee 100644 --- a/packages/kbn-bazel-packages/src/bazel_package.js +++ b/packages/kbn-bazel-packages/src/bazel_package.js @@ -8,21 +8,16 @@ const { inspect } = require('util'); const Path = require('path'); -const Fsp = require('fs/promises'); const { readPackageJson } = require('./parse_package_json'); const { readPackageManifest } = require('./parse_package_manifest'); -const BUILD_RULE_NAME = /(^|\s)name\s*=\s*"build"/; -const BUILD_TYPES_RULE_NAME = /(^|\s)name\s*=\s*"build_types"/; - /** * Representation of a Bazel Package in the Kibana repository * @class * @property {string} normalizedRepoRelativeDir * @property {import('./types').KibanaPackageManifest} manifest * @property {import('./types').ParsedPackageJson | undefined} pkg - * @property {string | undefined} buildBazelContent */ class BazelPackage { /** @@ -35,18 +30,10 @@ class BazelPackage { const manifest = readPackageManifest(path); const dir = Path.dirname(path); - let buildBazelContent; - try { - buildBazelContent = await Fsp.readFile(Path.resolve(dir, 'BUILD.bazel'), 'utf8'); - } catch (error) { - throw new Error(`unable to read BUILD.bazel file in [${dir}]: ${error.message}`); - } - return new BazelPackage( Path.relative(repoRoot, dir), manifest, - readPackageJson(Path.resolve(dir, 'package.json')), - buildBazelContent + readPackageJson(Path.resolve(dir, 'package.json')) ); } @@ -82,31 +69,11 @@ class BazelPackage { * Parsed package.json file from the package * @type {import('./types').ParsedPackageJson | undefined} */ - pkg, - /** - * Content of the BUILD.bazel file - * @type {string | undefined} - */ - buildBazelContent = undefined + pkg ) { this.normalizedRepoRelativeDir = normalizedRepoRelativeDir; this.manifest = manifest; this.pkg = pkg; - this.buildBazelContent = buildBazelContent; - } - - /** - * Returns true if the package includes a `:build` bazel rule - */ - hasBuildRule() { - return !!(this.buildBazelContent && BUILD_RULE_NAME.test(this.buildBazelContent)); - } - - /** - * Returns true if the package includes a `:build_types` bazel rule - */ - hasBuildTypesRule() { - return !!(this.buildBazelContent && BUILD_TYPES_RULE_NAME.test(this.buildBazelContent)); } /** diff --git a/packages/kbn-bazel-packages/src/bazel_package.test.ts b/packages/kbn-bazel-packages/src/bazel_package.test.ts deleted file mode 100644 index 202d4d96204e7..0000000000000 --- a/packages/kbn-bazel-packages/src/bazel_package.test.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fs from 'fs'; -import Path from 'path'; - -import { BazelPackage } from './bazel_package'; -import { KibanaPackageManifest, ParsedPackageJson } from './types'; - -const OWN_BAZEL_BUILD_FILE = Fs.readFileSync(Path.resolve(__dirname, '../BUILD.bazel'), 'utf8'); - -const pkgJson: ParsedPackageJson = { - name: 'foo', -}; -const manifest: KibanaPackageManifest = { - type: 'shared-common', - id: '@kbn/foo', - owner: ['@elastic/kibana-operations'], - runtimeDeps: [], - typeDeps: [], -}; - -describe('hasBuildRule()', () => { - it('returns true if there is a rule with the name "build"', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson, OWN_BAZEL_BUILD_FILE); - expect(pkg.hasBuildRule()).toBe(true); - }); - - it('returns false if there is no rule with name "build"', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson, ``); - expect(pkg.hasBuildRule()).toBe(false); - }); - - it('returns false if there is no BUILD.bazel file', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson); - expect(pkg.hasBuildRule()).toBe(false); - }); -}); - -describe('hasBuildTypesRule()', () => { - it('returns true if there is a rule with the name "build_types"', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson, OWN_BAZEL_BUILD_FILE); - expect(pkg.hasBuildTypesRule()).toBe(true); - }); - - it('returns false if there is no rule with name "build_types"', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson, ``); - expect(pkg.hasBuildTypesRule()).toBe(false); - }); - - it('returns false if there is no BUILD.bazel file', () => { - const pkg = new BazelPackage('foo', manifest, pkgJson); - expect(pkg.hasBuildTypesRule()).toBe(false); - }); -}); diff --git a/packages/kbn-bazel-packages/src/parse_package_manifest.js b/packages/kbn-bazel-packages/src/parse_package_manifest.js index 97a209bb47383..cd7310d278127 100644 --- a/packages/kbn-bazel-packages/src/parse_package_manifest.js +++ b/packages/kbn-bazel-packages/src/parse_package_manifest.js @@ -122,8 +122,7 @@ function validatePackageManifest(parsed) { throw new Error('expected manifest root to be an object'); } - const { type, id, owner, typeDeps, runtimeDeps, devOnly, plugin, sharedBrowserBundle, ...extra } = - parsed; + const { type, id, owner, devOnly, plugin, sharedBrowserBundle, ...extra } = parsed; const extraKeys = Object.keys(extra); if (extraKeys.length) { @@ -149,14 +148,6 @@ function validatePackageManifest(parsed) { ); } - if (!isArrOfStrings(typeDeps)) { - throw err(`typeDeps`, typeDeps, `must be an array of strings`); - } - - if (!isArrOfStrings(runtimeDeps)) { - throw err(`runtimeDeps`, runtimeDeps, `must be an array of strings`); - } - if (devOnly !== undefined && typeof devOnly !== 'boolean') { throw err(`devOnly`, devOnly, `must be a boolean when defined`); } @@ -164,8 +155,6 @@ function validatePackageManifest(parsed) { const base = { id, owner: Array.isArray(owner) ? owner : [owner], - typeDeps, - runtimeDeps, devOnly, }; diff --git a/packages/kbn-bazel-packages/src/types.ts b/packages/kbn-bazel-packages/src/types.ts index 106d0bce3fe52..2ad621900d492 100644 --- a/packages/kbn-bazel-packages/src/types.ts +++ b/packages/kbn-bazel-packages/src/types.ts @@ -58,16 +58,6 @@ interface PackageManifestBaseFields { * These values will be used in the codeowners files for this package. */ owner: string[]; - /** - * Packages which are required for the source code in the package to be type- - * checked. This list is updated automatically by the package linter - */ - typeDeps: string[]; - /** - * Packages which are required for the source code of the package to run. This - * list is updated automatically by the package linter. - */ - runtimeDeps: string[]; /** * A devOnly package can be used by other devOnly packages (and only * other devOnly packages) and will never be included in the distributable diff --git a/packages/kbn-bazel-packages/tsconfig.json b/packages/kbn-bazel-packages/tsconfig.json index b58cd70b2c650..19c7e8d59f651 100644 --- a/packages/kbn-bazel-packages/tsconfig.json +++ b/packages/kbn-bazel-packages/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, "checkJs": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -13,5 +11,8 @@ "include": [ "**/*.ts", "**/*.js" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-bazel-runner/BUILD.bazel b/packages/kbn-bazel-runner/BUILD.bazel deleted file mode 100644 index 6d5f2efd9defd..0000000000000 --- a/packages/kbn-bazel-runner/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-bazel-runner" -PKG_REQUIRE_NAME = "@kbn/bazel-runner" - -SOURCE_FILES = glob( - [ - "**/*.js", - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//execa", - "@npm//chalk", - "@npm//rxjs", - "//packages/kbn-dev-utils", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//execa", - "@npm//chalk", - "@npm//rxjs", - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - allow_js = True, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-bazel-runner/kibana.jsonc b/packages/kbn-bazel-runner/kibana.jsonc index b313e99f5b9cc..893ce216fc14b 100644 --- a/packages/kbn-bazel-runner/kibana.jsonc +++ b/packages/kbn-bazel-runner/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/bazel-runner", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-bazel-runner/package.json b/packages/kbn-bazel-runner/package.json index bf34fa74f8a69..c847ffbf6e907 100644 --- a/packages/kbn-bazel-runner/package.json +++ b/packages/kbn-bazel-runner/package.json @@ -2,7 +2,5 @@ "name": "@kbn/bazel-runner", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-bazel-runner/tsconfig.json b/packages/kbn-bazel-runner/tsconfig.json index 6065463237d14..b19a1a8e8cdd9 100644 --- a/packages/kbn-bazel-runner/tsconfig.json +++ b/packages/kbn-bazel-runner/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, "checkJs": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -13,5 +11,10 @@ "include": [ "**/*.js", "**/*.ts" + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-cases-components/BUILD.bazel b/packages/kbn-cases-components/BUILD.bazel deleted file mode 100644 index 742948f37f0f7..0000000000000 --- a/packages/kbn-cases-components/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-cases-components" -PKG_REQUIRE_NAME = "@kbn/cases-components" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "@npm//@elastic/eui", - "@npm//@testing-library/react", - "@npm//react", -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "@npm//@elastic/eui", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@testing-library/react", - "@npm//tslib", - "@npm//@types/react", - "@npm//@testing-library/jest-dom", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-cases-components/kibana.jsonc b/packages/kbn-cases-components/kibana.jsonc index 6893f2473ed17..8fa02ddd80ebb 100644 --- a/packages/kbn-cases-components/kibana.jsonc +++ b/packages/kbn-cases-components/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/cases-components", - "owner": "@elastic/response-ops", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/response-ops" } diff --git a/packages/kbn-cases-components/package.json b/packages/kbn-cases-components/package.json index 09d1d72ea8366..392a1a79b2047 100644 --- a/packages/kbn-cases-components/package.json +++ b/packages/kbn-cases-components/package.json @@ -2,8 +2,5 @@ "name": "@kbn/cases-components", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-cases-components/tsconfig.json b/packages/kbn-cases-components/tsconfig.json index f48d8e4a548bf..3d7519541dc8d 100644 --- a/packages/kbn-cases-components/tsconfig.json +++ b/packages/kbn-cases-components/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-chart-icons/BUILD.bazel b/packages/kbn-chart-icons/BUILD.bazel deleted file mode 100644 index d1ef991c0befd..0000000000000 --- a/packages/kbn-chart-icons/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-chart-icons" -PKG_REQUIRE_NAME = "@kbn/chart-icons" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx" - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-ui-theme", - "@npm//react", - "@npm//@elastic/eui", - "@npm//@emotion/css", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-ui-theme:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "@npm//@emotion/css", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-chart-icons/kibana.jsonc b/packages/kbn-chart-icons/kibana.jsonc index 47e7394190fa7..95089968838f1 100644 --- a/packages/kbn-chart-icons/kibana.jsonc +++ b/packages/kbn-chart-icons/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/chart-icons", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-chart-icons/package.json b/packages/kbn-chart-icons/package.json index 901cc41588b06..eb2854aa56120 100644 --- a/packages/kbn-chart-icons/package.json +++ b/packages/kbn-chart-icons/package.json @@ -2,8 +2,5 @@ "name": "@kbn/chart-icons", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-chart-icons/tsconfig.json b/packages/kbn-chart-icons/tsconfig.json index aed4b0c3763dc..c4f38f3a8ec94 100644 --- a/packages/kbn-chart-icons/tsconfig.json +++ b/packages/kbn-chart-icons/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/ui-theme" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ci-stats-core/BUILD.bazel b/packages/kbn-ci-stats-core/BUILD.bazel deleted file mode 100644 index 6d68336effc27..0000000000000 --- a/packages/kbn-ci-stats-core/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ci-stats-core" -PKG_REQUIRE_NAME = "@kbn/ci-stats-core" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-tooling-log", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-some-dev-log:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ci-stats-core/kibana.jsonc b/packages/kbn-ci-stats-core/kibana.jsonc index 9140ec71ef912..f25ef3ae32e9c 100644 --- a/packages/kbn-ci-stats-core/kibana.jsonc +++ b/packages/kbn-ci-stats-core/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ci-stats-core", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ci-stats-core/package.json b/packages/kbn-ci-stats-core/package.json index eb271889023a3..3b6f2c9c4c5db 100644 --- a/packages/kbn-ci-stats-core/package.json +++ b/packages/kbn-ci-stats-core/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ci-stats-core", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ci-stats-core/tsconfig.json b/packages/kbn-ci-stats-core/tsconfig.json index 57c1dd1c94e0f..053fda6b37925 100644 --- a/packages/kbn-ci-stats-core/tsconfig.json +++ b/packages/kbn-ci-stats-core/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/some-dev-log" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ci-stats-performance-metrics/BUILD.bazel b/packages/kbn-ci-stats-performance-metrics/BUILD.bazel deleted file mode 100644 index 3b3340c0e6cb3..0000000000000 --- a/packages/kbn-ci-stats-performance-metrics/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ci-stats-performance-metrics" -PKG_REQUIRE_NAME = "@kbn/ci-stats-performance-metrics" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-dev-cli-errors", - "//packages/kbn-dev-cli-runner", - "//packages/kbn-test", - "//packages/kbn-tooling-log", - "//packages/kbn-ci-stats-reporter", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-test:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-ci-stats-reporter:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ci-stats-performance-metrics/kibana.jsonc b/packages/kbn-ci-stats-performance-metrics/kibana.jsonc index 3c4b4a440a98f..720a500b7f28e 100644 --- a/packages/kbn-ci-stats-performance-metrics/kibana.jsonc +++ b/packages/kbn-ci-stats-performance-metrics/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ci-stats-performance-metrics", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ci-stats-performance-metrics/package.json b/packages/kbn-ci-stats-performance-metrics/package.json index 6d12a45cc4dbe..d12d40c45a545 100644 --- a/packages/kbn-ci-stats-performance-metrics/package.json +++ b/packages/kbn-ci-stats-performance-metrics/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ci-stats-performance-metrics", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ci-stats-performance-metrics/tsconfig.json b/packages/kbn-ci-stats-performance-metrics/tsconfig.json index 57c1dd1c94e0f..9eb039a7e008e 100644 --- a/packages/kbn-ci-stats-performance-metrics/tsconfig.json +++ b/packages/kbn-ci-stats-performance-metrics/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-errors", + "@kbn/dev-cli-runner", + "@kbn/tooling-log", + "@kbn/ci-stats-reporter" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ci-stats-reporter/BUILD.bazel b/packages/kbn-ci-stats-reporter/BUILD.bazel deleted file mode 100644 index 1a43bc14012ed..0000000000000 --- a/packages/kbn-ci-stats-reporter/BUILD.bazel +++ /dev/null @@ -1,131 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ci-stats-reporter" -PKG_REQUIRE_NAME = "@kbn/ci-stats-reporter" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//axios", - "@npm//execa", - "//packages/kbn-tooling-log", - "//packages/kbn-ci-stats-core", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//axios", - "@npm//execa", - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-ci-stats-core:npm_module_types", - "//packages/kbn-some-dev-log:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ci-stats-reporter/kibana.jsonc b/packages/kbn-ci-stats-reporter/kibana.jsonc index 9991f55a342f9..71eff10133dd3 100644 --- a/packages/kbn-ci-stats-reporter/kibana.jsonc +++ b/packages/kbn-ci-stats-reporter/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ci-stats-reporter", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ci-stats-reporter/package.json b/packages/kbn-ci-stats-reporter/package.json index b16ac7db77dcf..52d6fcea7607d 100644 --- a/packages/kbn-ci-stats-reporter/package.json +++ b/packages/kbn-ci-stats-reporter/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ci-stats-reporter", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ci-stats-reporter/src/ci_stats_reporter.ts b/packages/kbn-ci-stats-reporter/src/ci_stats_reporter.ts index f3c80eb3b22e6..0f469de2a4ebe 100644 --- a/packages/kbn-ci-stats-reporter/src/ci_stats_reporter.ts +++ b/packages/kbn-ci-stats-reporter/src/ci_stats_reporter.ts @@ -14,7 +14,7 @@ import crypto from 'crypto'; import execa from 'execa'; import Axios, { AxiosRequestConfig } from 'axios'; -import { REPO_ROOT, kibanaPackageJson } from '@kbn/utils'; +import { REPO_ROOT, kibanaPackageJson } from '@kbn/repo-info'; import { parseConfig, Config, CiStatsMetadata } from '@kbn/ci-stats-core'; import type { SomeDevLog } from '@kbn/some-dev-log'; diff --git a/packages/kbn-ci-stats-reporter/tsconfig.json b/packages/kbn-ci-stats-reporter/tsconfig.json index 57c1dd1c94e0f..e723397947260 100644 --- a/packages/kbn-ci-stats-reporter/tsconfig.json +++ b/packages/kbn-ci-stats-reporter/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/tooling-log", + "@kbn/ci-stats-core", + "@kbn/some-dev-log", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-cli-dev-mode/BUILD.bazel b/packages/kbn-cli-dev-mode/BUILD.bazel deleted file mode 100644 index 399ee78330c6a..0000000000000 --- a/packages/kbn-cli-dev-mode/BUILD.bazel +++ /dev/null @@ -1,144 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-cli-dev-mode" -PKG_REQUIRE_NAME = "@kbn/cli-dev-mode" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-config", - "//packages/kbn-config-schema", - "//packages/kbn-dev-utils", - "//packages/kbn-logging", - "//packages/kbn-optimizer", - "//packages/kbn-server-http-tools", - "//packages/kbn-std", - "//packages/kbn-utils", - "@npm//@hapi/h2o2", - "@npm//@hapi/hapi", - "@npm//argsplit", - "@npm//chokidar", - "@npm//elastic-apm-node", - "@npm//execa", - "@npm//getopts", - "@npm//lodash", - "@npm//moment", - "@npm//rxjs", - "@npm//supertest", -] - -TYPES_DEPS = [ - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-optimizer:npm_module_types", - "//packages/kbn-server-http-tools:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//argsplit", - "@npm//chokidar", - "@npm//elastic-apm-node", - "@npm//execa", - "@npm//getopts", - "@npm//moment", - "@npm//rxjs", - "@npm//supertest", - "@npm//@types/hapi__h2o2", - "@npm//@types/hapi__hapi", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/supertest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-cli-dev-mode/kibana.jsonc b/packages/kbn-cli-dev-mode/kibana.jsonc index 18c9cb7ba46a0..3c55d047b0efc 100644 --- a/packages/kbn-cli-dev-mode/kibana.jsonc +++ b/packages/kbn-cli-dev-mode/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/cli-dev-mode", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-cli-dev-mode/package.json b/packages/kbn-cli-dev-mode/package.json index f799551d83adc..08c4fc3598cd4 100644 --- a/packages/kbn-cli-dev-mode/package.json +++ b/packages/kbn-cli-dev-mode/package.json @@ -1,8 +1,6 @@ { "name": "@kbn/cli-dev-mode", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-cli-dev-mode/src/bootstrap.ts b/packages/kbn-cli-dev-mode/src/bootstrap.ts index 0428051b77e31..b4d7324ee7265 100644 --- a/packages/kbn-cli-dev-mode/src/bootstrap.ts +++ b/packages/kbn-cli-dev-mode/src/bootstrap.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { CliArgs, Env, RawConfigAdapter } from '@kbn/config'; import { CliDevMode } from './cli_dev_mode'; import { CliLog } from './log'; diff --git a/packages/kbn-cli-dev-mode/src/cli_dev_mode.test.ts b/packages/kbn-cli-dev-mode/src/cli_dev_mode.test.ts index 6dd96cbb0634b..675ffdc6faa79 100644 --- a/packages/kbn-cli-dev-mode/src/cli_dev_mode.test.ts +++ b/packages/kbn-cli-dev-mode/src/cli_dev_mode.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import * as Rx from 'rxjs'; import { createAbsolutePathSerializer, createAnyInstanceSerializer } from '@kbn/jest-serializers'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { TestLog } from './log'; import { CliDevMode, SomeCliArgs } from './cli_dev_mode'; diff --git a/packages/kbn-cli-dev-mode/src/cli_dev_mode.ts b/packages/kbn-cli-dev-mode/src/cli_dev_mode.ts index ccd3e61214463..3edfe5100f3e1 100644 --- a/packages/kbn-cli-dev-mode/src/cli_dev_mode.ts +++ b/packages/kbn-cli-dev-mode/src/cli_dev_mode.ts @@ -23,7 +23,7 @@ import { } from 'rxjs/operators'; import { CliArgs } from '@kbn/config'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Log, CliLog } from './log'; import { Optimizer } from './optimizer'; diff --git a/packages/kbn-cli-dev-mode/src/get_server_watch_paths.test.ts b/packages/kbn-cli-dev-mode/src/get_server_watch_paths.test.ts index 7cf35cb908e30..3c20254add43a 100644 --- a/packages/kbn-cli-dev-mode/src/get_server_watch_paths.test.ts +++ b/packages/kbn-cli-dev-mode/src/get_server_watch_paths.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getServerWatchPaths } from './get_server_watch_paths'; @@ -33,6 +33,14 @@ it('produces the right watch and ignore list', () => { /src/plugins, /test/plugin_functional/plugins, /x-pack/plugins, + /packages, + /packages/shared-ux, + /packages/analytics, + /packages/analytics/shippers, + /packages/analytics/shippers/elastic_v3, + /packages/home, + /packages/content-management, + /x-pack/packages/ml, ] `); diff --git a/packages/kbn-cli-dev-mode/src/get_server_watch_paths.ts b/packages/kbn-cli-dev-mode/src/get_server_watch_paths.ts index 452186c5ce179..9c2795482c999 100644 --- a/packages/kbn-cli-dev-mode/src/get_server_watch_paths.ts +++ b/packages/kbn-cli-dev-mode/src/get_server_watch_paths.ts @@ -9,7 +9,8 @@ import Path from 'path'; import Fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { BAZEL_PACKAGE_DIRS } from '@kbn/bazel-packages'; interface Options { pluginPaths: string[]; @@ -46,6 +47,7 @@ export function getServerWatchPaths({ pluginPaths, pluginScanDirs }: Options) { fromRoot('config'), ...pluginPaths, ...pluginScanDirs, + ...BAZEL_PACKAGE_DIRS, ].map((path) => Path.resolve(path)) ) ).filter((path) => Fs.existsSync(fromRoot(path))); diff --git a/packages/kbn-cli-dev-mode/tsconfig.json b/packages/kbn-cli-dev-mode/tsconfig.json index 60a261148e76b..b43017cae136b 100644 --- a/packages/kbn-cli-dev-mode/tsconfig.json +++ b/packages/kbn-cli-dev-mode/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,4 +10,20 @@ "include": [ "**/*.ts" ], + "kbn_references": [ + "@kbn/config", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/optimizer", + "@kbn/server-http-tools", + "@kbn/repo-info", + "@kbn/ci-stats-reporter", + "@kbn/jest-serializers", + "@kbn/stdio-dev-helpers", + "@kbn/bazel-packages", + "@kbn/tooling-log", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-coloring/BUILD.bazel b/packages/kbn-coloring/BUILD.bazel deleted file mode 100644 index 80a1f90ce918a..0000000000000 --- a/packages/kbn-coloring/BUILD.bazel +++ /dev/null @@ -1,155 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-coloring" -PKG_REQUIRE_NAME = "@kbn/coloring" - -SOURCE_FILES = glob( - [ - "**/*.scss", - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/kbn-interpreter", - "//packages/kbn-utility-types", - "//packages/kbn-shared-ux-utility", - "@npm//chroma-js", - "@npm//@elastic/eui", - "@npm//react-use", - "@npm//react", - "@npm//@emotion/react", - "@npm//@emotion/css", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-interpreter:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "@npm//@types/chroma-js", - "@npm//@types/react", - "@npm//@elastic/eui", - "@npm//react-use", - "@npm//@emotion/react", - "@npm//@emotion/css", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-coloring/kibana.jsonc b/packages/kbn-coloring/kibana.jsonc index 410698f345809..54d8787c964f5 100644 --- a/packages/kbn-coloring/kibana.jsonc +++ b/packages/kbn-coloring/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/coloring", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-coloring/package.json b/packages/kbn-coloring/package.json index df816c6e892b8..ec8092b3c6130 100644 --- a/packages/kbn-coloring/package.json +++ b/packages/kbn-coloring/package.json @@ -2,8 +2,5 @@ "name": "@kbn/coloring", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-coloring/tsconfig.json b/packages/kbn-coloring/tsconfig.json index e0b5f2c053305..54c068f8bd3b6 100644 --- a/packages/kbn-coloring/tsconfig.json +++ b/packages/kbn-coloring/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,16 @@ "**/*.scss", "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/interpreter", + "@kbn/utility-types", + "@kbn/shared-ux-utility", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-config-mocks/BUILD.bazel b/packages/kbn-config-mocks/BUILD.bazel deleted file mode 100644 index 5389233b8419b..0000000000000 --- a/packages/kbn-config-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-config-mocks" -PKG_REQUIRE_NAME = "@kbn/config-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-config", - "//packages/kbn-utils", -] - -TYPES_DEPS = [ - "@npm//rxjs", - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-config-mocks/kibana.jsonc b/packages/kbn-config-mocks/kibana.jsonc index de1d13289e8ff..db330e90a69f1 100644 --- a/packages/kbn-config-mocks/kibana.jsonc +++ b/packages/kbn-config-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/config-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-config-mocks/package.json b/packages/kbn-config-mocks/package.json index c2bbafd095dbe..5a6e504f3e4ba 100644 --- a/packages/kbn-config-mocks/package.json +++ b/packages/kbn-config-mocks/package.json @@ -2,8 +2,6 @@ "name": "@kbn/config-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-config-mocks/src/env.mock.ts b/packages/kbn-config-mocks/src/env.mock.ts index dd244cbf9500d..405a043863a81 100644 --- a/packages/kbn-config-mocks/src/env.mock.ts +++ b/packages/kbn-config-mocks/src/env.mock.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env, type RawPackageInfo, type EnvOptions } from '@kbn/config'; type DeepPartial = { diff --git a/packages/kbn-config-mocks/tsconfig.json b/packages/kbn-config-mocks/tsconfig.json index 57c1dd1c94e0f..2594906b1362f 100644 --- a/packages/kbn-config-mocks/tsconfig.json +++ b/packages/kbn-config-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config", + "@kbn/utility-types", + "@kbn/doc-links", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-config-schema/BUILD.bazel b/packages/kbn-config-schema/BUILD.bazel deleted file mode 100644 index 64734fa5f133b..0000000000000 --- a/packages/kbn-config-schema/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-config-schema" -PKG_REQUIRE_NAME = "@kbn/config-schema" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//joi", - "@npm//lodash", - "@npm//moment", - "@npm//tsd", - "@npm//type-detect", -] - -TYPES_DEPS = [ - "@npm//moment", - "@npm//tsd", - "@npm//@types/jest", - "@npm//joi", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/type-detect", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-config-schema/kibana.jsonc b/packages/kbn-config-schema/kibana.jsonc index c889555708675..9c936a1e3fa7f 100644 --- a/packages/kbn-config-schema/kibana.jsonc +++ b/packages/kbn-config-schema/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/config-schema", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-config-schema/package.json b/packages/kbn-config-schema/package.json index 4b58a5c559651..ee30ae58be3ca 100644 --- a/packages/kbn-config-schema/package.json +++ b/packages/kbn-config-schema/package.json @@ -1,9 +1,7 @@ { "name": "@kbn/config-schema", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "author": "Kibana Core", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-config-schema/tsconfig.json b/packages/kbn-config-schema/tsconfig.json index 569d575c72bcb..ffb5b09f86995 100644 --- a/packages/kbn-config-schema/tsconfig.json +++ b/packages/kbn-config-schema/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": true, "types": [ "jest", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-config/BUILD.bazel b/packages/kbn-config/BUILD.bazel deleted file mode 100644 index 69436dbcb4f6f..0000000000000 --- a/packages/kbn-config/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-config" -PKG_REQUIRE_NAME = "@kbn/config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-safer-lodash-set", - "//packages/kbn-config-schema", - "//packages/kbn-logging", - "//packages/kbn-logging-mocks", - "//packages/kbn-std", - "//packages/kbn-utility-types", - "//packages/kbn-i18n", - "//packages/kbn-plugin-discovery", - "//packages/kbn-doc-links", - "@npm//js-yaml", - "@npm//load-json-file", - "@npm//lodash", - "@npm//rxjs", - "@npm//type-detect", -] - -TYPES_DEPS = [ - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-plugin-discovery:npm_module_types", - "//packages/kbn-doc-links:npm_module_types", - "@npm//load-json-file", - "@npm//rxjs", - "@npm//@types/jest", - "@npm//@types/js-yaml", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/type-detect", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-config/kibana.jsonc b/packages/kbn-config/kibana.jsonc index e3bac638520bd..c6b4d1dc742c7 100644 --- a/packages/kbn-config/kibana.jsonc +++ b/packages/kbn-config/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/config", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-config/package.json b/packages/kbn-config/package.json index 11fabd92af291..fd26081187a8d 100644 --- a/packages/kbn-config/package.json +++ b/packages/kbn-config/package.json @@ -1,9 +1,7 @@ { "name": "@kbn/config", - "main": "./target_node/index.js", "version": "1.0.0", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-config/tsconfig.json b/packages/kbn-config/tsconfig.json index 57c1dd1c94e0f..0b75e6b015b33 100644 --- a/packages/kbn-config/tsconfig.json +++ b/packages/kbn-config/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,19 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/safer-lodash-set", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/logging-mocks", + "@kbn/std", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/plugin-discovery", + "@kbn/doc-links" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-crypto-browser/BUILD.bazel b/packages/kbn-crypto-browser/BUILD.bazel deleted file mode 100644 index bf3b4e43ef362..0000000000000 --- a/packages/kbn-crypto-browser/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-crypto-browser" -PKG_REQUIRE_NAME = "@kbn/crypto-browser" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-crypto-browser/kibana.jsonc b/packages/kbn-crypto-browser/kibana.jsonc index 9faf12c5f05b0..7bcbc106f23aa 100644 --- a/packages/kbn-crypto-browser/kibana.jsonc +++ b/packages/kbn-crypto-browser/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/crypto-browser", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-crypto-browser/package.json b/packages/kbn-crypto-browser/package.json index 98bedc14e7b0b..6838d31a7a6ba 100644 --- a/packages/kbn-crypto-browser/package.json +++ b/packages/kbn-crypto-browser/package.json @@ -2,8 +2,5 @@ "name": "@kbn/crypto-browser", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-crypto-browser/tsconfig.json b/packages/kbn-crypto-browser/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-crypto-browser/tsconfig.json +++ b/packages/kbn-crypto-browser/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-crypto/BUILD.bazel b/packages/kbn-crypto/BUILD.bazel deleted file mode 100644 index fb3bcbcfbd060..0000000000000 --- a/packages/kbn-crypto/BUILD.bazel +++ /dev/null @@ -1,113 +0,0 @@ - -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-crypto" -PKG_REQUIRE_NAME = "@kbn/crypto" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "@npm//node-forge", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "@npm//@types/flot", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/node-forge", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-crypto/kibana.jsonc b/packages/kbn-crypto/kibana.jsonc index 21f9cbbc81c74..c5f3a3e89edcb 100644 --- a/packages/kbn-crypto/kibana.jsonc +++ b/packages/kbn-crypto/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/crypto", - "owner": "@elastic/kibana-security", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-security" } diff --git a/packages/kbn-crypto/package.json b/packages/kbn-crypto/package.json index 8fa6cd3c232fa..f190b6edbd63d 100644 --- a/packages/kbn-crypto/package.json +++ b/packages/kbn-crypto/package.json @@ -2,7 +2,5 @@ "name": "@kbn/crypto", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-crypto/tsconfig.json b/packages/kbn-crypto/tsconfig.json index f40f9a4ee1cfb..9fbc68fcba64f 100644 --- a/packages/kbn-crypto/tsconfig.json +++ b/packages/kbn-crypto/tsconfig.json @@ -1,13 +1,17 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" ] }, - "include": ["**/*.ts"] + "include": ["**/*.ts"], + "kbn_references": [ + "@kbn/dev-utils" + ], + "exclude": [ + "target/**/*", + ] } diff --git a/packages/kbn-cypress-config/README.md b/packages/kbn-cypress-config/README.md new file mode 100644 index 0000000000000..7c1d1012d2c35 --- /dev/null +++ b/packages/kbn-cypress-config/README.md @@ -0,0 +1,3 @@ +# @kbn/cypress-config + +Empty package generated by @kbn/generate diff --git a/packages/kbn-cypress-config/index.ts b/packages/kbn-cypress-config/index.ts new file mode 100644 index 0000000000000..eed0d71288115 --- /dev/null +++ b/packages/kbn-cypress-config/index.ts @@ -0,0 +1,58 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { defineConfig } from 'cypress'; +import wp from '@cypress/webpack-preprocessor'; + +export function defineCypressConfig(options?: Cypress.ConfigOptions) { + return defineConfig({ + ...options, + e2e: { + ...options?.e2e, + setupNodeEvents(on, config) { + on( + 'file:preprocessor', + wp({ + webpackOptions: { + resolve: { + extensions: ['.ts', '.tsx', '.js'], + }, + module: { + rules: [ + { + test: /\.(js|tsx?)$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + babelrc: false, + envName: 'development', + presets: [require.resolve('@kbn/babel-preset/webpack_preset')], + }, + }, + }, + ], + }, + }, + }) + ); + + const external = options?.e2e?.setupNodeEvents; + if (external) { + external((event: any, task: any) => { + if (event === 'file:preprocessor') { + throw new Error('file:preprocessor is defined in @kbn/cypress-config'); + } + + on(event, task); + }, config); + } + }, + }, + }); +} diff --git a/packages/kbn-cypress-config/jest.config.js b/packages/kbn-cypress-config/jest.config.js new file mode 100644 index 0000000000000..80b50e63dd2ce --- /dev/null +++ b/packages/kbn-cypress-config/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-cypress-config'], +}; diff --git a/packages/kbn-cypress-config/kibana.jsonc b/packages/kbn-cypress-config/kibana.jsonc new file mode 100644 index 0000000000000..ff6bf9e11adec --- /dev/null +++ b/packages/kbn-cypress-config/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/cypress-config", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-cypress-config/package.json b/packages/kbn-cypress-config/package.json new file mode 100644 index 0000000000000..e4dd2c17427dc --- /dev/null +++ b/packages/kbn-cypress-config/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/cypress-config", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-cypress-config/tsconfig.json b/packages/kbn-cypress-config/tsconfig.json new file mode 100644 index 0000000000000..2f9ddddbeea23 --- /dev/null +++ b/packages/kbn-cypress-config/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/packages/kbn-datemath/BUILD.bazel b/packages/kbn-datemath/BUILD.bazel index 4e33d59d71823..cd0d792c43c9e 100644 --- a/packages/kbn-datemath/BUILD.bazel +++ b/packages/kbn-datemath/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "ts_project", "pkg_npm", "pkg_npm_types") -PKG_DIRNAME = "kbn-datemath" -PKG_REQUIRE_NAME = "@kbn/datemath" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", ], @@ -24,82 +19,14 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -TYPES_DEPS = [ +BUNDLER_DEPS = [ "@npm//moment", - "@npm//@types/node", ] -RUNTIME_DEPS = TYPES_DEPS - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig" -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-datemath", + package_name = "@kbn/datemath", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-datemath/kibana.jsonc b/packages/kbn-datemath/kibana.jsonc index 85522ceb11b9e..ab8ac6257044c 100644 --- a/packages/kbn-datemath/kibana.jsonc +++ b/packages/kbn-datemath/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/datemath", - "owner": "@elastic/kibana-app-services", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-app-services" } diff --git a/packages/kbn-datemath/package.json b/packages/kbn-datemath/package.json index 933620644ddd6..e6c119d7a1f88 100644 --- a/packages/kbn-datemath/package.json +++ b/packages/kbn-datemath/package.json @@ -3,9 +3,7 @@ "version": "5.0.4", "description": "elasticsearch datemath parser, used in kibana", "license": "Apache-2.0", - "main": "./target_node/index.js", "peerDependencies": { "moment": "^2.24.0" - }, - "types": "./target_types/index.d.ts" + } } \ No newline at end of file diff --git a/packages/kbn-datemath/tsconfig.json b/packages/kbn-datemath/tsconfig.json index b4316f3d2faac..2649fb45f0a42 100644 --- a/packages/kbn-datemath/tsconfig.json +++ b/packages/kbn-datemath/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node" ] }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-dev-cli-errors/BUILD.bazel b/packages/kbn-dev-cli-errors/BUILD.bazel deleted file mode 100644 index 07b095254a0a7..0000000000000 --- a/packages/kbn-dev-cli-errors/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-dev-cli-errors" -PKG_REQUIRE_NAME = "@kbn/dev-cli-errors" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-dev-cli-errors/kibana.jsonc b/packages/kbn-dev-cli-errors/kibana.jsonc index 66a63cdce3074..86fb72d378b19 100644 --- a/packages/kbn-dev-cli-errors/kibana.jsonc +++ b/packages/kbn-dev-cli-errors/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/dev-cli-errors", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-dev-cli-errors/package.json b/packages/kbn-dev-cli-errors/package.json index a40c9a3bccacc..da5f5ff1384db 100644 --- a/packages/kbn-dev-cli-errors/package.json +++ b/packages/kbn-dev-cli-errors/package.json @@ -2,7 +2,5 @@ "name": "@kbn/dev-cli-errors", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-cli-errors/tsconfig.json b/packages/kbn-dev-cli-errors/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-dev-cli-errors/tsconfig.json +++ b/packages/kbn-dev-cli-errors/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-dev-cli-runner/BUILD.bazel b/packages/kbn-dev-cli-runner/BUILD.bazel deleted file mode 100644 index 65036f7070977..0000000000000 --- a/packages/kbn-dev-cli-runner/BUILD.bazel +++ /dev/null @@ -1,145 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-dev-cli-runner" -PKG_REQUIRE_NAME = "@kbn/dev-cli-runner" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//chalk", - "@npm//dedent", - "@npm//execa", - "@npm//exit-hook", - "@npm//getopts", - "@npm//normalize-path", - "//packages/kbn-dev-cli-errors", - "//packages/kbn-ci-stats-reporter", - "//packages/kbn-dev-proc-runner", - "//packages/kbn-tooling-log", - "//packages/kbn-utils", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/dedent", - "@npm//@types/normalize-path", - "@npm//chalk", - "@npm//execa", - "@npm//exit-hook", - "@npm//getopts", - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-ci-stats-reporter:npm_module_types", - "//packages/kbn-dev-proc-runner:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-dev-cli-runner/kibana.jsonc b/packages/kbn-dev-cli-runner/kibana.jsonc index 43e1b39ab17f2..0be99cae70fba 100644 --- a/packages/kbn-dev-cli-runner/kibana.jsonc +++ b/packages/kbn-dev-cli-runner/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/dev-cli-runner", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-dev-cli-runner/package.json b/packages/kbn-dev-cli-runner/package.json index 94e1769933ce0..1d6b6fe158e66 100644 --- a/packages/kbn-dev-cli-runner/package.json +++ b/packages/kbn-dev-cli-runner/package.json @@ -2,7 +2,5 @@ "name": "@kbn/dev-cli-runner", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-cli-runner/src/metrics.ts b/packages/kbn-dev-cli-runner/src/metrics.ts index af9ee7478f637..c200a231926f4 100644 --- a/packages/kbn-dev-cli-runner/src/metrics.ts +++ b/packages/kbn-dev-cli-runner/src/metrics.ts @@ -9,7 +9,7 @@ import path from 'path'; import normalizePath from 'normalize-path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; import { ToolingLog } from '@kbn/tooling-log'; diff --git a/packages/kbn-dev-cli-runner/tsconfig.json b/packages/kbn-dev-cli-runner/tsconfig.json index 57c1dd1c94e0f..326a02a92f2c6 100644 --- a/packages/kbn-dev-cli-runner/tsconfig.json +++ b/packages/kbn-dev-cli-runner/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-errors", + "@kbn/ci-stats-reporter", + "@kbn/dev-proc-runner", + "@kbn/tooling-log", + "@kbn/jest-serializers", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-dev-proc-runner/BUILD.bazel b/packages/kbn-dev-proc-runner/BUILD.bazel deleted file mode 100644 index a2a344f41c35a..0000000000000 --- a/packages/kbn-dev-proc-runner/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-dev-proc-runner" -PKG_REQUIRE_NAME = "@kbn/dev-proc-runner" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//chalk", - "@npm//exit-hook", - "@npm//execa", - "@npm//rxjs", - "@npm//tree-kill", - "//packages/kbn-dev-cli-errors", - "//packages/kbn-tooling-log", - "//packages/kbn-stdio-dev-helpers", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//chalk", - "@npm//exit-hook", - "@npm//execa", - "@npm//rxjs", - "@npm//tree-kill", - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-stdio-dev-helpers:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-dev-proc-runner/kibana.jsonc b/packages/kbn-dev-proc-runner/kibana.jsonc index e028b7e7d795d..8f7a5ec071667 100644 --- a/packages/kbn-dev-proc-runner/kibana.jsonc +++ b/packages/kbn-dev-proc-runner/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/dev-proc-runner", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-dev-proc-runner/package.json b/packages/kbn-dev-proc-runner/package.json index bdc3c1793cf31..9052dda122970 100644 --- a/packages/kbn-dev-proc-runner/package.json +++ b/packages/kbn-dev-proc-runner/package.json @@ -2,7 +2,5 @@ "name": "@kbn/dev-proc-runner", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-proc-runner/tsconfig.json b/packages/kbn-dev-proc-runner/tsconfig.json index 57c1dd1c94e0f..06d628ebfe73c 100644 --- a/packages/kbn-dev-proc-runner/tsconfig.json +++ b/packages/kbn-dev-proc-runner/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-errors", + "@kbn/tooling-log", + "@kbn/stdio-dev-helpers" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-dev-utils/BUILD.bazel b/packages/kbn-dev-utils/BUILD.bazel deleted file mode 100644 index acdd6d9d4f557..0000000000000 --- a/packages/kbn-dev-utils/BUILD.bazel +++ /dev/null @@ -1,187 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-dev-utils" -PKG_REQUIRE_NAME = "@kbn/dev-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -filegroup( - name = "certs", - srcs = glob( - [ - "certs/**/*", - ], - exclude = [ - "**/README.md" - ], - ), -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-cli-runner", - "//packages/kbn-dev-cli-errors", - "//packages/kbn-dev-proc-runner", - "//packages/kbn-std", - "//packages/kbn-utils", - "//packages/kbn-plugin-discovery", - "//packages/kbn-tooling-log", - "//packages/kbn-stdio-dev-helpers", - "//packages/kbn-ci-stats-reporter", - "//packages/kbn-jest-serializers", - "//packages/kbn-kibana-manifest-schema", - "@npm//@babel/core", - "@npm//axios", - "@npm//chalk", - "@npm//cheerio", - "@npm//dedent", - "@npm//execa", - "@npm//exit-hook", - "@npm//getopts", - "@npm//jest-diff", - "@npm//load-json-file", - "@npm//markdown-it", - "@npm//normalize-path", - "@npm//prettier", - "@npm//rxjs", - "@npm//strip-ansi", - "@npm//sort-package-json", - "@npm//tar", - "@npm//tree-kill", - "@npm//vinyl", - "@npm//yauzl", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-dev-proc-runner:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-plugin-discovery:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-stdio-dev-helpers:npm_module_types", - "//packages/kbn-ci-stats-reporter:npm_module_types", - "//packages/kbn-jest-serializers:npm_module_types", - "//packages/kbn-kibana-manifest-schema:npm_module_types", - "@npm//@babel/parser", - "@npm//@babel/types", - "@npm//@types/babel__core", - "@npm//@types/cheerio", - "@npm//@types/dedent", - "@npm//@types/flot", - "@npm//@types/jest", - "@npm//@types/markdown-it", - "@npm//@types/node", - "@npm//@types/normalize-path", - "@npm//@types/prettier", - "@npm//@types/react", - "@npm//@types/tar", - "@npm//@types/testing-library__jest-dom", - "@npm//@types/vinyl", - "@npm//@types/yauzl", - "@npm//axios", - "@npm//execa", - "@npm//exit-hook", - "@npm//getopts", - "@npm//jest-diff", - "@npm//rxjs", - "@npm//sort-package-json", - "@npm//strip-ansi", - "@npm//tree-kill", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS + [":certs"], - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-dev-utils/index.ts b/packages/kbn-dev-utils/index.ts index d13e1c1f745bd..c1ee96a2a35ab 100644 --- a/packages/kbn-dev-utils/index.ts +++ b/packages/kbn-dev-utils/index.ts @@ -23,6 +23,5 @@ export * from './src/axios'; export * from './src/ship_ci_stats_cli'; export * from './src/plugin_list'; export * from './src/streams'; -export * from './src/babel'; export * from './src/extract'; export * from './src/diff_strings'; diff --git a/packages/kbn-dev-utils/kibana.jsonc b/packages/kbn-dev-utils/kibana.jsonc index 7a9e4e644dcf0..7cb93b0f5a1d4 100644 --- a/packages/kbn-dev-utils/kibana.jsonc +++ b/packages/kbn-dev-utils/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/dev-utils", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-dev-utils/package.json b/packages/kbn-dev-utils/package.json index b7c8416c7b1a9..ee5b938ed8630 100644 --- a/packages/kbn-dev-utils/package.json +++ b/packages/kbn-dev-utils/package.json @@ -2,7 +2,5 @@ "name": "@kbn/dev-utils", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-dev-utils/src/plugin_list/discover_plugins.ts b/packages/kbn-dev-utils/src/plugin_list/discover_plugins.ts index 5f0b623b29b18..f86d535e92914 100644 --- a/packages/kbn-dev-utils/src/plugin_list/discover_plugins.ts +++ b/packages/kbn-dev-utils/src/plugin_list/discover_plugins.ts @@ -11,7 +11,7 @@ import Fs from 'fs'; import MarkdownIt from 'markdown-it'; import cheerio from 'cheerio'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { simpleKibanaPlatformPluginDiscovery } from '@kbn/plugin-discovery'; import { extractAsciidocInfo } from './extract_asciidoc_info'; diff --git a/packages/kbn-dev-utils/src/plugin_list/generate_plugin_list.ts b/packages/kbn-dev-utils/src/plugin_list/generate_plugin_list.ts index 127e2a9904a4f..a0562b4ab846c 100644 --- a/packages/kbn-dev-utils/src/plugin_list/generate_plugin_list.ts +++ b/packages/kbn-dev-utils/src/plugin_list/generate_plugin_list.ts @@ -9,7 +9,7 @@ import Path from 'path'; import normalizePath from 'normalize-path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Plugins } from './discover_plugins'; diff --git a/packages/kbn-dev-utils/src/plugin_list/run_plugin_list_cli.ts b/packages/kbn-dev-utils/src/plugin_list/run_plugin_list_cli.ts index c03658cad8e2b..69bcd3389bf1c 100644 --- a/packages/kbn-dev-utils/src/plugin_list/run_plugin_list_cli.ts +++ b/packages/kbn-dev-utils/src/plugin_list/run_plugin_list_cli.ts @@ -8,7 +8,7 @@ import Path from 'path'; import Fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { discoverPlugins } from './discover_plugins'; diff --git a/packages/kbn-dev-utils/src/precommit_hook/cli.ts b/packages/kbn-dev-utils/src/precommit_hook/cli.ts index b0d6e57eee623..c3b1a62fc33f8 100644 --- a/packages/kbn-dev-utils/src/precommit_hook/cli.ts +++ b/packages/kbn-dev-utils/src/precommit_hook/cli.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { chmod, writeFile } from 'fs'; import { promisify } from 'util'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-dev-utils/src/precommit_hook/git_utils.ts b/packages/kbn-dev-utils/src/precommit_hook/git_utils.ts index 6ea1b12cbf5d5..ce6743ecbded8 100644 --- a/packages/kbn-dev-utils/src/precommit_hook/git_utils.ts +++ b/packages/kbn-dev-utils/src/precommit_hook/git_utils.ts @@ -8,7 +8,7 @@ import execa from 'execa'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; // Retrieves the correct location for the .git dir for // every git setup (including git worktree) diff --git a/packages/kbn-dev-utils/tsconfig.json b/packages/kbn-dev-utils/tsconfig.json index 57c1dd1c94e0f..a4ad2f1db3a71 100644 --- a/packages/kbn-dev-utils/tsconfig.json +++ b/packages/kbn-dev-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/plugin-discovery", + "@kbn/ci-stats-reporter", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-doc-links/BUILD.bazel b/packages/kbn-doc-links/BUILD.bazel deleted file mode 100644 index af0668f181897..0000000000000 --- a/packages/kbn-doc-links/BUILD.bazel +++ /dev/null @@ -1,116 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-doc-links" -PKG_REQUIRE_NAME = "@kbn/doc-links" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "//packages/kbn-std:npm_module_types", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-doc-links/kibana.jsonc b/packages/kbn-doc-links/kibana.jsonc index a3af199f6c32e..3fed0ac08449c 100644 --- a/packages/kbn-doc-links/kibana.jsonc +++ b/packages/kbn-doc-links/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/doc-links", - "owner": "@elastic/kibana-docs", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-docs" } diff --git a/packages/kbn-doc-links/package.json b/packages/kbn-doc-links/package.json index f041cf1b37dd4..169bc7043e264 100644 --- a/packages/kbn-doc-links/package.json +++ b/packages/kbn-doc-links/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/doc-links", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index ae5cd305a485b..12b2304bee8ad 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -380,7 +380,7 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { responseActions: `${SECURITY_SOLUTION_DOCS}response-actions.html`, configureEndpointIntegrationPolicy: `${SECURITY_SOLUTION_DOCS}configure-endpoint-integration-policy.html`, exceptions: { - value_lists: `${SECURITY_SOLUTION_DOCS}detections-ui-exceptions.html`, + value_lists: `${SECURITY_SOLUTION_DOCS}value-lists-exceptions.html`, }, privileges: `${SECURITY_SOLUTION_DOCS}endpoint-management-req.html`, }, @@ -490,6 +490,9 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { teamsAction: `${KIBANA_DOCS}teams-action-type.html#configuring-teams`, connectors: `${KIBANA_DOCS}action-types.html`, }, + taskManager: { + healthMonitoring: `${KIBANA_DOCS}task-manager-health-monitoring.html`, + }, maps: { guide: `${KIBANA_DOCS}maps.html`, importGeospatialPrivileges: `${KIBANA_DOCS}import-geospatial-data.html#import-geospatial-privileges`, diff --git a/packages/kbn-doc-links/src/types.ts b/packages/kbn-doc-links/src/types.ts index 68e09877b59ed..5d74b66f024f2 100644 --- a/packages/kbn-doc-links/src/types.ts +++ b/packages/kbn-doc-links/src/types.ts @@ -351,7 +351,31 @@ export interface DocLinks { syntheticsCommandReference: string; syntheticsProjectMonitors: string; }>; - readonly alerting: Record; + readonly alerting: Readonly<{ + guide: string; + actionTypes: string; + apmRules: string; + emailAction: string; + emailActionConfig: string; + emailExchangeClientSecretConfig: string; + emailExchangeClientIdConfig: string; + generalSettings: string; + indexAction: string; + esQuery: string; + indexThreshold: string; + pagerDutyAction: string; + preconfiguredConnectors: string; + preconfiguredAlertHistoryConnector: string; + serviceNowAction: string; + serviceNowSIRAction: string; + setupPrerequisites: string; + slackAction: string; + teamsAction: string; + connectors: string; + }>; + readonly taskManager: Readonly<{ + healthMonitoring: string; + }>; readonly maps: Readonly<{ guide: string; importGeospatialPrivileges: string; diff --git a/packages/kbn-doc-links/tsconfig.json b/packages/kbn-doc-links/tsconfig.json index 60a261148e76b..df789404c43f2 100644 --- a/packages/kbn-doc-links/tsconfig.json +++ b/packages/kbn-doc-links/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,4 +10,10 @@ "include": [ "**/*.ts" ], + "kbn_references": [ + "@kbn/std" + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-docs-utils/BUILD.bazel b/packages/kbn-docs-utils/BUILD.bazel deleted file mode 100644 index 6add8283f9648..0000000000000 --- a/packages/kbn-docs-utils/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-docs-utils" -PKG_REQUIRE_NAME = "@kbn/docs-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/snapshots/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-plugin-discovery", - "//packages/kbn-dev-utils", - "//packages/kbn-utils", - "@npm//dedent", - "@npm//ts-morph", -] - -TYPES_DEPS = [ - "//packages/kbn-plugin-discovery:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "@npm//ts-morph", - "@npm//@types/dedent", - "@npm//@types/jest", - "@npm//@types/js-yaml", - "@npm//@types/node", - "@npm//globby", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-docs-utils/kibana.jsonc b/packages/kbn-docs-utils/kibana.jsonc index 5e0ea2367d531..9700d3341a77a 100644 --- a/packages/kbn-docs-utils/kibana.jsonc +++ b/packages/kbn-docs-utils/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/docs-utils", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-docs-utils/package.json b/packages/kbn-docs-utils/package.json index 7f0c60985ad62..7449ac47a234c 100644 --- a/packages/kbn-docs-utils/package.json +++ b/packages/kbn-docs-utils/package.json @@ -2,7 +2,5 @@ "name": "@kbn/docs-utils", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": "true", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" + "private": "true" } \ No newline at end of file diff --git a/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts index 04a5101360a98..22d4d021198c4 100644 --- a/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts +++ b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; import { getPluginApiDocId } from '../utils'; import { extractImportReferences } from './extract_import_refs'; diff --git a/packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts index 76328a314b066..eca5f4598bfb6 100644 --- a/packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts +++ b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ParameterDeclaration, ClassMemberTypes, Node } from 'ts-morph'; import { BuildApiDecOpts } from './types'; import { isNamedNode } from '../tsmorph_utils'; diff --git a/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts b/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts index 97a94c469b0a5..620097c12b3b3 100644 --- a/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts +++ b/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts @@ -13,7 +13,7 @@ import Path from 'path'; import { run } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Project } from 'ts-morph'; import { writePluginDocs } from './mdx/write_plugin_mdx_docs'; @@ -29,6 +29,7 @@ import { countEslintDisableLines, EslintDisableCounts } from './count_eslint_dis import { writeDeprecationDueByTeam } from './mdx/write_deprecations_due_by_team'; import { trimDeletedDocsFromNav } from './trim_deleted_docs_from_nav'; import { getAllDocFileIds } from './mdx/get_all_doc_file_ids'; +import { getPathsByPackage } from './get_paths_by_package'; function isStringArray(arr: unknown | string[]): arr is string[] { return Array.isArray(arr) && arr.every((p) => typeof p === 'string'); @@ -89,14 +90,16 @@ export function runBuildApiDocsCli() { } = getPluginApiMap(project, plugins, log, { collectReferences, pluginFilter }); const reporter = CiStatsReporter.fromEnv(log); + const pathsByPlugin = await getPathsByPackage(plugins); const allPluginStats: { [key: string]: PluginMetaInfo & ApiStats & EslintDisableCounts } = {}; for (const plugin of plugins) { const id = plugin.manifest.id; const pluginApi = pluginApiMap[id]; + const paths = pathsByPlugin.get(plugin) ?? []; allPluginStats[id] = { - ...(await countEslintDisableLines(plugin.directory)), + ...(await countEslintDisableLines(paths)), ...collectApiStatsForPlugin( pluginApi, missingApiItems, diff --git a/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.test.ts b/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.test.ts index 3e0759ef4135f..ad3d92a9bad75 100644 --- a/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.test.ts +++ b/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.test.ts @@ -6,6 +6,8 @@ * Side Public License, v 1. */ +import Path from 'path'; +import { getRepoFiles } from '@kbn/get-repo-files'; import { countEslintDisableLines } from './count_eslint_disable'; /* eslint-disable no-console */ @@ -17,7 +19,7 @@ describe('countEslintDisableLines', () => { // eslint-disable-next-line prefer-const let testVar: string = ''; - const counts = await countEslintDisableLines(__filename); + const counts = await countEslintDisableLines([Path.resolve(__dirname, __filename)]); expect(counts.eslintDisableLineCount).toBe(1); expect(counts.eslintDisableFileCount).toBe(1); @@ -25,8 +27,9 @@ describe('countEslintDisableLines', () => { return testVar; }); - test('number of "eslint-disable*" in a directory', async () => { - const counts = await countEslintDisableLines(__dirname); + test('number of "eslint-disable*" in this directory', async () => { + const allFiles = await getRepoFiles([__dirname]); + const counts = await countEslintDisableLines(Array.from(allFiles, (f) => f.abs)); expect(counts).toMatchInlineSnapshot(` Object { "eslintDisableFileCount": 3, diff --git a/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.ts b/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.ts index abf17ca9a2563..eabe287122620 100644 --- a/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.ts +++ b/packages/kbn-docs-utils/src/api_docs/count_eslint_disable.ts @@ -6,65 +6,27 @@ * Side Public License, v 1. */ -import { asyncMapWithLimit } from '@kbn/std'; +import { asyncForEachWithLimit } from '@kbn/std'; import Fs from 'fs'; -import Path from 'path'; export interface EslintDisableCounts { eslintDisableLineCount: number; eslintDisableFileCount: number; } -async function fetchAllFilePaths(path: string): Promise { - if ((await Fs.promises.stat(path)).isFile()) { - return [path]; - } - const filePaths: string[] = []; - const dirContent = await Fs.promises.readdir(path, { withFileTypes: true }); - for (const item of dirContent) { - const itemPath = Path.resolve(path, item.name); - if (item.isDirectory()) { - filePaths.push(...(await fetchAllFilePaths(itemPath))); - } else if (item.isFile()) { - filePaths.push(itemPath); - } - } - return filePaths; -} - -function findOccurrences(fileContent: string, regexp: RegExp): number { - // using the flag 'g' returns an array of found occurrences. - const matchingResults = fileContent.toString().match(new RegExp(regexp, 'g')) || []; - return matchingResults.length; -} +const count = (s: string, r: RegExp) => Array.from(s.matchAll(r)).length; -async function countEsLintDisableInFile(path: string): Promise { - const fileContent = await Fs.promises.readFile(path, { encoding: 'utf8' }); - - return { - eslintDisableLineCount: - findOccurrences(fileContent, /eslint-disable-next-line/) + - findOccurrences(fileContent, /eslint-disable-line/), - eslintDisableFileCount: findOccurrences(fileContent, /eslint-disable\s/), - }; -} +export async function countEslintDisableLines(paths: string[]): Promise { + let eslintDisableFileCount = 0; + let eslintDisableLineCount = 0; -export async function countEslintDisableLines(path: string): Promise { - const filePaths = await fetchAllFilePaths(path); + await asyncForEachWithLimit(paths, 100, async (path) => { + const content = await Fs.promises.readFile(path, 'utf8'); - const allEslintDisableCounts = await asyncMapWithLimit(filePaths, 100, (filePath) => - countEsLintDisableInFile(filePath) - ); + eslintDisableLineCount += + count(content, /eslint-disable-next-line/g) + count(content, /eslint-disable-line/g); + eslintDisableFileCount += count(content, /eslint-disable\s/g); + }); - return allEslintDisableCounts.reduce( - (acc, fileEslintDisableCounts) => { - return { - eslintDisableFileCount: - acc.eslintDisableFileCount + fileEslintDisableCounts.eslintDisableFileCount, - eslintDisableLineCount: - acc.eslintDisableLineCount + fileEslintDisableCounts.eslintDisableLineCount, - }; - }, - { eslintDisableFileCount: 0, eslintDisableLineCount: 0 } - ); + return { eslintDisableFileCount, eslintDisableLineCount }; } diff --git a/packages/kbn-docs-utils/src/api_docs/find_plugins.ts b/packages/kbn-docs-utils/src/api_docs/find_plugins.ts index 6ba699d1466d0..a6f0a75cfe7a5 100644 --- a/packages/kbn-docs-utils/src/api_docs/find_plugins.ts +++ b/packages/kbn-docs-utils/src/api_docs/find_plugins.ts @@ -12,7 +12,7 @@ import globby from 'globby'; import loadJsonFile from 'load-json-file'; import { getPluginSearchPaths, simpleKibanaPlatformPluginDiscovery } from '@kbn/plugin-discovery'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ApiScope, PluginOrPackage } from './types'; export function findPlugins(): PluginOrPackage[] { diff --git a/packages/kbn-docs-utils/src/api_docs/get_paths_by_package.ts b/packages/kbn-docs-utils/src/api_docs/get_paths_by_package.ts new file mode 100644 index 0000000000000..50bc167df901e --- /dev/null +++ b/packages/kbn-docs-utils/src/api_docs/get_paths_by_package.ts @@ -0,0 +1,65 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { getRepoFiles } from '@kbn/get-repo-files'; +import { REPO_ROOT } from '@kbn/repo-info'; + +import { PluginOrPackage as Package } from './types'; + +export async function getPathsByPackage(packages: Package[]) { + /** + * find the package for a repo relative path by checking the + * cache for existing values, then if there is no cached value + * checking the parent directories recursively. When no value + * is found in the cache for this repoRel or any of its parents + * then null is returned. The cache is seeded with the locations + * of each package so if the repoRel is within a package it will + * match eventually. + */ + const cache = new Map( + packages.map((p) => [Path.relative(REPO_ROOT, p.directory), p]) + ); + function getPkg(repoRelDir: string): Package | null { + const cached = cache.get(repoRelDir); + if (cached !== undefined) { + return cached; + } + + const parent = Path.join(repoRelDir, '..'); + if (parent === '..' || parent === '.' || parent === repoRelDir) { + cache.set(repoRelDir, null); + return null; + } + + const pkg = getPkg(parent); + cache.set(repoRelDir, pkg); + return pkg; + } + + const pathsByPackage = new Map(); + for (const file of await getRepoFiles()) { + if (file.isFixture() || (!file.isJavaScript() && !file.isTypeScript())) { + continue; + } + + const path = file.abs; + const pkg = getPkg(Path.dirname(file.repoRel)); + if (pkg !== null) { + const existing = pathsByPackage.get(pkg); + if (existing) { + existing.push(path); + } else { + pathsByPackage.set(pkg, [path]); + } + } + } + + return pathsByPackage; +} diff --git a/packages/kbn-docs-utils/src/api_docs/trim_deleted_docs_from_nav.ts b/packages/kbn-docs-utils/src/api_docs/trim_deleted_docs_from_nav.ts index 2aa7dbf58f6f8..c6d9edbd483aa 100644 --- a/packages/kbn-docs-utils/src/api_docs/trim_deleted_docs_from_nav.ts +++ b/packages/kbn-docs-utils/src/api_docs/trim_deleted_docs_from_nav.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fsp from 'fs/promises'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; import { getAllDocFileIds } from './mdx/get_all_doc_file_ids'; diff --git a/packages/kbn-docs-utils/tsconfig.json b/packages/kbn-docs-utils/tsconfig.json index 884ead81c781f..6f64737de0d4d 100644 --- a/packages/kbn-docs-utils/tsconfig.json +++ b/packages/kbn-docs-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -13,6 +11,17 @@ "**/*.ts", ], "exclude": [ - "**/__fixtures__/**" + "**/__fixtures__/**", + "target/**/*", + ], + "kbn_references": [ + "@kbn/plugin-discovery", + "@kbn/tooling-log", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/ci-stats-reporter", + "@kbn/repo-info", + "@kbn/std", + "@kbn/get-repo-files", ] } diff --git a/packages/kbn-ebt-tools/BUILD.bazel b/packages/kbn-ebt-tools/BUILD.bazel deleted file mode 100644 index 07908d50346e8..0000000000000 --- a/packages/kbn-ebt-tools/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ebt-tools" -PKG_REQUIRE_NAME = "@kbn/ebt-tools" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [] - -TYPES_DEPS = [ - "//packages/analytics/client:npm_module_types", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ebt-tools/kibana.jsonc b/packages/kbn-ebt-tools/kibana.jsonc index f9fde6d48f046..8c063d20246e8 100644 --- a/packages/kbn-ebt-tools/kibana.jsonc +++ b/packages/kbn-ebt-tools/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ebt-tools", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-ebt-tools/package.json b/packages/kbn-ebt-tools/package.json index c3c73a542d016..39d718e0783b5 100644 --- a/packages/kbn-ebt-tools/package.json +++ b/packages/kbn-ebt-tools/package.json @@ -2,8 +2,5 @@ "name": "@kbn/ebt-tools", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-ebt-tools/tsconfig.json b/packages/kbn-ebt-tools/tsconfig.json index 57c1dd1c94e0f..278801bc74c53 100644 --- a/packages/kbn-ebt-tools/tsconfig.json +++ b/packages/kbn-ebt-tools/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/analytics-client", + "@kbn/logging-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ecs/BUILD.bazel b/packages/kbn-ecs/BUILD.bazel deleted file mode 100644 index c6701f62915cf..0000000000000 --- a/packages/kbn-ecs/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ecs" -PKG_REQUIRE_NAME = "@kbn/ecs" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ecs/kibana.jsonc b/packages/kbn-ecs/kibana.jsonc index 34d275e79c10a..380147ef4b203 100644 --- a/packages/kbn-ecs/kibana.jsonc +++ b/packages/kbn-ecs/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ecs", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-ecs/package.json b/packages/kbn-ecs/package.json index 9a00ecaa5c178..6b925c18388a3 100644 --- a/packages/kbn-ecs/package.json +++ b/packages/kbn-ecs/package.json @@ -3,7 +3,5 @@ "version": "1.0.0", "private": true, "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ecs/tsconfig.json b/packages/kbn-ecs/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-ecs/tsconfig.json +++ b/packages/kbn-ecs/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-es-archiver/BUILD.bazel b/packages/kbn-es-archiver/BUILD.bazel deleted file mode 100644 index 8358212331445..0000000000000 --- a/packages/kbn-es-archiver/BUILD.bazel +++ /dev/null @@ -1,128 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-es-archiver" -PKG_REQUIRE_NAME = "@kbn/es-archiver" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__", - "**/__mocks__", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-test", - "//packages/kbn-utils", - "@npm//@elastic/elasticsearch", - "@npm//aggregate-error", - "@npm//chance", - "@npm//globby", - "@npm//json-stable-stringify", - "@npm//lodash", - "@npm//sinon", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-test:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//aggregate-error", - "@npm//globby", - "@npm//@types/chance", - "@npm//@types/jest", - "@npm//@types/json-stable-stringify", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/sinon", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-es-archiver/kibana.jsonc b/packages/kbn-es-archiver/kibana.jsonc index cc2b4530ea552..d8cc353c56356 100644 --- a/packages/kbn-es-archiver/kibana.jsonc +++ b/packages/kbn-es-archiver/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/es-archiver", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-es-archiver/package.json b/packages/kbn-es-archiver/package.json index 5fd04d0f1b693..13346ad4f8346 100644 --- a/packages/kbn-es-archiver/package.json +++ b/packages/kbn-es-archiver/package.json @@ -2,7 +2,5 @@ "name": "@kbn/es-archiver", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": "true", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" -} + "private": "true" +} \ No newline at end of file diff --git a/packages/kbn-es-archiver/src/actions/load.ts b/packages/kbn-es-archiver/src/actions/load.ts index 82462a9421520..b6a4c46d42743 100644 --- a/packages/kbn-es-archiver/src/actions/load.ts +++ b/packages/kbn-es-archiver/src/actions/load.ts @@ -10,8 +10,8 @@ import { resolve, relative } from 'path'; import { createReadStream } from 'fs'; import { Readable } from 'stream'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; -import { KbnClient } from '@kbn/test'; +import { REPO_ROOT } from '@kbn/repo-info'; +import type { KbnClient } from '@kbn/test'; import type { Client } from '@elastic/elasticsearch'; import { createPromiseFromStreams, concatStreamProviders } from '@kbn/utils'; import { ES_CLIENT_HEADERS } from '../client_headers'; diff --git a/packages/kbn-es-archiver/src/actions/rebuild_all.ts b/packages/kbn-es-archiver/src/actions/rebuild_all.ts index 74062125fd795..ac5b75336c61b 100644 --- a/packages/kbn-es-archiver/src/actions/rebuild_all.ts +++ b/packages/kbn-es-archiver/src/actions/rebuild_all.ts @@ -11,7 +11,8 @@ import { Stats, createReadStream, createWriteStream } from 'fs'; import { stat, rename } from 'fs/promises'; import { Readable, Writable } from 'stream'; import { ToolingLog } from '@kbn/tooling-log'; -import { createPromiseFromStreams, REPO_ROOT } from '@kbn/utils'; +import { createPromiseFromStreams } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { prioritizeMappings, readDirectory, diff --git a/packages/kbn-es-archiver/src/actions/save.ts b/packages/kbn-es-archiver/src/actions/save.ts index 9fcbe45946eb7..b0a7c8153eeb9 100644 --- a/packages/kbn-es-archiver/src/actions/save.ts +++ b/packages/kbn-es-archiver/src/actions/save.ts @@ -11,7 +11,8 @@ import { createWriteStream, mkdirSync } from 'fs'; import { Readable, Writable } from 'stream'; import type { Client } from '@elastic/elasticsearch'; import { ToolingLog } from '@kbn/tooling-log'; -import { createListStream, createPromiseFromStreams, REPO_ROOT } from '@kbn/utils'; +import { createListStream, createPromiseFromStreams } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createStats, diff --git a/packages/kbn-es-archiver/src/actions/unload.ts b/packages/kbn-es-archiver/src/actions/unload.ts index e564bcbb1a703..f8e3118a9a04b 100644 --- a/packages/kbn-es-archiver/src/actions/unload.ts +++ b/packages/kbn-es-archiver/src/actions/unload.ts @@ -11,8 +11,9 @@ import { createReadStream } from 'fs'; import { Readable, Writable } from 'stream'; import type { Client } from '@elastic/elasticsearch'; import { ToolingLog } from '@kbn/tooling-log'; -import { KbnClient } from '@kbn/test'; -import { createPromiseFromStreams, REPO_ROOT } from '@kbn/utils'; +import type { KbnClient } from '@kbn/test'; +import { createPromiseFromStreams } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { isGzip, diff --git a/packages/kbn-es-archiver/src/es_archiver.ts b/packages/kbn-es-archiver/src/es_archiver.ts index 0a9937ca3d9b4..65de41148d8db 100644 --- a/packages/kbn-es-archiver/src/es_archiver.ts +++ b/packages/kbn-es-archiver/src/es_archiver.ts @@ -11,7 +11,7 @@ import Path from 'path'; import type { Client } from '@elastic/elasticsearch'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { KbnClient } from '@kbn/test'; import { diff --git a/packages/kbn-es-archiver/src/lib/archives/parse.test.ts b/packages/kbn-es-archiver/src/lib/archives/parse.test.ts index ae8fc7216ba27..40ac21d666a98 100644 --- a/packages/kbn-es-archiver/src/lib/archives/parse.test.ts +++ b/packages/kbn-es-archiver/src/lib/archives/parse.test.ts @@ -9,12 +9,8 @@ import Stream, { PassThrough, Readable, Writable, Transform } from 'stream'; import { createGzip } from 'zlib'; -import { - createConcatStream, - createListStream, - createPromiseFromStreams, - kibanaPackageJson, -} from '@kbn/utils'; +import { createConcatStream, createListStream, createPromiseFromStreams } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { createParseArchiveStreams } from './parse'; diff --git a/packages/kbn-es-archiver/src/lib/archives/parse.ts b/packages/kbn-es-archiver/src/lib/archives/parse.ts index a2657fbd661ad..d84846f3503d0 100644 --- a/packages/kbn-es-archiver/src/lib/archives/parse.ts +++ b/packages/kbn-es-archiver/src/lib/archives/parse.ts @@ -13,8 +13,8 @@ import { createSplitStream, createReplaceStream, createMapStream, - kibanaPackageJson, } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { RECORD_SEPARATOR } from './constants'; diff --git a/packages/kbn-es-archiver/tsconfig.json b/packages/kbn-es-archiver/tsconfig.json index 57c1dd1c94e0f..0301480548fc7 100644 --- a/packages/kbn-es-archiver/tsconfig.json +++ b/packages/kbn-es-archiver/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-utils", + "@kbn/test", + "@kbn/tooling-log", + "@kbn/utils", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/repo-info", + "@kbn/jest-serializers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-es-errors/BUILD.bazel b/packages/kbn-es-errors/BUILD.bazel deleted file mode 100644 index 0da72c1c13103..0000000000000 --- a/packages/kbn-es-errors/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-es-errors" -PKG_REQUIRE_NAME = "@kbn/es-errors" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//@elastic/elasticsearch" -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/elasticsearch" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-es-errors/kibana.jsonc b/packages/kbn-es-errors/kibana.jsonc index 3a121caaf95cc..aacc61f02c28d 100644 --- a/packages/kbn-es-errors/kibana.jsonc +++ b/packages/kbn-es-errors/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/es-errors", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-es-errors/package.json b/packages/kbn-es-errors/package.json index 91cd12e91b809..cb1314e45e6bc 100644 --- a/packages/kbn-es-errors/package.json +++ b/packages/kbn-es-errors/package.json @@ -2,8 +2,6 @@ "name": "@kbn/es-errors", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-es-errors/tsconfig.json b/packages/kbn-es-errors/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-es-errors/tsconfig.json +++ b/packages/kbn-es-errors/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-es-query/BUILD.bazel b/packages/kbn-es-query/BUILD.bazel index 95e7dcdcbe3cc..8d064f3e1262a 100644 --- a/packages/kbn-es-query/BUILD.bazel +++ b/packages/kbn-es-query/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-es-query" -PKG_REQUIRE_NAME = "@kbn/es-query" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", "**/grammar.peggy.config.json", @@ -28,20 +23,7 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-utility-types", +BUNDLER_DEPS = [ "//packages/kbn-i18n", "@npm//@elastic/elasticsearch", "@npm//load-json-file", @@ -49,90 +31,10 @@ RUNTIME_DEPS = [ "@npm//moment-timezone", ] -TYPES_DEPS = [ - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ambient-common-types:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//moment-timezone", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-es-query", + package_name = "@kbn/es-query", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-es-query/kibana.jsonc b/packages/kbn-es-query/kibana.jsonc index 2bd959eec53eb..727aad02554f6 100644 --- a/packages/kbn-es-query/kibana.jsonc +++ b/packages/kbn-es-query/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/es-query", - "owner": "@elastic/kibana-app-services", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-app-services" } diff --git a/packages/kbn-es-query/package.json b/packages/kbn-es-query/package.json index 026ceae873e39..7894764af2d87 100644 --- a/packages/kbn-es-query/package.json +++ b/packages/kbn-es-query/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/es-query", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-es-query/src/filters/helpers/compare_filters.test.ts b/packages/kbn-es-query/src/filters/helpers/compare_filters.test.ts index a7328758ec429..fb715039a5182 100644 --- a/packages/kbn-es-query/src/filters/helpers/compare_filters.test.ts +++ b/packages/kbn-es-query/src/filters/helpers/compare_filters.test.ts @@ -14,7 +14,7 @@ import { buildQueryFilter, FilterStateStore, } from '..'; -import { DataViewBase } from '@kbn/es-query'; +import { DataViewBase } from '../../..'; describe('filter manager utilities', () => { describe('compare filters', () => { diff --git a/packages/kbn-es-query/src/kuery/grammar/__mocks__/index.ts b/packages/kbn-es-query/src/kuery/grammar/__mocks__/index.ts index 9103c852c4845..c8466fead14a1 100644 --- a/packages/kbn-es-query/src/kuery/grammar/__mocks__/index.ts +++ b/packages/kbn-es-query/src/kuery/grammar/__mocks__/index.ts @@ -5,5 +5,5 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -// @ts-expect-error + export { parse } from './grammar'; diff --git a/packages/kbn-es-query/tsconfig.json b/packages/kbn-es-query/tsconfig.json index 8561f4bdc4a31..07000887f13f8 100644 --- a/packages/kbn-es-query/tsconfig.json +++ b/packages/kbn-es-query/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts", + "**/*.js", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-es-types/BUILD.bazel b/packages/kbn-es-types/BUILD.bazel deleted file mode 100644 index 77db3b126b120..0000000000000 --- a/packages/kbn-es-types/BUILD.bazel +++ /dev/null @@ -1,105 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-es-types" -PKG_REQUIRE_NAME = "@kbn/es-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//utility-types", - "@npm//@elastic/elasticsearch", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-es-types/kibana.jsonc b/packages/kbn-es-types/kibana.jsonc index 18af5562c4eeb..1c00cab81d2c4 100644 --- a/packages/kbn-es-types/kibana.jsonc +++ b/packages/kbn-es-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/es-types", - "owner": ["@elastic/kibana-core", "@elastic/apm-ui"], - "runtimeDeps": [], - "typeDeps": [], + "owner": ["@elastic/kibana-core", "@elastic/apm-ui"] } diff --git a/packages/kbn-es-types/package.json b/packages/kbn-es-types/package.json index 1e5c960975672..b8cae07fc5abd 100644 --- a/packages/kbn-es-types/package.json +++ b/packages/kbn-es-types/package.json @@ -2,8 +2,6 @@ "name": "@kbn/es-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-es-types/tsconfig.json b/packages/kbn-es-types/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-es-types/tsconfig.json +++ b/packages/kbn-es-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-es/BUILD.bazel b/packages/kbn-es/BUILD.bazel deleted file mode 100644 index 2aeaee4071d53..0000000000000 --- a/packages/kbn-es/BUILD.bazel +++ /dev/null @@ -1,78 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm") - -PKG_DIRNAME = "kbn-es" -PKG_REQUIRE_NAME = "@kbn/es" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.js", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//@elastic/elasticsearch", - "@npm//abort-controller", - "@npm//chalk", - "@npm//dedent", - "@npm//del", - "@npm//execa", - "@npm//getopts", - "@npm//globby", - "@npm//node-fetch", - "@npm//simple-git", - "@npm//tree-kill", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-es/README.mdx b/packages/kbn-es/README.mdx index a5392504490fe..d65171641613e 100644 --- a/packages/kbn-es/README.mdx +++ b/packages/kbn-es/README.mdx @@ -70,6 +70,16 @@ Type: `String` Location where snapshots are cached +## Snapshot Updates + +Snapshots are built and tested daily. If tests pass, the snapshot is promoted and will automatically be used when started from the CLI. + +CI pipelines supporting this can be found at: + +- https://buildkite.com/elastic/kibana-elasticsearch-snapshot-build +- https://buildkite.com/elastic/kibana-elasticsearch-snapshot-verify +- https://buildkite.com/elastic/kibana-elasticsearch-snapshot-promote + ## Snapshot Pinning Sometimes we need to pin snapshots for a specific version. We'd really like to get this automated, but until that is completed here are the steps to take to build, upload, and switch to pinned snapshots for a branch. diff --git a/packages/kbn-es/index.ts b/packages/kbn-es/index.ts index 7ec9f4482ea5f..aed2ab7af41c5 100644 --- a/packages/kbn-es/index.ts +++ b/packages/kbn-es/index.ts @@ -6,8 +6,6 @@ * Side Public License, v 1. */ -// @ts-expect-error not typed yet export { run } from './src/cli'; -// @ts-expect-error not typed yet export { Cluster } from './src/cluster'; export { SYSTEM_INDICES_SUPERUSER } from './src/utils'; diff --git a/packages/kbn-es/kibana.jsonc b/packages/kbn-es/kibana.jsonc index 6407107c3639c..d575c727ef33e 100644 --- a/packages/kbn-es/kibana.jsonc +++ b/packages/kbn-es/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/es", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-es/package.json b/packages/kbn-es/package.json index 38c138d688362..f3f33cf5e1ff6 100644 --- a/packages/kbn-es/package.json +++ b/packages/kbn-es/package.json @@ -1,6 +1,5 @@ { "name": "@kbn/es", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "private": true diff --git a/packages/kbn-es/src/cli.js b/packages/kbn-es/src/cli.js deleted file mode 100644 index a57b99ce9ca1b..0000000000000 --- a/packages/kbn-es/src/cli.js +++ /dev/null @@ -1,86 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const chalk = require('chalk'); -const getopts = require('getopts'); -const dedent = require('dedent'); -const commands = require('./cli_commands'); -const { isCliError } = require('./errors'); -const { log } = require('./utils'); - -function help() { - const availableCommands = Object.keys(commands).map( - (name) => `${name} - ${commands[name].description}` - ); - - console.log(dedent` - usage: es [] - - Assists with running Elasticsearch for Kibana development - - Available commands: - - ${availableCommands.join('\n ')} - - Global options: - - --help - `); -} - -exports.run = async (defaults = {}) => { - try { - const argv = process.argv.slice(2); - const options = getopts(argv, { - alias: { - h: 'help', - }, - - default: defaults, - }); - const args = options._; - const commandName = args[0]; - - if (args.length === 0 || (!commandName && options.help)) { - help(); - return; - } - - const command = commands[commandName]; - - if (command === undefined) { - log.error(chalk.red(`[${commandName}] is not a valid command, see 'es --help'`)); - process.exitCode = 1; - return; - } - - if (commandName && options.help) { - log.write(dedent` - usage: ${command.usage || `es ${commandName} []`} - - ${command.description} - - ${command.help(defaults).replace(/\n/g, '\n ')} - `); - return; - } - - await command.run(defaults); - } catch (error) { - if (isCliError(error)) { - // only log the message, the CLI explicitly threw this message - // and it doesn't need a stack trace - log.error(error.message); - } else { - log.error('Unhandled error'); - log.error(error); - } - - process.exitCode = 1; - } -}; diff --git a/packages/kbn-es/src/cli.ts b/packages/kbn-es/src/cli.ts new file mode 100644 index 0000000000000..d58a485f45f68 --- /dev/null +++ b/packages/kbn-es/src/cli.ts @@ -0,0 +1,87 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import chalk from 'chalk'; +import getopts from 'getopts'; +import dedent from 'dedent'; +import { commands } from './cli_commands'; +import { isCliError } from './errors'; +import { log } from './utils'; + +const isCmdName = (string: any): string is keyof typeof commands => Object.hasOwn(commands, string); +const commandNames = Object.keys(commands).filter(isCmdName); + +function help() { + const availableCommands = commandNames.map((name) => `${name} - ${commands[name].description}`); + + // eslint-disable-next-line no-console + console.log(dedent` + usage: es [] + + Assists with running Elasticsearch for Kibana development + + Available commands: + + ${availableCommands.join('\n ')} + + Global options: + + --help + `); +} + +export async function run(defaults = {}) { + try { + const argv = process.argv.slice(2); + const options = getopts(argv, { + alias: { + h: 'help', + }, + + default: defaults, + }); + const args = options._; + const commandName = args[0]; + + if (args.length === 0 || (!commandName && options.help)) { + help(); + return; + } + + if (!isCmdName(commandName)) { + log.error(chalk.red(`[${commandName}] is not a valid command, see 'es --help'`)); + process.exitCode = 1; + return; + } + const command = commands[commandName]; + + if (commandName && options.help) { + log.write(dedent` + usage: ${command.usage || `es ${commandName} []`} + + ${command.description} + + ${command.help(defaults).replace(/\n/g, '\n ')} + `); + return; + } + + await command.run(defaults); + } catch (error) { + if (isCliError(error)) { + // only log the message, the CLI explicitly threw this message + // and it doesn't need a stack trace + log.error(error.message); + } else { + log.error('Unhandled error'); + log.error(error); + } + + process.exitCode = 1; + } +} diff --git a/packages/kbn-es/src/cli_commands/archive.js b/packages/kbn-es/src/cli_commands/archive.js deleted file mode 100644 index 96ffc1fec34c2..0000000000000 --- a/packages/kbn-es/src/cli_commands/archive.js +++ /dev/null @@ -1,69 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const dedent = require('dedent'); -const getopts = require('getopts'); -const { Cluster } = require('../cluster'); -const { createCliError } = require('../errors'); -const { parseTimeoutToMs } = require('../utils'); - -exports.description = 'Install and run from an Elasticsearch tar'; - -exports.usage = 'es archive []'; - -exports.help = (defaults = {}) => { - const { password = 'changeme', 'base-path': basePath } = defaults; - - return dedent` - Options: - - --base-path Path containing cache/installations [default: ${basePath}] - --install-path Installation path, defaults to 'source' within base-path - --password Sets password for elastic user [default: ${password}] - --password.[user] Sets password for native realm user [default: ${password}] - --ssl Sets up SSL on Elasticsearch - -E Additional key=value settings to pass to Elasticsearch - --skip-ready-check Disable the ready check, - --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m - - Example: - - es archive ../elasticsearch.tar.gz -E cluster.name=test -E path.data=/tmp/es-data - `; -}; - -exports.run = async (defaults = {}) => { - const argv = process.argv.slice(2); - const options = getopts(argv, { - alias: { - basePath: 'base-path', - installPath: 'install-path', - esArgs: 'E', - skipReadyCheck: 'skip-ready-check', - readyTimeout: 'ready-timeout', - }, - - string: ['ready-timeout'], - boolean: ['skip-ready-check'], - - default: defaults, - }); - - const cluster = new Cluster({ ssl: options.ssl }); - const [, path] = options._; - - if (!path || !path.endsWith('tar.gz')) { - throw createCliError('you must provide a path to an ES tar file'); - } - - const { installPath } = await cluster.installArchive(path, options); - await cluster.run(installPath, { - ...options, - readyTimeout: parseTimeoutToMs(options.readyTimeout), - }); -}; diff --git a/packages/kbn-es/src/cli_commands/archive.ts b/packages/kbn-es/src/cli_commands/archive.ts new file mode 100644 index 0000000000000..af697975c59ed --- /dev/null +++ b/packages/kbn-es/src/cli_commands/archive.ts @@ -0,0 +1,68 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; +import getopts from 'getopts'; +import { Cluster } from '../cluster'; +import { createCliError } from '../errors'; +import { parseTimeoutToMs } from '../utils'; + +export const archive = { + description: 'Install and run from an Elasticsearch tar', + usage: 'es archive []', + help: (defaults: Record = {}) => { + const { password = 'changeme', 'base-path': basePath } = defaults; + + return dedent` + Options: + + --base-path Path containing cache/installations [default: ${basePath}] + --install-path Installation path, defaults to 'source' within base-path + --password Sets password for elastic user [default: ${password}] + --password.[user] Sets password for native realm user [default: ${password}] + --ssl Sets up SSL on Elasticsearch + -E Additional key=value settings to pass to Elasticsearch + --skip-ready-check Disable the ready check, + --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m + + Example: + + es archive ../elasticsearch.tar.gz -E cluster.name=test -E path.data=/tmp/es-data + `; + }, + run: async (defaults = {}) => { + const argv = process.argv.slice(2); + const options = getopts(argv, { + alias: { + basePath: 'base-path', + installPath: 'install-path', + esArgs: 'E', + skipReadyCheck: 'skip-ready-check', + readyTimeout: 'ready-timeout', + }, + + string: ['ready-timeout'], + boolean: ['skip-ready-check'], + + default: defaults, + }); + + const cluster = new Cluster({ ssl: options.ssl }); + const [, path] = options._; + + if (!path || !path.endsWith('tar.gz')) { + throw createCliError('you must provide a path to an ES tar file'); + } + + const { installPath } = await cluster.installArchive(path, options); + await cluster.run(installPath, { + ...options, + readyTimeout: parseTimeoutToMs(options.readyTimeout), + }); + }, +}; diff --git a/packages/kbn-es/src/cli_commands/build_snapshots.js b/packages/kbn-es/src/cli_commands/build_snapshots.js deleted file mode 100644 index b4a15a0645cce..0000000000000 --- a/packages/kbn-es/src/cli_commands/build_snapshots.js +++ /dev/null @@ -1,82 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const dedent = require('dedent'); -const { resolve, basename } = require('path'); -const { createHash } = require('crypto'); -const { promisify } = require('util'); -const { pipeline, Transform } = require('stream'); -const Fs = require('fs'); - -const getopts = require('getopts'); -const del = require('del'); - -const { buildSnapshot, log } = require('../utils'); - -const pipelineAsync = promisify(pipeline); - -exports.description = 'Build and collect ES snapshots'; - -exports.help = () => dedent` - Options: - - --output Path to create the built elasticsearch snapshots - --source-path Path where the elasticsearch repository is checked out - - Example: - - es build_snapshots --source-path=/path/to/es/checked/repo --output=/tmp/es-built-snapshots - `; - -exports.run = async (defaults = {}) => { - const argv = process.argv.slice(2); - const options = getopts(argv, { - alias: { - sourcePath: 'source-path', - }, - default: { - ...defaults, - output: 'es_snapshots', - }, - }); - - const outputDir = resolve(process.cwd(), options.output); - del.sync(outputDir); - Fs.mkdirSync(outputDir, { recursive: true }); - - for (const license of ['oss', 'trial']) { - for (const platform of ['darwin', 'win32', 'linux']) { - log.info('Building', platform, license === 'trial' ? 'default' : 'oss', 'snapshot'); - await log.indent(4, async () => { - const snapshotPath = await buildSnapshot({ - license, - sourcePath: options.sourcePath, - log, - platform, - }); - - const filename = basename(snapshotPath); - const outputPath = resolve(outputDir, filename); - const hash = createHash('sha512'); - await pipelineAsync( - Fs.createReadStream(snapshotPath), - new Transform({ - transform(chunk, _, cb) { - hash.update(chunk); - cb(undefined, chunk); - }, - }), - Fs.createWriteStream(outputPath) - ); - - Fs.writeFileSync(`${outputPath}.sha512`, `${hash.digest('hex')} ${filename}`); - log.success('snapshot and shasum written to', outputPath); - }); - } - } -}; diff --git a/packages/kbn-es/src/cli_commands/build_snapshots.ts b/packages/kbn-es/src/cli_commands/build_snapshots.ts new file mode 100644 index 0000000000000..cc730418af338 --- /dev/null +++ b/packages/kbn-es/src/cli_commands/build_snapshots.ts @@ -0,0 +1,83 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; +import { resolve, basename } from 'path'; +import { createHash } from 'crypto'; +import { promisify } from 'util'; +import { pipeline, Transform } from 'stream'; +import Fs from 'fs'; + +import getopts from 'getopts'; +import del from 'del'; + +import { buildSnapshot, log } from '../utils'; +import { Command } from './types'; + +const pipelineAsync = promisify(pipeline); + +export const buildSnapshots: Command = { + description: 'Build and collect ES snapshots', + help: () => dedent` + Options: + + --output Path to create the built elasticsearch snapshots + --source-path Path where the elasticsearch repository is checked out + + Example: + + es build_snapshots --source-path=/path/to/es/checked/repo --output=/tmp/es-built-snapshots + `, + run: async (defaults = {}) => { + const argv = process.argv.slice(2); + const options = getopts(argv, { + alias: { + sourcePath: 'source-path', + }, + default: { + ...defaults, + output: 'es_snapshots', + }, + }); + + const outputDir = resolve(process.cwd(), options.output); + del.sync(outputDir); + Fs.mkdirSync(outputDir, { recursive: true }); + + for (const license of ['oss', 'trial']) { + for (const platform of ['darwin', 'win32', 'linux']) { + log.info('Building', platform, license === 'trial' ? 'default' : 'oss', 'snapshot'); + await log.indent(4, async () => { + const snapshotPath = await buildSnapshot({ + license, + sourcePath: options.sourcePath, + log, + platform, + }); + + const filename = basename(snapshotPath); + const outputPath = resolve(outputDir, filename); + const hash = createHash('sha512'); + await pipelineAsync( + Fs.createReadStream(snapshotPath), + new Transform({ + transform(chunk, _, cb) { + hash.update(chunk); + cb(undefined, chunk); + }, + }), + Fs.createWriteStream(outputPath) + ); + + Fs.writeFileSync(`${outputPath}.sha512`, `${hash.digest('hex')} ${filename}`); + log.success('snapshot and shasum written to', outputPath); + }); + } + } + }, +}; diff --git a/packages/kbn-es/src/cli_commands/index.js b/packages/kbn-es/src/cli_commands/index.js deleted file mode 100644 index 1d2489031181c..0000000000000 --- a/packages/kbn-es/src/cli_commands/index.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -exports.snapshot = require('./snapshot'); -exports.source = require('./source'); -exports.archive = require('./archive'); -exports.build_snapshots = require('./build_snapshots'); diff --git a/packages/kbn-es/src/cli_commands/index.ts b/packages/kbn-es/src/cli_commands/index.ts new file mode 100644 index 0000000000000..f83829476563d --- /dev/null +++ b/packages/kbn-es/src/cli_commands/index.ts @@ -0,0 +1,19 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { snapshot } from './snapshot'; +import { source } from './source'; +import { archive } from './archive'; +import { buildSnapshots } from './build_snapshots'; + +export const commands = { + snapshot, + source, + archive, + build_snapshots: buildSnapshots, +}; diff --git a/packages/kbn-es/src/cli_commands/snapshot.js b/packages/kbn-es/src/cli_commands/snapshot.js deleted file mode 100644 index c0256fafbae7d..0000000000000 --- a/packages/kbn-es/src/cli_commands/snapshot.js +++ /dev/null @@ -1,103 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const dedent = require('dedent'); -const getopts = require('getopts'); -import { ToolingLog } from '@kbn/tooling-log'; -import { getTimeReporter } from '@kbn/ci-stats-reporter'; -const { Cluster } = require('../cluster'); -const { parseTimeoutToMs } = require('../utils'); - -exports.description = 'Downloads and run from a nightly snapshot'; - -exports.help = (defaults = {}) => { - const { license = 'basic', password = 'changeme', 'base-path': basePath } = defaults; - - return dedent` - Options: - - --license Run with a 'oss', 'basic', or 'trial' license [default: ${license}] - --version Version of ES to download [default: ${defaults.version}] - --base-path Path containing cache/installations [default: ${basePath}] - --install-path Installation path, defaults to 'source' within base-path - --data-archive Path to zip or tarball containing an ES data directory to seed the cluster with. - --password Sets password for elastic user [default: ${password}] - --password.[user] Sets password for native realm user [default: ${password}] - -E Additional key=value settings to pass to Elasticsearch - --download-only Download the snapshot but don't actually start it - --ssl Sets up SSL on Elasticsearch - --use-cached Skips cache verification and use cached ES snapshot. - --skip-ready-check Disable the ready check, - --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m - --plugins Comma seperated list of Elasticsearch plugins to install - --secure-files Comma seperated list of secure_setting_name=/path pairs - - Example: - - es snapshot --version 5.6.8 -E cluster.name=test -E path.data=/tmp/es-data - `; -}; - -exports.run = async (defaults = {}) => { - const runStartTime = Date.now(); - const log = new ToolingLog({ - level: 'info', - writeTo: process.stdout, - }); - const reportTime = getTimeReporter(log, 'scripts/es snapshot'); - - const argv = process.argv.slice(2); - const options = getopts(argv, { - alias: { - basePath: 'base-path', - installPath: 'install-path', - dataArchive: 'data-archive', - esArgs: 'E', - useCached: 'use-cached', - skipReadyCheck: 'skip-ready-check', - readyTimeout: 'ready-timeout', - secureFiles: 'secure-files', - }, - - string: ['version', 'ready-timeout'], - boolean: ['download-only', 'use-cached', 'skip-ready-check'], - - default: defaults, - }); - - const cluster = new Cluster({ ssl: options.ssl }); - if (options['download-only']) { - await cluster.downloadSnapshot(options); - } else { - const installStartTime = Date.now(); - const { installPath } = await cluster.installSnapshot(options); - - if (options.dataArchive) { - await cluster.extractDataDirectory(installPath, options.dataArchive); - } - if (options.plugins) { - await cluster.installPlugins(installPath, options.plugins, options); - } - if (options.secureFiles) { - const pairs = options.secureFiles.split(',').map((kv) => kv.split('=').map((v) => v.trim())); - await cluster.configureKeystoreWithSecureSettingsFiles(installPath, pairs); - } - - reportTime(installStartTime, 'installed', { - success: true, - ...options, - }); - - await cluster.run(installPath, { - reportTime, - startTime: runStartTime, - ...options, - readyTimeout: parseTimeoutToMs(options.readyTimeout), - }); - } -}; diff --git a/packages/kbn-es/src/cli_commands/snapshot.ts b/packages/kbn-es/src/cli_commands/snapshot.ts new file mode 100644 index 0000000000000..837acc3395e6b --- /dev/null +++ b/packages/kbn-es/src/cli_commands/snapshot.ts @@ -0,0 +1,107 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; +import getopts from 'getopts'; +import { ToolingLog } from '@kbn/tooling-log'; +import { getTimeReporter } from '@kbn/ci-stats-reporter'; + +import { Cluster } from '../cluster'; +import { parseTimeoutToMs } from '../utils'; +import { Command } from './types'; + +export const snapshot: Command = { + description: 'Downloads and run from a nightly snapshot', + help: (defaults = {}) => { + const { license = 'basic', password = 'changeme', 'base-path': basePath } = defaults; + + return dedent` + Options: + + --license Run with a 'oss', 'basic', or 'trial' license [default: ${license}] + --version Version of ES to download [default: ${defaults.version}] + --base-path Path containing cache/installations [default: ${basePath}] + --install-path Installation path, defaults to 'source' within base-path + --data-archive Path to zip or tarball containing an ES data directory to seed the cluster with. + --password Sets password for elastic user [default: ${password}] + --password.[user] Sets password for native realm user [default: ${password}] + -E Additional key=value settings to pass to Elasticsearch + --download-only Download the snapshot but don't actually start it + --ssl Sets up SSL on Elasticsearch + --use-cached Skips cache verification and use cached ES snapshot. + --skip-ready-check Disable the ready check, + --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m + --plugins Comma seperated list of Elasticsearch plugins to install + --secure-files Comma seperated list of secure_setting_name=/path pairs + + Example: + + es snapshot --version 5.6.8 -E cluster.name=test -E path.data=/tmp/es-data + `; + }, + run: async (defaults = {}) => { + const runStartTime = Date.now(); + const log = new ToolingLog({ + level: 'info', + writeTo: process.stdout, + }); + const reportTime = getTimeReporter(log, 'scripts/es snapshot'); + + const argv = process.argv.slice(2); + const options = getopts(argv, { + alias: { + basePath: 'base-path', + installPath: 'install-path', + dataArchive: 'data-archive', + esArgs: 'E', + useCached: 'use-cached', + skipReadyCheck: 'skip-ready-check', + readyTimeout: 'ready-timeout', + secureFiles: 'secure-files', + }, + + string: ['version', 'ready-timeout'], + boolean: ['download-only', 'use-cached', 'skip-ready-check'], + + default: defaults, + }); + + const cluster = new Cluster({ ssl: options.ssl }); + if (options['download-only']) { + await cluster.downloadSnapshot(options); + } else { + const installStartTime = Date.now(); + const { installPath } = await cluster.installSnapshot(options); + + if (options.dataArchive) { + await cluster.extractDataDirectory(installPath, options.dataArchive); + } + if (options.plugins) { + await cluster.installPlugins(installPath, options.plugins, options); + } + if (typeof options.secureFiles === 'string' && options.secureFiles) { + const pairs = options.secureFiles + .split(',') + .map((kv) => kv.split('=').map((v) => v.trim())); + await cluster.configureKeystoreWithSecureSettingsFiles(installPath, pairs); + } + + reportTime(installStartTime, 'installed', { + success: true, + ...options, + }); + + await cluster.run(installPath, { + reportTime, + startTime: runStartTime, + ...options, + readyTimeout: parseTimeoutToMs(options.readyTimeout), + }); + } + }, +}; diff --git a/packages/kbn-es/src/cli_commands/source.js b/packages/kbn-es/src/cli_commands/source.js deleted file mode 100644 index d1f8e02b55680..0000000000000 --- a/packages/kbn-es/src/cli_commands/source.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const dedent = require('dedent'); -const getopts = require('getopts'); -const { Cluster } = require('../cluster'); -const { parseTimeoutToMs } = require('../utils'); - -exports.description = 'Build and run from source'; - -exports.help = (defaults = {}) => { - const { license = 'basic', password = 'changeme', 'base-path': basePath } = defaults; - - return dedent` - Options: - - --license Run with a 'oss', 'basic', or 'trial' license [default: ${license}] - --source-path Path to ES source [default: ${defaults['source-path']}] - --base-path Path containing cache/installations [default: ${basePath}] - --install-path Installation path, defaults to 'source' within base-path - --data-archive Path to zip or tarball containing an ES data directory to seed the cluster with. - --password Sets password for elastic user [default: ${password}] - --password.[user] Sets password for native realm user [default: ${password}] - --ssl Sets up SSL on Elasticsearch - --plugins Comma seperated list of Elasticsearch plugins to install - --secure-files Comma seperated list of secure_setting_name=/path pairs - -E Additional key=value settings to pass to Elasticsearch - --skip-ready-check Disable the ready check, - --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m - - Example: - - es snapshot --source-path=../elasticsearch -E cluster.name=test -E path.data=/tmp/es-data - `; -}; - -exports.run = async (defaults = {}) => { - const argv = process.argv.slice(2); - const options = getopts(argv, { - alias: { - basePath: 'base-path', - installPath: 'install-path', - sourcePath: 'source-path', - dataArchive: 'data-archive', - skipReadyCheck: 'skip-ready-check', - readyTimeout: 'ready-timeout', - secureFiles: 'secure-files', - esArgs: 'E', - }, - - string: ['ready-timeout'], - boolean: ['skip-ready-check'], - - default: defaults, - }); - - const cluster = new Cluster({ ssl: options.ssl }); - const { installPath } = await cluster.installSource(options); - - if (options.dataArchive) { - await cluster.extractDataDirectory(installPath, options.dataArchive); - } - if (options.plugins) { - await cluster.installPlugins(installPath, options.plugins, options); - } - if (options.secureFiles) { - const pairs = options.secureFiles.split(',').map((kv) => kv.split('=').map((v) => v.trim())); - await cluster.configureKeystoreWithSecureSettingsFiles(installPath, pairs); - } - - await cluster.run(installPath, { - ...options, - readyTimeout: parseTimeoutToMs(options.readyTimeout), - }); -}; diff --git a/packages/kbn-es/src/cli_commands/source.ts b/packages/kbn-es/src/cli_commands/source.ts new file mode 100644 index 0000000000000..19bb59c057ac9 --- /dev/null +++ b/packages/kbn-es/src/cli_commands/source.ts @@ -0,0 +1,81 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; +import getopts from 'getopts'; +import { Cluster } from '../cluster'; +import { parseTimeoutToMs } from '../utils'; +import { Command } from './types'; + +export const source: Command = { + description: 'Build and run from source', + help: (defaults: Record = {}) => { + const { license = 'basic', password = 'changeme', 'base-path': basePath } = defaults; + + return dedent` + Options: + + --license Run with a 'oss', 'basic', or 'trial' license [default: ${license}] + --source-path Path to ES source [default: ${defaults['source-path']}] + --base-path Path containing cache/installations [default: ${basePath}] + --install-path Installation path, defaults to 'source' within base-path + --data-archive Path to zip or tarball containing an ES data directory to seed the cluster with. + --password Sets password for elastic user [default: ${password}] + --password.[user] Sets password for native realm user [default: ${password}] + --ssl Sets up SSL on Elasticsearch + --plugins Comma seperated list of Elasticsearch plugins to install + --secure-files Comma seperated list of secure_setting_name=/path pairs + -E Additional key=value settings to pass to Elasticsearch + --skip-ready-check Disable the ready check, + --ready-timeout Customize the ready check timeout, in seconds or "Xm" format, defaults to 1m + + Example: + + es snapshot --source-path=../elasticsearch -E cluster.name=test -E path.data=/tmp/es-data + `; + }, + run: async (defaults = {}) => { + const argv = process.argv.slice(2); + const options = getopts(argv, { + alias: { + basePath: 'base-path', + installPath: 'install-path', + sourcePath: 'source-path', + dataArchive: 'data-archive', + skipReadyCheck: 'skip-ready-check', + readyTimeout: 'ready-timeout', + secureFiles: 'secure-files', + esArgs: 'E', + }, + + string: ['ready-timeout'], + boolean: ['skip-ready-check'], + + default: defaults, + }); + + const cluster = new Cluster({ ssl: options.ssl }); + const { installPath } = await cluster.installSource(options); + + if (options.dataArchive) { + await cluster.extractDataDirectory(installPath, options.dataArchive); + } + if (options.plugins) { + await cluster.installPlugins(installPath, options.plugins, options); + } + if (typeof options.secureFiles === 'string' && options.secureFiles) { + const pairs = options.secureFiles.split(',').map((kv) => kv.split('=').map((v) => v.trim())); + await cluster.configureKeystoreWithSecureSettingsFiles(installPath, pairs); + } + + await cluster.run(installPath, { + ...options, + readyTimeout: parseTimeoutToMs(options.readyTimeout), + }); + }, +}; diff --git a/packages/kbn-es/src/cli_commands/types.ts b/packages/kbn-es/src/cli_commands/types.ts new file mode 100644 index 0000000000000..46ee273c3738c --- /dev/null +++ b/packages/kbn-es/src/cli_commands/types.ts @@ -0,0 +1,14 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface Command { + description: string; + usage?: string; + help: (defaults: Record) => string; + run: (defaults: Record) => Promise; +} diff --git a/packages/kbn-es/src/cluster_exec_options.ts b/packages/kbn-es/src/cluster_exec_options.ts index da21aaf05b139..f1b91bb52ff7e 100644 --- a/packages/kbn-es/src/cluster_exec_options.ts +++ b/packages/kbn-es/src/cluster_exec_options.ts @@ -16,4 +16,5 @@ export interface EsClusterExecOptions { skipReadyCheck?: boolean; readyTimeout?: number; onEarlyExit?: (msg: string) => void; + writeLogsToPath?: string; } diff --git a/packages/kbn-es/src/integration_tests/cluster.test.js b/packages/kbn-es/src/integration_tests/cluster.test.js index 1a871667bd7a9..9f62e0c46a018 100644 --- a/packages/kbn-es/src/integration_tests/cluster.test.js +++ b/packages/kbn-es/src/integration_tests/cluster.test.js @@ -59,6 +59,7 @@ function mockEsBin({ exitCode, start }) { jest.requireActual('execa')( process.execPath, [ + '--require=@kbn/babel-register/install', require.resolve('./__fixtures__/es_bin.js'), JSON.stringify({ exitCode, diff --git a/packages/kbn-es/src/utils/extract_config_files.js b/packages/kbn-es/src/utils/extract_config_files.js deleted file mode 100644 index 16cd2514f7a43..0000000000000 --- a/packages/kbn-es/src/utils/extract_config_files.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const path = require('path'); -const fs = require('fs'); - -/** - * Copies config references to an absolute path to - * the provided destination. This is necessary as ES security - * requires files to be within the installation directory - * - * @param {Array} config - * @param {String} dest - */ -exports.extractConfigFiles = function extractConfigFiles(config, dest, options = {}) { - const originalConfig = typeof config === 'string' ? [config] : config; - const localConfig = []; - - originalConfig.forEach((prop) => { - const [key, value] = prop.split('='); - - if (isFile(value)) { - const filename = path.basename(value); - const destPath = path.resolve(dest, 'config', filename); - copyFileSync(value, destPath); - - if (options.log) { - options.log.info('moved %s in config to %s', value, destPath); - } - - localConfig.push(`${key}=${filename}`); - } else { - localConfig.push(prop); - } - }); - - return localConfig; -}; - -function isFile(dest = '') { - return path.isAbsolute(dest) && path.extname(dest).length > 0 && fs.existsSync(dest); -} - -function copyFileSync(src, dest) { - const destPath = path.dirname(dest); - - if (!fs.existsSync(destPath)) { - fs.mkdirSync(destPath, { recursive: true }); - } - - fs.writeFileSync(dest, fs.readFileSync(src)); -} diff --git a/packages/kbn-es/src/utils/extract_config_files.ts b/packages/kbn-es/src/utils/extract_config_files.ts new file mode 100644 index 0000000000000..ff07c77258d05 --- /dev/null +++ b/packages/kbn-es/src/utils/extract_config_files.ts @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import path from 'path'; +import fs from 'fs'; +import type { ToolingLog } from '@kbn/tooling-log'; + +/** + * Copies config references to an absolute path to + * the provided destination. This is necessary as ES security + * requires files to be within the installation directory + */ +export function extractConfigFiles( + config: string | string[], + dest: string, + options?: { log: ToolingLog } +) { + const originalConfig = typeof config === 'string' ? [config] : config; + const localConfig: string[] = []; + + originalConfig.forEach((prop) => { + const [key, value] = prop.split('='); + + if (isFile(value)) { + const filename = path.basename(value); + const destPath = path.resolve(dest, 'config', filename); + copyFileSync(value, destPath); + + options?.log.info('moved %s in config to %s', value, destPath); + + localConfig.push(`${key}=${filename}`); + } else { + localConfig.push(prop); + } + }); + + return localConfig; +} + +function isFile(dest = '') { + return path.isAbsolute(dest) && path.extname(dest).length > 0 && fs.existsSync(dest); +} + +function copyFileSync(src: string, dest: string) { + const destPath = path.dirname(dest); + + if (!fs.existsSync(destPath)) { + fs.mkdirSync(destPath, { recursive: true }); + } + + fs.writeFileSync(dest, fs.readFileSync(src)); +} diff --git a/packages/kbn-es/src/utils/index.ts b/packages/kbn-es/src/utils/index.ts index 4e75d1d81f6fb..79a57846cc00a 100644 --- a/packages/kbn-es/src/utils/index.ts +++ b/packages/kbn-es/src/utils/index.ts @@ -8,10 +8,8 @@ export { cache } from './cache'; export { log } from './log'; -// @ts-expect-error not typed yet export { parseEsLog } from './parse_es_log'; export { findMostRecentlyChanged } from './find_most_recently_changed'; -// @ts-expect-error not typed yet export { extractConfigFiles } from './extract_config_files'; // @ts-expect-error not typed yet export { NativeRealm, SYSTEM_INDICES_SUPERUSER } from './native_realm'; diff --git a/packages/kbn-es/src/utils/parse_es_log.js b/packages/kbn-es/src/utils/parse_es_log.js deleted file mode 100644 index bf2c6769a07c2..0000000000000 --- a/packages/kbn-es/src/utils/parse_es_log.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const chalk = require('chalk'); - -/** - * @param {String} data - * @returns {Array} lines - */ -exports.parseEsLog = function parseEsLog(data) { - const lines = []; - const regex = /\[([0-9-T:,]+)\]\[([A-Z]+)\s?\]\[([A-Za-z0-9.]+)\s*\]\s?([\S\s]+?(?=$|\n\[))/g; - let capture = regex.exec(data); - - if (!capture) { - return [ - { - formattedMessage: data.trim(), - message: data.trim(), - level: 'warn', - }, - ]; - } - - do { - const [, , level, location, message] = capture; - const color = colorForLevel(level); - - lines.push({ - formattedMessage: `[${chalk.dim(location)}] ${color(message.trim())}`, - message: `[${location}] ${message.trim()}`, - level: level.toLowerCase(), - }); - - capture = regex.exec(data); - } while (capture); - return lines; -}; - -function colorForLevel(level) { - switch (level) { - case 'WARN': - return chalk.yellow; - case 'DEBUG': - return chalk.dim; - } - - return chalk.reset; -} diff --git a/packages/kbn-es/src/utils/parse_es_log.ts b/packages/kbn-es/src/utils/parse_es_log.ts new file mode 100644 index 0000000000000..b5862495f647b --- /dev/null +++ b/packages/kbn-es/src/utils/parse_es_log.ts @@ -0,0 +1,53 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import chalk from 'chalk'; + +/** + * extract useful info about an es log line + */ +export function parseEsLog(data: string) { + const lines = []; + const regex = /\[([0-9-T:,]+)\]\[([A-Z]+)\s?\]\[([A-Za-z0-9.]+)\s*\]\s?([\S\s]+?(?=$|\n\[))/g; + let capture = regex.exec(data); + + if (!capture) { + return [ + { + formattedMessage: data.trim(), + message: data.trim(), + level: 'warn', + }, + ]; + } + + do { + const [, , level, location, message] = capture; + const color = colorForLevel(level); + + lines.push({ + formattedMessage: `[${chalk.dim(location)}] ${color(message.trim())}`, + message: `[${location}] ${message.trim()}`, + level: level.toLowerCase(), + }); + + capture = regex.exec(data); + } while (capture); + return lines; +} + +function colorForLevel(level: string) { + switch (level) { + case 'WARN': + return chalk.yellow; + case 'DEBUG': + return chalk.dim; + } + + return chalk.reset; +} diff --git a/packages/kbn-es/tsconfig.json b/packages/kbn-es/tsconfig.json index a47c95fc504e8..95253080f47be 100644 --- a/packages/kbn-es/tsconfig.json +++ b/packages/kbn-es/tsconfig.json @@ -1,10 +1,20 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "target_types" + "outDir": "target/types" }, "include": [ "**/*.ts", "**/*.js" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/tooling-log", + "@kbn/dev-utils", + "@kbn/dev-proc-runner", + "@kbn/ci-stats-reporter", + "@kbn/jest-serializers", ] } diff --git a/packages/kbn-eslint-config/.eslintrc.js b/packages/kbn-eslint-config/.eslintrc.js index f10e5f233efa5..e7ae18281748a 100644 --- a/packages/kbn-eslint-config/.eslintrc.js +++ b/packages/kbn-eslint-config/.eslintrc.js @@ -258,6 +258,17 @@ module.exports = { 'ProcRunner', ] }, + { + fromPackage: '@kbn/utils', + toPackage: '@kbn/repo-info', + exportNames: [ + 'REPO_ROOT', + 'UPSTREAM_BRANCH', + 'kibanaPackageJson', + 'isKibanaDistributable', + 'fromRoot', + ] + }, ]], '@kbn/disable/no_protected_eslint_disable': 'error', diff --git a/packages/kbn-eslint-config/BUILD.bazel b/packages/kbn-eslint-config/BUILD.bazel deleted file mode 100644 index 708136256498d..0000000000000 --- a/packages/kbn-eslint-config/BUILD.bazel +++ /dev/null @@ -1,57 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-eslint-config" -PKG_REQUIRE_NAME = "@kbn/eslint-config" - -SOURCE_FILES = glob([ - ".eslintrc.js", - "javascript.js", - "jest.js", - "react.js", - "restricted_globals.js", - "typescript.js", -]) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-babel-preset", - "//packages/kbn-dev-utils", - "//packages/kbn-eslint-plugin-disable", - "//packages/kbn-eslint-plugin-imports", - "@npm//eslint-config-prettier", - "@npm//semver", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-eslint-config/kibana.jsonc b/packages/kbn-eslint-config/kibana.jsonc index 3afe0461c4861..057d11ec43db3 100644 --- a/packages/kbn-eslint-config/kibana.jsonc +++ b/packages/kbn-eslint-config/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/eslint-config", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-eslint-config/react.js b/packages/kbn-eslint-config/react.js index 0b1cce15de9ad..c5db0546630a5 100644 --- a/packages/kbn-eslint-config/react.js +++ b/packages/kbn-eslint-config/react.js @@ -1,5 +1,5 @@ const semver = require('semver'); -const { kibanaPackageJson: PKG } = require('@kbn/utils'); +const { PKG_JSON } = require('@kbn/repo-info'); module.exports = { plugins: [ @@ -16,7 +16,7 @@ module.exports = { settings: { react: { - version: semver.valid(semver.coerce(PKG.dependencies.react)), + version: semver.valid(semver.coerce(PKG_JSON.dependencies.react)), }, }, diff --git a/packages/kbn-eslint-config/typescript.js b/packages/kbn-eslint-config/typescript.js index 76506b640746d..04e847224df58 100644 --- a/packages/kbn-eslint-config/typescript.js +++ b/packages/kbn-eslint-config/typescript.js @@ -3,9 +3,6 @@ // Some IDEs could not be running eslint with the correct extensions yet // as this package was moved from typescript-eslint-parser to @typescript-eslint/parser -const semver = require('semver'); -const { kibanaPackageJson: PKG } = require('@kbn/utils'); - const eslintConfigPrettierRules = require('eslint-config-prettier').rules; // The current implementation excluded all the variables matching the regexp. diff --git a/packages/kbn-eslint-plugin-disable/BUILD.bazel b/packages/kbn-eslint-plugin-disable/BUILD.bazel deleted file mode 100644 index 9fb19d53e2c18..0000000000000 --- a/packages/kbn-eslint-plugin-disable/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-eslint-plugin-disable" -PKG_REQUIRE_NAME = "@kbn/eslint-plugin-disable" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//eslint", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//tslib", - "@npm//@types/eslint", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-eslint-plugin-disable/kibana.jsonc b/packages/kbn-eslint-plugin-disable/kibana.jsonc index 43a4d8f8f90bb..312829bbd6285 100644 --- a/packages/kbn-eslint-plugin-disable/kibana.jsonc +++ b/packages/kbn-eslint-plugin-disable/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/eslint-plugin-disable", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-eslint-plugin-disable/package.json b/packages/kbn-eslint-plugin-disable/package.json index aab648cd1d4a1..439b5959642c2 100644 --- a/packages/kbn-eslint-plugin-disable/package.json +++ b/packages/kbn-eslint-plugin-disable/package.json @@ -2,7 +2,5 @@ "name": "@kbn/eslint-plugin-disable", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-eslint-plugin-disable/tsconfig.json b/packages/kbn-eslint-plugin-disable/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-eslint-plugin-disable/tsconfig.json +++ b/packages/kbn-eslint-plugin-disable/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-eslint-plugin-eslint/BUILD.bazel b/packages/kbn-eslint-plugin-eslint/BUILD.bazel deleted file mode 100644 index 0bb2ff549c9f9..0000000000000 --- a/packages/kbn-eslint-plugin-eslint/BUILD.bazel +++ /dev/null @@ -1,69 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-eslint-plugin-eslint" -PKG_REQUIRE_NAME = "@kbn/eslint-plugin-eslint" - -SOURCE_FILES = glob( - [ - "rules/**/*.js", - "helpers/**/*.js", - "index.js", - "lib.js", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-utils", - "@npm//@babel/eslint-parser", - "@npm//dedent", - "@npm//eslint", - "@npm//eslint-module-utils", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-eslint-plugin-eslint/helpers/exports.js b/packages/kbn-eslint-plugin-eslint/helpers/exports.js index 971364633356c..ade2fb57ebad1 100644 --- a/packages/kbn-eslint-plugin-eslint/helpers/exports.js +++ b/packages/kbn-eslint-plugin-eslint/helpers/exports.js @@ -9,7 +9,7 @@ const Fs = require('fs'); const Path = require('path'); const ts = require('typescript'); -const { REPO_ROOT } = require('@kbn/utils'); +const { REPO_ROOT } = require('@kbn/repo-info'); const { ExportSet } = require('./export_set'); /** @typedef {import("@typescript-eslint/types").TSESTree.ExportAllDeclaration} ExportAllDeclaration */ diff --git a/packages/kbn-eslint-plugin-eslint/kibana.jsonc b/packages/kbn-eslint-plugin-eslint/kibana.jsonc index fc9c384c41562..9ee29217efea7 100644 --- a/packages/kbn-eslint-plugin-eslint/kibana.jsonc +++ b/packages/kbn-eslint-plugin-eslint/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/eslint-plugin-eslint", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-eslint-plugin-imports/BUILD.bazel b/packages/kbn-eslint-plugin-imports/BUILD.bazel deleted file mode 100644 index dab195054dda2..0000000000000 --- a/packages/kbn-eslint-plugin-imports/BUILD.bazel +++ /dev/null @@ -1,137 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-eslint-plugin-imports" -PKG_REQUIRE_NAME = "@kbn/eslint-plugin-imports" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-utils", - "//packages/kbn-import-resolver", - "@npm//resolve", - "@npm//@typescript-eslint/typescript-estree", - "@npm//eslint", - "@npm//normalize-path", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", # only required for the tests, which are excluded except on windows - "//packages/kbn-import-resolver:npm_module_types", - "//packages/kbn-repo-source-classifier:npm_module_types", - "@npm//dedent", # only required for the tests, which are excluded except on windows - "@npm//@types/eslint", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/normalize-path", - "@npm//@types/resolve", - "@npm//@typescript-eslint/typescript-estree", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-eslint-plugin-imports/kibana.jsonc b/packages/kbn-eslint-plugin-imports/kibana.jsonc index 658733d10535b..093ab0f5b59a1 100644 --- a/packages/kbn-eslint-plugin-imports/kibana.jsonc +++ b/packages/kbn-eslint-plugin-imports/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/eslint-plugin-imports", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-eslint-plugin-imports/package.json b/packages/kbn-eslint-plugin-imports/package.json index bf29c788f4134..6e38ed0f036a3 100644 --- a/packages/kbn-eslint-plugin-imports/package.json +++ b/packages/kbn-eslint-plugin-imports/package.json @@ -2,7 +2,5 @@ "name": "@kbn/eslint-plugin-imports", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-eslint-plugin-imports/src/get_import_resolver.ts b/packages/kbn-eslint-plugin-imports/src/get_import_resolver.ts index 331232288aef1..fa1f12181f743 100644 --- a/packages/kbn-eslint-plugin-imports/src/get_import_resolver.ts +++ b/packages/kbn-eslint-plugin-imports/src/get_import_resolver.ts @@ -7,7 +7,7 @@ */ import { ImportResolver } from '@kbn/import-resolver'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Rule } from 'eslint'; import { RUNNING_IN_EDITOR } from './helpers/running_in_editor'; diff --git a/packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts b/packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts index 5d6daad4cfdee..d853c791640e5 100644 --- a/packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts +++ b/packages/kbn-eslint-plugin-imports/src/rules/uniform_imports.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Eslint from 'eslint'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getRelativeImportReq, getPackageRelativeImportReq } from '@kbn/import-resolver'; import { report } from '../helpers/report'; @@ -54,8 +54,9 @@ export const UniformImportsRule: Eslint.Rule.RuleModule = { return; } - const packageId = resolver.getPackageIdForPath(absolute); - if (ownPackageId && !packageId) { + const { pkgId } = result; + + if (ownPackageId && !pkgId) { // special cases, files that aren't in packages but packages are allowed to import them if ( absolute === PKGJSON_PATH || @@ -74,11 +75,12 @@ export const UniformImportsRule: Eslint.Rule.RuleModule = { } } - if (packageId === ownPackageId || !packageId) { + if (pkgId === ownPackageId || !pkgId) { const correct = getRelativeImportReq({ ...result, original: req, dirname: sourceDirname, + sourcePath, type, }); @@ -92,11 +94,11 @@ export const UniformImportsRule: Eslint.Rule.RuleModule = { return; } - const packageDir = resolver.getAbsolutePackageDir(packageId); + const packageDir = resolver.getAbsolutePackageDir(pkgId); if (!packageDir) { report(context, { node, - message: `Unable to determine location of package [${packageId}]`, + message: `Unable to determine location of package [${pkgId}]`, }); return; } @@ -104,9 +106,10 @@ export const UniformImportsRule: Eslint.Rule.RuleModule = { const correct = getPackageRelativeImportReq({ ...result, packageDir, - packageId, + pkgId, type, }); + if (req !== correct) { report(context, { node, diff --git a/packages/kbn-eslint-plugin-imports/tsconfig.json b/packages/kbn-eslint-plugin-imports/tsconfig.json index 57c1dd1c94e0f..087d77fbfe437 100644 --- a/packages/kbn-eslint-plugin-imports/tsconfig.json +++ b/packages/kbn-eslint-plugin-imports/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/import-resolver", + "@kbn/repo-source-classifier", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-expect/BUILD.bazel b/packages/kbn-expect/BUILD.bazel deleted file mode 100644 index 70ed34ad091ce..0000000000000 --- a/packages/kbn-expect/BUILD.bazel +++ /dev/null @@ -1,44 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-expect" -PKG_REQUIRE_NAME = "@kbn/expect" - -SOURCE_FILES = glob([ - "expect.js", - "expect.d.ts", -]) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "LICENSE.txt", - "package.json", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-expect/kibana.jsonc b/packages/kbn-expect/kibana.jsonc index 53f789961dd33..86eae76001f8c 100644 --- a/packages/kbn-expect/kibana.jsonc +++ b/packages/kbn-expect/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/expect", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-expect/tsconfig.json b/packages/kbn-expect/tsconfig.json index 5ad392a7d8d5a..4346803ced341 100644 --- a/packages/kbn-expect/tsconfig.json +++ b/packages/kbn-expect/tsconfig.json @@ -1,9 +1,12 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "skipLibCheck": false + "outDir": "target/types" }, "include": [ "expect.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-failed-test-reporter-cli/BUILD.bazel b/packages/kbn-failed-test-reporter-cli/BUILD.bazel deleted file mode 100644 index 9cbd8ec6b0bce..0000000000000 --- a/packages/kbn-failed-test-reporter-cli/BUILD.bazel +++ /dev/null @@ -1,144 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-failed-test-reporter-cli" -PKG_REQUIRE_NAME = "@kbn/failed-test-reporter-cli" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.html", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-ci-stats-reporter:npm_module_types", - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-ftr-screenshot-filename:npm_module_types", - "//packages/kbn-jest-serializers:npm_module_types", - "//packages/kbn-journeys:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//@types/node", - "@npm//@types/he", - "@npm//@types/jest", - "@npm//strip-ansi", - "@npm//@types/normalize-path", - "@npm//@types/xml2js", - "@npm//axios", - "@npm//dedent", - "@npm//globby", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/failed_tests_reporter_cli.ts b/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/failed_tests_reporter_cli.ts index b105b6d80ac37..1c81df82ef665 100644 --- a/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/failed_tests_reporter_cli.ts +++ b/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/failed_tests_reporter_cli.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { createFailError, createFlagError } from '@kbn/dev-cli-errors'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; diff --git a/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/report_failures_to_file.ts b/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/report_failures_to_file.ts index da643164a14aa..ab54d7f60dfe5 100644 --- a/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/report_failures_to_file.ts +++ b/packages/kbn-failed-test-reporter-cli/failed_tests_reporter/report_failures_to_file.ts @@ -12,7 +12,7 @@ import { createHash } from 'crypto'; import globby from 'globby'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { escape } from 'he'; import { FtrScreenshotFilename } from '@kbn/ftr-screenshot-filename'; import { JourneyScreenshots } from '@kbn/journeys'; diff --git a/packages/kbn-failed-test-reporter-cli/kibana.jsonc b/packages/kbn-failed-test-reporter-cli/kibana.jsonc index dfaa875e12735..9dbfec546ed11 100644 --- a/packages/kbn-failed-test-reporter-cli/kibana.jsonc +++ b/packages/kbn-failed-test-reporter-cli/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/failed-test-reporter-cli", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-failed-test-reporter-cli/package.json b/packages/kbn-failed-test-reporter-cli/package.json index 1aec5a4e73a09..5f40a008317ab 100644 --- a/packages/kbn-failed-test-reporter-cli/package.json +++ b/packages/kbn-failed-test-reporter-cli/package.json @@ -2,7 +2,5 @@ "name": "@kbn/failed-test-reporter-cli", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-failed-test-reporter-cli/tsconfig.json b/packages/kbn-failed-test-reporter-cli/tsconfig.json index 292157c18591a..13a5510a4ed55 100644 --- a/packages/kbn-failed-test-reporter-cli/tsconfig.json +++ b/packages/kbn-failed-test-reporter-cli/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,19 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/ci-stats-reporter", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/dev-utils", + "@kbn/tooling-log", + "@kbn/ftr-screenshot-filename", + "@kbn/jest-serializers", + "@kbn/journeys", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-field-types/BUILD.bazel b/packages/kbn-field-types/BUILD.bazel deleted file mode 100644 index c6186d28953da..0000000000000 --- a/packages/kbn-field-types/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ - -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library",) -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-field-types" -PKG_REQUIRE_NAME = "@kbn/field-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "@npm//jest-styled-components", - "@npm//node-forge", -] - -TYPES_DEPS = [ - "@npm//@types/flot", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/node-forge", - "@npm//@types/testing-library__jest-dom", - "@npm//@emotion/react", - "@npm//jest-styled-components", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-field-types/kibana.jsonc b/packages/kbn-field-types/kibana.jsonc index 5bcf174037008..fadb82dabf4a4 100644 --- a/packages/kbn-field-types/kibana.jsonc +++ b/packages/kbn-field-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/field-types", - "owner": "@elastic/kibana-app-services", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-app-services" } diff --git a/packages/kbn-field-types/package.json b/packages/kbn-field-types/package.json index 5e8205f07c8ec..520429bbe0812 100644 --- a/packages/kbn-field-types/package.json +++ b/packages/kbn-field-types/package.json @@ -2,8 +2,5 @@ "name": "@kbn/field-types", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-field-types/tsconfig.json b/packages/kbn-field-types/tsconfig.json index 1cc4616a7ee49..6818562972f08 100644 --- a/packages/kbn-field-types/tsconfig.json +++ b/packages/kbn-field-types/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "target_types", - "declaration": true, - "emitDeclarationOnly": true, + "outDir": "target/types", "types": [ "jest", ], }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-find-used-node-modules/BUILD.bazel b/packages/kbn-find-used-node-modules/BUILD.bazel deleted file mode 100644 index f8ae0bb461b1a..0000000000000 --- a/packages/kbn-find-used-node-modules/BUILD.bazel +++ /dev/null @@ -1,130 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-find-used-node-modules" -PKG_REQUIRE_NAME = "@kbn/find-used-node-modules" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-babel-preset", - "@npm//@babel/core", - "@npm//@babel/types", - "@npm//@babel/traverse", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-import-resolver:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/babel__core", - "@npm//@babel/traverse", - "@npm//@babel/types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-find-used-node-modules/kibana.jsonc b/packages/kbn-find-used-node-modules/kibana.jsonc index d5c72f5927737..77c4e5d64e794 100644 --- a/packages/kbn-find-used-node-modules/kibana.jsonc +++ b/packages/kbn-find-used-node-modules/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/find-used-node-modules", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-find-used-node-modules/package.json b/packages/kbn-find-used-node-modules/package.json index 2d5c10aab3372..d78d27e88aa00 100644 --- a/packages/kbn-find-used-node-modules/package.json +++ b/packages/kbn-find-used-node-modules/package.json @@ -2,7 +2,5 @@ "name": "@kbn/find-used-node-modules", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts b/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts index a5175c8734183..c336927c9e6d3 100644 --- a/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts +++ b/packages/kbn-find-used-node-modules/src/find_used_node_modules.test.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import * as Rx from 'rxjs'; import { findUsedNodeModules } from './find_used_node_modules'; import { ImportResolver } from '@kbn/import-resolver'; @@ -36,14 +37,16 @@ const RESOLVER = new MockResolver(); beforeEach(() => { jest.resetAllMocks(); - jest.requireMock('./fs').readFile.mockImplementation((path: string) => { + jest.requireMock('./fs').readFile$.mockImplementation((path: string) => { if (Object.hasOwn(FILES, path)) { - return FILES[path]; + return Rx.of(FILES[path]); } - const error: any = new Error(`ENOENT, missing file [${path}]`); - error.code = 'ENOENT'; - throw error; + return Rx.throwError(() => { + const error: any = new Error(`ENOENT, missing file [${path}]`); + error.code = 'ENOENT'; + return error; + }); }); }); diff --git a/packages/kbn-find-used-node-modules/src/find_used_node_modules.ts b/packages/kbn-find-used-node-modules/src/find_used_node_modules.ts index d02cc084e8901..0ecb7f10bb090 100644 --- a/packages/kbn-find-used-node-modules/src/find_used_node_modules.ts +++ b/packages/kbn-find-used-node-modules/src/find_used_node_modules.ts @@ -8,27 +8,15 @@ import Path from 'path'; -import { asyncForEachWithLimit } from '@kbn/std'; +import * as Rx from 'rxjs'; import type { ImportResolver } from '@kbn/import-resolver'; -import { readFile, readFileSync } from './fs'; -import { getImportRequests } from './get_import_requests'; +import { readFile$ } from './fs'; function isObj(v: any): v is Record { return typeof v === 'object' && v !== null; } -function getPeerDeps(thisNodeModule: string) { - const pkgPath = require.resolve(`${thisNodeModule}/package.json`); - const pkg = JSON.parse(readFileSync(pkgPath)); - - if (isObj(pkg) && isObj(pkg.peerDependencies)) { - return Object.keys(pkg.peerDependencies); - } else { - return []; - } -} - interface Options { resolver: ImportResolver; entryPaths: string[]; @@ -55,83 +43,130 @@ interface Options { * solve this by scanning the node_modules directory for all the packages which are used but that * was much slower and lead to extra entries in package.json. */ + +import { getImportRequests } from './get_import_requests'; + export async function findUsedNodeModules(options: Options) { - const queue = new Set(options.entryPaths); const results = new Set(); - const entryPathsIntoNodeModules = new Map>(); - for (const path of queue) { - if (Path.extname(path) !== '.js') { - continue; - } - - const dirname = Path.dirname(path); - const code = await readFile(path); - const reqs = getImportRequests(code); - - for (const req of reqs) { - // resolve the request to it's actual file on dist - const result = options.resolver.resolve(req, dirname); - - // ignore non-file resolution results, these represent files which aren't on - // the file-system yet (like during the build) built-ins, explicitily ignored - // files, and @types only imports - if (result?.type !== 'file') { - continue; - } - - // if the result points to a node_module (or another node_module)... - if (result.nodeModule && result.nodeModule !== options.thisNodeModule) { - // add it to the results - results.add(result.nodeModule); - - // record this absolute path as an entry path into the node module from our entries, if we - // need to scan this node_module for used deps we need to know how we access it. - const nmEntries = entryPathsIntoNodeModules.get(result.nodeModule); - if (!nmEntries) { - entryPathsIntoNodeModules.set(result.nodeModule, new Set([result.absolute])); - } else { - nmEntries.add(result.absolute); + const path$ = new Rx.Subject(); + + let inputs = 0; + let outputs = 0; + const promise = Rx.lastValueFrom( + path$.pipe( + Rx.filter((path) => Path.extname(path) === '.js'), + Rx.distinct(), + Rx.tap(() => { + inputs += 1; + }), + Rx.mergeMap((path) => readFile$(path, 'utf8').pipe(Rx.map((code) => ({ code, path })))), + Rx.mergeMap(async ({ path, code }) => { + const reqs = getImportRequests(code); + const dirname = Path.dirname(path); + + for (const req of reqs) { + // resolve the request to it's actual file on dist + const result = options.resolver.resolve(req, dirname); + + // ignore non-file resolution results, these represent files which aren't on + // the file-system yet (like during the build) built-ins, explicitily ignored + // files, and @types only imports + if (result?.type !== 'file') { + continue; + } + + if (result.pkgId) { + results.add(result.pkgId); + path$.next(result.absolute); + continue; + } + + // if the result points to a node_module (or another node_module)... + if (result.nodeModule && result.nodeModule !== options.thisNodeModule) { + // add it to the results + results.add(result.nodeModule); + + // record this absolute path as an entry path into the node module from our entries, if we + // need to scan this node_module for used deps we need to know how we access it. + const nmEntries = entryPathsIntoNodeModules.get(result.nodeModule); + if (!nmEntries) { + entryPathsIntoNodeModules.set(result.nodeModule, new Set([result.absolute])); + } else { + nmEntries.add(result.absolute); + } + } + + // no need to scan node_modules unless they're bazel packages + if ( + !result.nodeModule || + result.nodeModule === options.thisNodeModule || + options.resolver.isBazelPackage(result.nodeModule) + ) { + path$.next(result.absolute); + continue; + } + } + }, 40), + Rx.tap(() => { + outputs += 1; + if (inputs === outputs) { + path$.complete(); } - } - - // no need to scan node_modules unless they're bazel packages - if ( - !result.nodeModule || - result.nodeModule === options.thisNodeModule || - options.resolver.isBazelPackage(result.nodeModule) - ) { - queue.add(result.absolute); - } - } + }) + ) + ); + + for (const path of options.entryPaths) { + path$.next(path); } + await promise; + if (options.findUsedPeers) { - await asyncForEachWithLimit(results, 10, async (dep) => { - const entryPaths = entryPathsIntoNodeModules.get(dep); - if (!entryPaths?.size) { - return; - } - - const peerDeps = getPeerDeps(dep); - if (!peerDeps.length) { - return; - } - - const usedInside = await findUsedNodeModules({ - resolver: options.resolver, - entryPaths: Array.from(entryPaths), - findUsedPeers: false, - thisNodeModule: dep, - }); - - for (const peer of peerDeps) { - if (usedInside.includes(peer)) { - results.add(peer); - } - } - }); + await Rx.lastValueFrom( + Rx.from(results).pipe( + Rx.mergeMap((dep) => { + const entryPaths = entryPathsIntoNodeModules.get(dep); + if (!entryPaths?.size) { + return Rx.EMPTY; + } + + const pkgPath = require.resolve(`${dep}/package.json`); + return readFile$(pkgPath, 'utf8').pipe( + Rx.mergeMap((pkgJson) => { + const pkg = JSON.parse(pkgJson); + + if (!isObj(pkg) || !isObj(pkg.peerDependencies)) { + return Rx.EMPTY; + } + + const peerDeps = Object.keys(pkg.peerDependencies); + if (!peerDeps.length) { + return Rx.EMPTY; + } + + return Rx.of({ entryPaths, dep, peerDeps }); + }) + ); + }, 50), + Rx.concatMap(async ({ entryPaths, dep, peerDeps }) => { + const usedInside = await findUsedNodeModules({ + resolver: options.resolver, + entryPaths: Array.from(entryPaths), + findUsedPeers: false, + thisNodeModule: dep, + }); + + for (const peer of peerDeps) { + if (usedInside.includes(peer)) { + results.add(peer); + } + } + }) + ) + ); } return Array.from(results).sort((a, b) => a.localeCompare(b)); diff --git a/packages/kbn-find-used-node-modules/src/fs.ts b/packages/kbn-find-used-node-modules/src/fs.ts index e0e9c9690803c..13d36697df2eb 100644 --- a/packages/kbn-find-used-node-modules/src/fs.ts +++ b/packages/kbn-find-used-node-modules/src/fs.ts @@ -7,12 +7,6 @@ */ import Fs from 'fs'; -import Fsp from 'fs/promises'; +import * as Rx from 'rxjs'; -export function readFileSync(path: string) { - return Fs.readFileSync(path, 'utf8'); -} - -export function readFile(path: string) { - return Fsp.readFile(path, 'utf8'); -} +export const readFile$ = Rx.bindNodeCallback<[string, BufferEncoding], [string]>(Fs.readFile); diff --git a/packages/kbn-find-used-node-modules/src/get_import_requests.ts b/packages/kbn-find-used-node-modules/src/get_import_requests.ts index 03de25f7fb92a..5ae08f77645ee 100644 --- a/packages/kbn-find-used-node-modules/src/get_import_requests.ts +++ b/packages/kbn-find-used-node-modules/src/get_import_requests.ts @@ -8,7 +8,6 @@ import * as parser from '@babel/parser'; import traverse from '@babel/traverse'; -// @ts-expect-error Not available with types import babelParserOptions from '@kbn/babel-preset/common_babel_parser_options'; import { importVisitor } from './import_visitor'; diff --git a/packages/kbn-find-used-node-modules/tsconfig.json b/packages/kbn-find-used-node-modules/tsconfig.json index 57c1dd1c94e0f..b43f686f33854 100644 --- a/packages/kbn-find-used-node-modules/tsconfig.json +++ b/packages/kbn-find-used-node-modules/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/import-resolver", + "@kbn/babel-preset", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-flot-charts/BUILD.bazel b/packages/kbn-flot-charts/BUILD.bazel index ec2655bc2bbf1..88b7b4a553e36 100644 --- a/packages/kbn-flot-charts/BUILD.bazel +++ b/packages/kbn-flot-charts/BUILD.bazel @@ -34,16 +34,3 @@ js_library( package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-flot-charts/kibana.jsonc b/packages/kbn-flot-charts/kibana.jsonc index ad96bcf118b1b..5176e4a96d9f0 100644 --- a/packages/kbn-flot-charts/kibana.jsonc +++ b/packages/kbn-flot-charts/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/flot-charts", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-flot-charts/tsconfig.json b/packages/kbn-flot-charts/tsconfig.json new file mode 100644 index 0000000000000..7718842c7491f --- /dev/null +++ b/packages/kbn-flot-charts/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": [ + "**/*.js" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/i18n" + ] +} diff --git a/packages/kbn-ftr-common-functional-services/BUILD.bazel b/packages/kbn-ftr-common-functional-services/BUILD.bazel deleted file mode 100644 index 37e6f35ae2405..0000000000000 --- a/packages/kbn-ftr-common-functional-services/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ftr-common-functional-services" -PKG_REQUIRE_NAME = "@kbn/ftr-common-functional-services" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-es-archiver:npm_module_types", - "//packages/kbn-test:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ftr-common-functional-services/kibana.jsonc b/packages/kbn-ftr-common-functional-services/kibana.jsonc index 5ceecdcda8610..c8f706e5acf38 100644 --- a/packages/kbn-ftr-common-functional-services/kibana.jsonc +++ b/packages/kbn-ftr-common-functional-services/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ftr-common-functional-services", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-ftr-common-functional-services/package.json b/packages/kbn-ftr-common-functional-services/package.json index 0de1d379fff8a..7821b80e36ba4 100644 --- a/packages/kbn-ftr-common-functional-services/package.json +++ b/packages/kbn-ftr-common-functional-services/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ftr-common-functional-services", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ftr-common-functional-services/tsconfig.json b/packages/kbn-ftr-common-functional-services/tsconfig.json index 292157c18591a..639991bb2ce77 100644 --- a/packages/kbn-ftr-common-functional-services/tsconfig.json +++ b/packages/kbn-ftr-common-functional-services/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/tooling-log", + "@kbn/es-archiver", + "@kbn/test" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ftr-screenshot-filename/BUILD.bazel b/packages/kbn-ftr-screenshot-filename/BUILD.bazel deleted file mode 100644 index 5ac795bfe2e03..0000000000000 --- a/packages/kbn-ftr-screenshot-filename/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-ftr-screenshot-filename" -PKG_REQUIRE_NAME = "@kbn/ftr-screenshot-filename" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ftr-screenshot-filename/kibana.jsonc b/packages/kbn-ftr-screenshot-filename/kibana.jsonc index 61ce39de5a622..5429602d9c0ed 100644 --- a/packages/kbn-ftr-screenshot-filename/kibana.jsonc +++ b/packages/kbn-ftr-screenshot-filename/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/ftr-screenshot-filename", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-ftr-screenshot-filename/package.json b/packages/kbn-ftr-screenshot-filename/package.json index 060e1ca7018b2..16e6a60922fb1 100644 --- a/packages/kbn-ftr-screenshot-filename/package.json +++ b/packages/kbn-ftr-screenshot-filename/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ftr-screenshot-filename", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ftr-screenshot-filename/tsconfig.json b/packages/kbn-ftr-screenshot-filename/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-ftr-screenshot-filename/tsconfig.json +++ b/packages/kbn-ftr-screenshot-filename/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-generate/BUILD.bazel b/packages/kbn-generate/BUILD.bazel deleted file mode 100644 index 3a470bc08ffb8..0000000000000 --- a/packages/kbn-generate/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-generate" -PKG_REQUIRE_NAME = "@kbn/generate" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = glob(["templates/**/*"]) + [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-bazel-packages", - "//packages/kbn-utils", - "//packages/kbn-sort-package-json", - "@npm//ejs", - "@npm//micromatch", - "@npm//normalize-path", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-bazel-packages:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-sort-package-json:npm_module_types", - "@npm//@types/micromatch", - "@npm//ejs", - "@npm//micromatch", - "@npm//normalize-path", - "@npm//@types/ejs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-generate/kibana.jsonc b/packages/kbn-generate/kibana.jsonc index d7d38e4822cb7..26a6f52e21c3a 100644 --- a/packages/kbn-generate/kibana.jsonc +++ b/packages/kbn-generate/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/generate", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-generate/package.json b/packages/kbn-generate/package.json index bd92463816cad..b0d3896e41150 100644 --- a/packages/kbn-generate/package.json +++ b/packages/kbn-generate/package.json @@ -2,7 +2,5 @@ "name": "@kbn/generate", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-generate/src/cli.ts b/packages/kbn-generate/src/cli.ts index d3d1366682fea..e31d651f955b6 100644 --- a/packages/kbn-generate/src/cli.ts +++ b/packages/kbn-generate/src/cli.ts @@ -13,7 +13,6 @@ import { ContextExtensions } from './generate_command'; import { PackageCommand } from './commands/package_command'; import { CodeownersCommand } from './commands/codeowners_command'; -import { PackagesBuildManifestCommand } from './commands/packages_build_manifest_command'; /** * Runs the generate CLI. Called by `node scripts/generate` and not intended for use outside of that script @@ -28,6 +27,6 @@ export function runGenerateCli() { }; }, }, - [PackageCommand, PackagesBuildManifestCommand, CodeownersCommand] + [PackageCommand, CodeownersCommand] ).execute(); } diff --git a/packages/kbn-generate/src/commands/codeowners_command.ts b/packages/kbn-generate/src/commands/codeowners_command.ts index f1c42dc54173f..27b81ada9466b 100644 --- a/packages/kbn-generate/src/commands/codeowners_command.ts +++ b/packages/kbn-generate/src/commands/codeowners_command.ts @@ -9,7 +9,7 @@ import Fsp from 'fs/promises'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { discoverBazelPackages } from '@kbn/bazel-packages'; import type { GenerateCommand } from '../generate_command'; diff --git a/packages/kbn-generate/src/commands/package_command.ts b/packages/kbn-generate/src/commands/package_command.ts index 4d09ab45c9728..0fbf960899e21 100644 --- a/packages/kbn-generate/src/commands/package_command.ts +++ b/packages/kbn-generate/src/commands/package_command.ts @@ -14,13 +14,13 @@ import globby from 'globby'; import { ESLint } from 'eslint'; import micromatch from 'micromatch'; -import { REPO_ROOT } from '@kbn/utils'; -import { discoverBazelPackages, BAZEL_PACKAGE_DIRS } from '@kbn/bazel-packages'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { BAZEL_PACKAGE_DIRS } from '@kbn/bazel-packages'; import { createFailError, createFlagError, isFailError } from '@kbn/dev-cli-errors'; import { sortPackageJson } from '@kbn/sort-package-json'; import { validateElasticTeam } from '../lib/validate_elastic_team'; -import { TEMPLATE_DIR, ROOT_PKG_DIR, PKG_TEMPLATE_DIR } from '../paths'; +import { ROOT_PKG_DIR, PKG_TEMPLATE_DIR } from '../paths'; import type { GenerateCommand } from '../generate_command'; import { ask } from '../lib/ask'; @@ -180,21 +180,12 @@ ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join ? [packageJson.devDependencies, packageJson.dependencies] : [packageJson.dependencies, packageJson.devDependencies]; - addDeps[pkgId] = `link:bazel-bin/${normalizedRepoRelativeDir}`; + addDeps[pkgId] = `link:${normalizedRepoRelativeDir}`; delete removeDeps[pkgId]; await Fsp.writeFile(packageJsonPath, sortPackageJson(JSON.stringify(packageJson))); log.info('Updated package.json file'); - await render.toFile( - Path.resolve(TEMPLATE_DIR, 'packages_BUILD.bazel.ejs'), - Path.resolve(REPO_ROOT, 'packages/BUILD.bazel'), - { - packages: await discoverBazelPackages(REPO_ROOT), - } - ); - log.info('Updated packages/BUILD.bazel'); - log.success(`Generated ${pkgId}! Please bootstrap to make sure it works.`); }, }; diff --git a/packages/kbn-generate/src/commands/packages_build_manifest_command.ts b/packages/kbn-generate/src/commands/packages_build_manifest_command.ts deleted file mode 100644 index 4e27753479853..0000000000000 --- a/packages/kbn-generate/src/commands/packages_build_manifest_command.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fsp from 'fs/promises'; - -import { REPO_ROOT } from '@kbn/utils'; -import { discoverBazelPackages } from '@kbn/bazel-packages'; - -import { TEMPLATE_DIR } from '../paths'; -import { GenerateCommand } from '../generate_command'; - -const USAGE = `node scripts/generate packages_build_manifest`; - -export const PackagesBuildManifestCommand: GenerateCommand = { - name: 'packages_build_manifest', - usage: USAGE, - description: 'Generate the packages/BUILD.bazel file', - async run({ log, render }) { - const packages = await discoverBazelPackages(REPO_ROOT); - const dest = Path.resolve(REPO_ROOT, 'packages/BUILD.bazel'); - const relDest = Path.relative(process.cwd(), dest); - - const content = await render.toString( - Path.join(TEMPLATE_DIR, 'packages_BUILD.bazel.ejs'), - dest, - { packages } - ); - - let existing; - try { - existing = await Fsp.readFile(dest, 'utf8'); - } catch { - // noop - } - - if (existing === content) { - log.success(relDest, 'is already updated'); - return; - } - - await Fsp.writeFile(dest, content); - log.info(relDest, 'updated'); - }, -}; diff --git a/packages/kbn-generate/src/lib/render.ts b/packages/kbn-generate/src/lib/render.ts index 33c6a903875f4..ada8316ba4b21 100644 --- a/packages/kbn-generate/src/lib/render.ts +++ b/packages/kbn-generate/src/lib/render.ts @@ -13,7 +13,7 @@ import Ejs from 'ejs'; import normalizePath from 'normalize-path'; import { ToolingLog } from '@kbn/tooling-log'; import { sortPackageJson } from '@kbn/sort-package-json'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export type Vars = Record; export interface RenderContext extends Vars { diff --git a/packages/kbn-generate/src/paths.ts b/packages/kbn-generate/src/paths.ts index 79319f58d0670..d73bd60cc16b7 100644 --- a/packages/kbn-generate/src/paths.ts +++ b/packages/kbn-generate/src/paths.ts @@ -8,8 +8,8 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export const ROOT_PKG_DIR = Path.resolve(REPO_ROOT, 'packages'); -export const TEMPLATE_DIR = Path.resolve(__dirname, '../../templates'); +export const TEMPLATE_DIR = Path.resolve(__dirname, '../templates'); export const PKG_TEMPLATE_DIR = Path.resolve(TEMPLATE_DIR, 'package'); diff --git a/packages/kbn-generate/templates/package/BUILD.bazel.ejs b/packages/kbn-generate/templates/package/BUILD.bazel.ejs deleted file mode 100644 index 4046385998554..0000000000000 --- a/packages/kbn-generate/templates/package/BUILD.bazel.ejs +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = <%- json(pkg.directoryName) %> -PKG_REQUIRE_NAME = <%- json(pkg.id) %> - -SOURCE_FILES = glob( - [ - "**/*.ts", - <%_ if (pkg.web) { _%> - "**/*.tsx", - <%_ } _%> - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -<%_ if (pkg.web) { _%> - "@npm//react" -<%_ } _%> -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -<%_ if (pkg.web) { _%> - "@npm//@types/react" -<%_ } _%> -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) -<% if (pkg.web) { %> -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) -<% } %> -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + <%- pkg.web ? '[":target_node", ":target_web"]' : '[":target_node"]' %>, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + <%- pkg.web ? '[":target_node", ":target_web", ":tsc_types"]' : '[":target_node", ":tsc_types"]' %>, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-generate/templates/package/kibana.jsonc.ejs b/packages/kbn-generate/templates/package/kibana.jsonc.ejs index f39655160f82f..48ef56f462fcd 100644 --- a/packages/kbn-generate/templates/package/kibana.jsonc.ejs +++ b/packages/kbn-generate/templates/package/kibana.jsonc.ejs @@ -1,8 +1,6 @@ { "type": "shared-common", "id": <%- json(pkg.id) %>, - "owner": <%- json(pkg.owner) %>,<% if (pkg.dev) { %> - "devOnly": true,<% } %> - "runtimeDeps": [], - "typeDeps": [], + "owner": <%- json(pkg.owner) %><% if (pkg.dev) { %>, + "devOnly": true<% } %> } diff --git a/packages/kbn-generate/templates/package/package.json.ejs b/packages/kbn-generate/templates/package/package.json.ejs index 7ab4cb3dfc20f..af66105cb2cbb 100644 --- a/packages/kbn-generate/templates/package/package.json.ejs +++ b/packages/kbn-generate/templates/package/package.json.ejs @@ -2,10 +2,5 @@ "name": <%- json(pkg.id) %>, "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" - <%_ if (pkg.web) { %>, - "browser": "./target_web/index.js" - <%_ } %> + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-generate/templates/package/tsconfig.json.ejs b/packages/kbn-generate/templates/package/tsconfig.json.ejs index 2b1e544d34239..29693643cbd3f 100644 --- a/packages/kbn-generate/templates/package/tsconfig.json.ejs +++ b/packages/kbn-generate/templates/package/tsconfig.json.ejs @@ -1,9 +1,7 @@ { - "extends": "<%- relativePathTo("tsconfig.bazel.json") %>", + "extends": "<%- relativePathTo("tsconfig.base.json") %>", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ <%_ if (pkg.web) { _%> "jest", @@ -20,5 +18,9 @@ <%_ if (pkg.web) { _%> "**/*.tsx", <%_ } _%> - ] + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] } diff --git a/packages/kbn-generate/templates/packages_BUILD.bazel.ejs b/packages/kbn-generate/templates/packages_BUILD.bazel.ejs deleted file mode 100644 index 2656c97ad40e5..0000000000000 --- a/packages/kbn-generate/templates/packages_BUILD.bazel.ejs +++ /dev/null @@ -1,42 +0,0 @@ -################ -################ -## This file is automatically generated, to create a new package use `node scripts/generate package --help` or run -## `node scripts/generate packages_build_manifest` to regenerate it from the current state of the repo -################ -################ - -# It will build all declared code packages -filegroup( - name = "build_pkg_code", - srcs = [ -<% for (const p of packages.filter(p => p.hasBuildRule())) { _%> - "//<%- p.normalizedRepoRelativeDir %>:build", -<% } _%> - ], -) - -# It will build all declared package types -filegroup( - name = "build_pkg_types", - srcs = [ -<% for (const p of packages.filter(p => p.hasBuildTypesRule())) { _%> - "//<%- p.normalizedRepoRelativeDir %>:build_types", -<% } _%> - ], -) - -# Grouping target to call all underlying packages js builds -filegroup( - name = "build", - srcs = [ - ":build_pkg_code" - ], -) - -# Grouping target to call all underlying packages ts builds -filegroup( - name = "build_types", - srcs = [ - ":build_pkg_types" - ], -) diff --git a/packages/kbn-generate/tsconfig.json b/packages/kbn-generate/tsconfig.json index 57c1dd1c94e0f..4ecb368ed162f 100644 --- a/packages/kbn-generate/tsconfig.json +++ b/packages/kbn-generate/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/bazel-packages", + "@kbn/sort-package-json", + "@kbn/dev-cli-runner", + "@kbn/repo-info", + "@kbn/dev-cli-errors", + "@kbn/tooling-log", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-get-repo-files/BUILD.bazel b/packages/kbn-get-repo-files/BUILD.bazel deleted file mode 100644 index 215dc3efda888..0000000000000 --- a/packages/kbn-get-repo-files/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-get-repo-files" -PKG_REQUIRE_NAME = "@kbn/get-repo-files" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//execa", - "//packages/kbn-utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-get-repo-files/kibana.jsonc b/packages/kbn-get-repo-files/kibana.jsonc index 44ee4e026ba7e..9bf339cc5c321 100644 --- a/packages/kbn-get-repo-files/kibana.jsonc +++ b/packages/kbn-get-repo-files/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/get-repo-files", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-get-repo-files/package.json b/packages/kbn-get-repo-files/package.json index 10613d821446b..d16a1b7dbe668 100644 --- a/packages/kbn-get-repo-files/package.json +++ b/packages/kbn-get-repo-files/package.json @@ -2,7 +2,5 @@ "name": "@kbn/get-repo-files", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-get-repo-files/src/get_repo_files.ts b/packages/kbn-get-repo-files/src/get_repo_files.ts index f63018b99e0d7..f0b52b5021510 100644 --- a/packages/kbn-get-repo-files/src/get_repo_files.ts +++ b/packages/kbn-get-repo-files/src/get_repo_files.ts @@ -10,14 +10,8 @@ import Path from 'path'; import Fs from 'fs'; import execa from 'execa'; -import { REPO_ROOT } from '@kbn/utils'; - -interface RepoPath { - /** repo-relative path to the file */ - repoRel: string; - /** absolute path to the file */ - abs: string; -} +import { REPO_ROOT } from '@kbn/repo-info'; +import { RepoPath } from '@kbn/repo-path'; /** * List the files in the repo, only including files which are manged by version @@ -47,7 +41,7 @@ export async function getRepoFiles(include?: string[], exclude?: string[]) { const repoRel = line.slice(2); // trim the single char status and separating space from the line const existingPath = paths.get(repoRel); - const path = existingPath ?? { repoRel, abs: Path.resolve(REPO_ROOT, repoRel) }; + const path = existingPath ?? new RepoPath(REPO_ROOT, repoRel); if (!existingPath) { paths.set(repoRel, path); } diff --git a/packages/kbn-get-repo-files/tsconfig.json b/packages/kbn-get-repo-files/tsconfig.json index 57c1dd1c94e0f..4c74f7e7042c5 100644 --- a/packages/kbn-get-repo-files/tsconfig.json +++ b/packages/kbn-get-repo-files/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/repo-info", + "@kbn/repo-path", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-guided-onboarding/BUILD.bazel b/packages/kbn-guided-onboarding/BUILD.bazel deleted file mode 100644 index 9e3bde78c5d23..0000000000000 --- a/packages/kbn-guided-onboarding/BUILD.bazel +++ /dev/null @@ -1,150 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-guided-onboarding" -PKG_REQUIRE_NAME = "@kbn/guided-onboarding" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//enzyme", - "@npm//react", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/core/http/core-http-browser", - "//packages/core/ui-settings/core-ui-settings-browser", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@elastic/eui", - "@npm//@types/enzyme", - "@npm//@types/react", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/core/http/core-http-browser:npm_module_types", - "//packages/core/ui-settings/core-ui-settings-browser:npm_module_types", - "//packages/core/application/core-application-browser:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-guided-onboarding/kibana.jsonc b/packages/kbn-guided-onboarding/kibana.jsonc index 4715fec8fbd5e..6f9768ce87ce3 100644 --- a/packages/kbn-guided-onboarding/kibana.jsonc +++ b/packages/kbn-guided-onboarding/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/guided-onboarding", - "owner": "@elastic/platform-onboarding", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/platform-onboarding" } diff --git a/packages/kbn-guided-onboarding/package.json b/packages/kbn-guided-onboarding/package.json index f0f92c8a130e4..d25b7c04bc4a0 100644 --- a/packages/kbn-guided-onboarding/package.json +++ b/packages/kbn-guided-onboarding/package.json @@ -2,8 +2,5 @@ "name": "@kbn/guided-onboarding", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-guided-onboarding/tsconfig.json b/packages/kbn-guided-onboarding/tsconfig.json index 16588a28c9bfb..5f0ba6f1c54f6 100644 --- a/packages/kbn-guided-onboarding/tsconfig.json +++ b/packages/kbn-guided-onboarding/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/core-application-browser" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-handlebars/.patches/blocks.patch b/packages/kbn-handlebars/.patches/blocks.patch index 9acf633c1b5f5..11196151a164d 100644 --- a/packages/kbn-handlebars/.patches/blocks.patch +++ b/packages/kbn-handlebars/.patches/blocks.patch @@ -304,123 +304,141 @@ --- > describe('decorators', () => { > it('should apply mustache decorators', () => { -299c203 +299,300c203,204 < .withHelper('helper', function(options) { +< return options.fn.run; --- -> .withHelper('helper', function (options) { -302c206,207 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return (options.fn as any).run; +302,303c206,207 < .withDecorator('decorator', function(fn) { +< fn.run = 'success'; --- > .withDecorator('decorator', function (fn) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -309c214 +> (fn as any).run = 'success'; +309c213 < it('should apply allow undefined return', function() { --- > it('should apply allow undefined return', () => { -311c216 +311,312c215,216 < .withHelper('helper', function(options) { +< return options.fn() + options.fn.run; --- -> .withHelper('helper', function (options) { -314c219,220 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return options.fn() + (options.fn as any).run; +314,315c218,219 < .withDecorator('decorator', function(fn) { +< fn.run = 'cess'; --- > .withDecorator('decorator', function (fn) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -320,324c226,228 +> (fn as any).run = 'cess'; +320,325c224,227 < it('should apply block decorators', function() { < expectTemplate( < '{{#helper}}{{#*decorator}}success{{/decorator}}{{/helper}}' < ) < .withHelper('helper', function(options) { +< return options.fn.run; --- > it('should apply block decorators', () => { > expectTemplate('{{#helper}}{{#*decorator}}success{{/decorator}}{{/helper}}') -> .withHelper('helper', function (options) { -327c231,232 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return (options.fn as any).run; +327,328c229,230 < .withDecorator('decorator', function(fn, props, container, options) { +< fn.run = options.fn(); --- > .withDecorator('decorator', function (fn, props, container, options) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -334c239 +> (fn as any).run = options.fn(); +334c236 < it('should support nested decorators', function() { --- > it('should support nested decorators', () => { -338c243 +338,339c240,241 < .withHelper('helper', function(options) { +< return options.fn.run; --- -> .withHelper('helper', function (options) { -342c247,248 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return (options.fn as any).run; +342,343c244,245 < decorator: function(fn, props, container, options) { +< fn.run = options.fn.nested + options.fn(); --- > decorator(fn, props, container, options) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -346c252 +> (fn as any).run = options.fn.nested + options.fn(); +346c248 < nested: function(fn, props, container, options) { --- > nested(fn, props, container, options) { -348c254 +348c250 < } --- > }, -353c259 +353c255 < it('should apply multiple decorators', function() { --- > it('should apply multiple decorators', () => { -357c263 +357,358c259,260 < .withHelper('helper', function(options) { +< return options.fn.run; --- -> .withHelper('helper', function (options) { -360c266,267 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return (options.fn as any).run; +360,361c262,263 < .withDecorator('decorator', function(fn, props, container, options) { +< fn.run = (fn.run || '') + options.fn(); --- > .withDecorator('decorator', function (fn, props, container, options) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -367c274 +> (fn as any).run = ((fn as any).run || '') + options.fn(); +367c269 < it('should access parent variables', function() { --- > it('should access parent variables', () => { -369c276 +369,370c271,272 < .withHelper('helper', function(options) { +< return options.fn.run; --- -> .withHelper('helper', function (options) { -372c279,280 +> .withHelper('helper', function (options: Handlebars.HelperOptions) { +> return (options.fn as any).run; +372,373c274,275 < .withDecorator('decorator', function(fn, props, container, options) { +< fn.run = options.args; --- > .withDecorator('decorator', function (fn, props, container, options) { -> // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' -380,381c288,289 +> (fn as any).run = options.args; +380,381c282,283 < it('should work with root program', function() { < var run; --- > it('should work with root program', () => { > let run; -383,384c291,292 +383,384c285,286 < .withDecorator('decorator', function(fn, props, container, options) { < equals(options.args[0], 'success'); --- > .withDecorator('decorator', function (fn, props, container, options) { > expect(options.args[0]).toEqual('success'); -390c298 +390c292 < equals(run, true); --- > expect(run).toEqual(true); -393,394c301,302 +393,394c295,296 < it('should fail when accessing variables from root', function() { < var run; --- > it('should fail when accessing variables from root', () => { > let run; -396,397c304,305 +396,397c298,299 < .withDecorator('decorator', function(fn, props, container, options) { < equals(options.args[0], undefined); --- > .withDecorator('decorator', function (fn, props, container, options) { > expect(options.args[0]).toBeUndefined(); -403c311 +403c305 < equals(run, true); --- > expect(run).toEqual(true); -406,408c314,317 +406,408c308,311 < describe('registration', function() { < it('unregisters', function() { < handlebarsEnv.decorators = {}; @@ -429,7 +447,7 @@ > beforeEach(() => { > global.kbnHandlebarsEnv = Handlebars.create(); > }); -410c319,327 +410c313,321 < handlebarsEnv.registerDecorator('foo', function() { --- > afterEach(() => { @@ -441,7 +459,7 @@ > kbnHandlebarsEnv!.decorators = {}; > > kbnHandlebarsEnv!.registerDecorator('foo', function () { -414,416c331,333 +414,416c325,327 < equals(!!handlebarsEnv.decorators.foo, true); < handlebarsEnv.unregisterDecorator('foo'); < equals(handlebarsEnv.decorators.foo, undefined); @@ -449,14 +467,14 @@ > expect(!!kbnHandlebarsEnv!.decorators.foo).toEqual(true); > kbnHandlebarsEnv!.unregisterDecorator('foo'); > expect(kbnHandlebarsEnv!.decorators.foo).toBeUndefined(); -419,420c336,338 +419,420c330,332 < it('allows multiple globals', function() { < handlebarsEnv.decorators = {}; --- > it('allows multiple globals', () => { > // @ts-expect-error: Cannot assign to 'decorators' because it is a read-only property. > kbnHandlebarsEnv!.decorators = {}; -422,424c340,343 +422,424c334,337 < handlebarsEnv.registerDecorator({ < foo: function() {}, < bar: function() {} @@ -465,7 +483,7 @@ > kbnHandlebarsEnv!.registerDecorator({ > foo() {}, > bar() {}, -427,432c346,351 +427,432c340,345 < equals(!!handlebarsEnv.decorators.foo, true); < equals(!!handlebarsEnv.decorators.bar, true); < handlebarsEnv.unregisterDecorator('foo'); @@ -479,7 +497,7 @@ > kbnHandlebarsEnv!.unregisterDecorator('bar'); > expect(kbnHandlebarsEnv!.decorators.foo).toBeUndefined(); > expect(kbnHandlebarsEnv!.decorators.bar).toBeUndefined(); -435,445c354,360 +435,445c348,354 < it('fails with multiple and args', function() { < shouldThrow( < function() { @@ -499,7 +517,7 @@ > { > world() { > return 'world!'; -447,452c362,368 +447,452c356,362 < {} < ); < }, diff --git a/packages/kbn-handlebars/.patches/compiler.patch b/packages/kbn-handlebars/.patches/compiler.patch index 8b0a2672d0b03..571519b259c3b 100644 --- a/packages/kbn-handlebars/.patches/compiler.patch +++ b/packages/kbn-handlebars/.patches/compiler.patch @@ -163,7 +163,7 @@ --- > it('should include the location in the error (row and column)', () => { > try { -> compile(' \n {{#if}}\n{{/def}}')({}); +> compile(' \n {{#if}}\n{{/def}}')(); > expect(true).toEqual(false); > } catch (err) { > expect(err.message).toEqual("if doesn't match def - 2:5"); @@ -188,7 +188,7 @@ --- > it('should include the location as enumerable property', () => { > try { -> compile(' \n {{#if}}\n{{/def}}')({}); +> compile(' \n {{#if}}\n{{/def}}')(); > expect(true).toEqual(false); > } catch (err) { > expect(Object.prototype.propertyIsEnumerable.call(err, 'column')).toEqual(true); @@ -210,7 +210,7 @@ > compile({ > type: 'Program', > body: [{ type: 'ContentStatement', value: 'Hello' }], -> })({}) +> })() > ).toEqual('Hello'); > }); 154,170c64,66 @@ -233,7 +233,7 @@ < }); --- > it('can pass through an empty string', () => { -> expect(compile('')({})).toEqual(''); +> expect(compile('')()).toEqual(''); > }); 172,182c68,75 < it('can utilize AST instance', function() { @@ -251,7 +251,7 @@ > it('should not modify the options.data property(GH-1327)', () => { > // The `data` property is supposed to be a boolean, but in this test we want to ignore that > const options = { data: [{ a: 'foo' }, { a: 'bar' }] as unknown as boolean }; -> compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)({}); +> compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)(); > expect(JSON.stringify(options, null, 2)).toEqual( > JSON.stringify({ data: [{ a: 'foo' }, { a: 'bar' }] }, null, 2) > ); @@ -262,7 +262,7 @@ --- > it('should not modify the options.knownHelpers property(GH-1327)', () => { > const options = { knownHelpers: {} }; -> compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)({}); +> compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)(); > expect(JSON.stringify(options, null, 2)).toEqual( > JSON.stringify({ knownHelpers: {} }, null, 2) > ); diff --git a/packages/kbn-handlebars/.patches/helpers.patch b/packages/kbn-handlebars/.patches/helpers.patch index a98e1ffea1937..09774103fb587 100644 --- a/packages/kbn-handlebars/.patches/helpers.patch +++ b/packages/kbn-handlebars/.patches/helpers.patch @@ -41,7 +41,7 @@ 19c35 < .withHelper('raw', function(options) { --- -> .withHelper('raw', function (options) { +> .withHelper('raw', function (options: Handlebars.HelperOptions) { 22d37 < .withMessage('raw block helper gets raw content') 26c41 @@ -52,7 +52,7 @@ < .withHelper('raw', function(a, b, c, options) { < return options.fn() + a + b + c; --- -> .withHelper('raw', function (a, b, c, options) { +> .withHelper('raw', function (a, b, c, options: Handlebars.HelperOptions) { > const ret = options.fn() + a + b + c; > return ret; 32d47 @@ -66,7 +66,7 @@ 39c54 < .withHelper('identity', function(options) { --- -> .withHelper('identity', function (options) { +> .withHelper('identity', function (options: Handlebars.HelperOptions) { 45c60 < it('helper for nested raw block gets raw content', function() { --- @@ -99,7 +99,7 @@ < var byes = ['Goodbye', 'goodbye', 'GOODBYE']; < for (var i = 0, j = byes.length; i < j; i++) { --- -> .withHelper('goodbyes', function (this: any, options) { +> .withHelper('goodbyes', function (this: any, options: Handlebars.HelperOptions) { > let out = ''; > const byes = ['Goodbye', 'goodbye', 'GOODBYE']; > for (let i = 0, j = byes.length; i < j; i++) { @@ -113,7 +113,7 @@ < var byes = ['Goodbye', 'goodbye', 'GOODBYE']; < for (var i = 0, j = byes.length; i < j; i++) { --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { > let out = ''; > const byes = ['Goodbye', 'goodbye', 'GOODBYE']; > for (let i = 0, j = byes.length; i < j; i++) { @@ -141,7 +141,7 @@ < '' < ); --- -> .withHelper('link', function (this: any, prefix, options) { +> .withHelper('link', function (this: any, prefix, options: Handlebars.HelperOptions) { > return '' + options.fn(this) + ''; 130,133c135,136 < it('helper with complex lookup and nested template in VM+Compiler', function() { @@ -167,7 +167,7 @@ < '' < ); --- -> .withHelper('link', function (this: any, prefix, options) { +> .withHelper('link', function (this: any, prefix, options: Handlebars.HelperOptions) { > return '' + options.fn(this) + ''; 152c147 < it('helper returning undefined value', function() { @@ -188,7 +188,7 @@ 169c164 < .withHelper('goodbyes', function(options) { --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { 172d166 < .withMessage('Block helper executed') 176c170 @@ -198,7 +198,7 @@ 179c173 < .withHelper('form', function(options) { --- -> .withHelper('form', function (this: any, options) { +> .withHelper('form', function (this: any, options: Handlebars.HelperOptions) { 182d175 < .withMessage('Block helper executed with current context') 186,187c179,180 @@ -230,7 +230,7 @@ 213c204 < .withHelper('form', function(context, options) { --- -> .withHelper('form', function (context, options) { +> .withHelper('form', function (context, options: Handlebars.HelperOptions) { 216d206 < .withMessage('Context variable resolved') 220c210 @@ -240,7 +240,7 @@ 223c213 < .withHelper('form', function(context, options) { --- -> .withHelper('form', function (context, options) { +> .withHelper('form', function (context, options: Handlebars.HelperOptions) { 226d215 < .withMessage('Complex path variable resolved') 230,233c219,220 @@ -258,11 +258,11 @@ 237c224 < .withHelper('link', function(options) { --- -> .withHelper('link', function (this: any, options) { +> .withHelper('link', function (this: any, options: Handlebars.HelperOptions) { 240c227 < .withHelper('form', function(context, options) { --- -> .withHelper('form', function (context, options) { +> .withHelper('form', function (context, options: Handlebars.HelperOptions) { 243d229 < .withMessage('Both blocks executed') 247,249c233,235 @@ -598,7 +598,7 @@ 539c480 < .withHelper('goodbye', function(cruel, world, options) { --- -> .withHelper('goodbye', function (cruel, world, options) { +> .withHelper('goodbye', function (cruel, world, options: Handlebars.HelperOptions) { 542d482 < .withMessage('block helpers with multiple params') 547,548c487,488 @@ -610,7 +610,7 @@ 550c490 < .withHelper('goodbye', function(options) { --- -> .withHelper('goodbye', function (options) { +> .withHelper('goodbye', function (options: Handlebars.HelperOptions) { 561d500 < .withMessage('Helper output hash') 565,566c504,505 @@ -630,7 +630,7 @@ 589c526 < .withHelper('goodbye', function(options) { --- -> .withHelper('goodbye', function (this: any, options) { +> .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { 600d536 < .withMessage('Hash parameters output') 604c540 @@ -640,7 +640,7 @@ 606c542 < .withHelper('goodbye', function(options) { --- -> .withHelper('goodbye', function (this: any, options) { +> .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { 617d552 < .withMessage('Hash parameters output') 621,622c556,557 @@ -670,7 +670,7 @@ 654c585 < .withHelper('helperMissing', function(mesg, options) { --- -> .withHelper('helperMissing', function (mesg, options) { +> .withHelper('helperMissing', function (mesg, options: Handlebars.HelperOptions) { 662c593 < it('if a value is not found, custom helperMissing is used', function() { --- @@ -678,7 +678,7 @@ 665c596 < .withHelper('helperMissing', function(options) { --- -> .withHelper('helperMissing', function (options) { +> .withHelper('helperMissing', function (options: Handlebars.HelperOptions) { 674,675c605,606 < describe('knownHelpers', function() { < it('Known helper should render helper', function() { @@ -893,7 +893,7 @@ 869c791 < .withHelper('goodbye', function(options) { --- -> .withHelper('goodbye', function (this: any, options) { +> .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { 872c794 < .withHelper('cruel', function(world) { --- @@ -931,7 +931,7 @@ --- > it('Scoped names take precedence over block helpers', () => { > expectTemplate('{{#goodbye}} {{cruel world}}{{/goodbye}} {{this.goodbye}}') -> .withHelper('goodbye', function (this: any, options) { +> .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { 906c824 < .withHelper('cruel', function(world) { --- @@ -952,7 +952,7 @@ < .withHelper('goodbyes', function(options) { < equals(options.fn.blockParams, 1); --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { > expect(options.fn.blockParams).toEqual(1); 929c846 < it('should take presedence over helper values', function() { @@ -966,7 +966,7 @@ < .withHelper('goodbyes', function(options) { < equals(options.fn.blockParams, 1); --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { > expect(options.fn.blockParams).toEqual(1); 941,944c858,859 < it('should not take presedence over pathed values', function() { @@ -984,7 +984,7 @@ < .withHelper('goodbyes', function(options) { < equals(options.fn.blockParams, 1); --- -> .withHelper('goodbyes', function (this: any, options) { +> .withHelper('goodbyes', function (this: any, options: Handlebars.HelperOptions) { > expect(options.fn.blockParams).toEqual(1); 956,957c871,872 < it('should take presednece over parent block params', function() { @@ -1004,7 +1004,7 @@ 962c882 < .withHelper('goodbyes', function(options) { --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { 966,967c886 < blockParams: < options.fn.blockParams === 1 ? [value++, value++] : undefined @@ -1022,7 +1022,7 @@ < .withHelper('goodbyes', function(options) { < equals(options.fn.blockParams, 1); --- -> .withHelper('goodbyes', function (options) { +> .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { > expect(options.fn.blockParams).toEqual(1); 987,991c904,906 < describe('built-in helpers malformed arguments ', function() { @@ -1088,11 +1088,18 @@ --- > describe('the lookupProperty-option', () => { > it('should be passed to custom helpers', () => { -1040c945 +1040,1042c945,950 < .withHelper('testHelper', function testHelper(options) { ---- -> .withHelper('testHelper', function testHelper(this: any, options) { -1047a953,958 +< return options.lookupProperty(this, 'testProperty'); +< }) +--- +> .withHelper( +> 'testHelper', +> function testHelper(this: any, options: Handlebars.HelperOptions) { +> return options.lookupProperty(this, 'testProperty'); +> } +> ) +1047a956,961 > > function deleteAllKeys(obj: { [key: string]: any }) { > for (const key of Object.keys(obj)) { diff --git a/packages/kbn-handlebars/.patches/regressions.patch b/packages/kbn-handlebars/.patches/regressions.patch index 2fcd491310619..89eb0d927403e 100644 --- a/packages/kbn-handlebars/.patches/regressions.patch +++ b/packages/kbn-handlebars/.patches/regressions.patch @@ -1,4 +1,4 @@ -1,2c1,11 +1,2c1,12 < describe('Regressions', function() { < it('GH-94: Cannot read property of undefined', function() { --- @@ -9,17 +9,18 @@ > * See `packages/kbn-handlebars/LICENSE` for more information. > */ > +> import Handlebars from '../..'; > import { expectTemplate } from '../__jest__/test_bench'; > > describe('Regressions', () => { > it('GH-94: Cannot read property of undefined', () => { -9,10c18,19 +9,10c19,20 < name: 'Charles Darwin' < } --- > name: 'Charles Darwin', > }, -13,15c22,24 +13,15c23,25 < title: 'Lazarillo de Tormes' < } < ] @@ -27,9 +28,9 @@ > title: 'Lazarillo de Tormes', > }, > ], -17d25 +17d26 < .withMessage('Renders without an undefined property error') -21,43c29,34 +21,43c30,35 < it("GH-150: Inverted sections print when they shouldn't", function() { < var string = '{{^set}}not set{{/set}} :: {{#set}}set{{/set}}'; < @@ -60,47 +61,47 @@ > expectTemplate(string).withInput({ set: undefined }).toCompileTo('not set :: '); > expectTemplate(string).withInput({ set: false }).toCompileTo('not set :: '); > expectTemplate(string).withInput({ set: true }).toCompileTo(' :: set'); -46c37 +46c38 < it('GH-158: Using array index twice, breaks the template', function() { --- > it('GH-158: Using array index twice, breaks the template', () => { -49d39 +49d40 < .withMessage('it works as expected') -53,54c43,44 +53,54c44,45 < it("bug reported by @fat where lambdas weren't being properly resolved", function() { < var string = --- > it("bug reported by @fat where lambdas weren't being properly resolved", () => { > const string = -69,70c59,60 +69,70c60,61 < var data = { < thing: function() { --- > const data = { > thing() { -76c66 +76c67 < { className: 'three', word: '@sayrer' } --- > { className: 'three', word: '@sayrer' }, -78c68 +78c69 < hasThings: function() { --- > hasThings() { -80c70 +80c71 < } --- > }, -83c73 +83c74 < var output = --- > const output = -92,94c82 +92,94c83 < expectTemplate(string) < .withInput(data) < .toCompileTo(output); --- > expectTemplate(string).withInput(data).toCompileTo(output); -97,100c85,86 +97,100c86,87 < it('GH-408: Multiple loops fail', function() { < expectTemplate( < '{{#.}}{{name}}{{/.}}{{#.}}{{name}}{{/.}}{{#.}}{{name}}{{/.}}' @@ -108,37 +109,37 @@ --- > it('GH-408: Multiple loops fail', () => { > expectTemplate('{{#.}}{{name}}{{/.}}{{#.}}{{name}}{{/.}}{{#.}}{{name}}{{/.}}') -103c89 +103c90 < { name: 'Jane Doe', location: { city: 'New York' } } --- > { name: 'Jane Doe', location: { city: 'New York' } }, -105d90 +105d91 < .withMessage('It should output multiple times') -109,110c94,95 +109,110c95,96 < it('GS-428: Nested if else rendering', function() { < var succeedingTemplate = --- > it('GS-428: Nested if else rendering', () => { > const succeedingTemplate = -112c97 +112c98 < var failingTemplate = --- > const failingTemplate = -115,116c100,101 +115,116c101,102 < var helpers = { < blk: function(block) { --- > const helpers = { > blk(block: Handlebars.HelperOptions) { -119c104 +119c105 < inverse: function(block) { --- > inverse(block: Handlebars.HelperOptions) { -121c106 +121c107 < } --- > }, -124,130c109,110 +124,130c110,111 < expectTemplate(succeedingTemplate) < .withHelpers(helpers) < .toCompileTo(' Expected '); @@ -149,7 +150,7 @@ --- > expectTemplate(succeedingTemplate).withHelpers(helpers).toCompileTo(' Expected '); > expectTemplate(failingTemplate).withHelpers(helpers).toCompileTo(' Expected '); -133,136c113,114 +133,136c114,115 < it('GH-458: Scoped this identifier', function() { < expectTemplate('{{./foo}}') < .withInput({ foo: 'bar' }) @@ -157,25 +158,25 @@ --- > it('GH-458: Scoped this identifier', () => { > expectTemplate('{{./foo}}').withInput({ foo: 'bar' }).toCompileTo('bar'); -139c117 +139c118 < it('GH-375: Unicode line terminators', function() { --- > it('GH-375: Unicode line terminators', () => { -143c121 +143c122 < it('GH-534: Object prototype aliases', function() { --- > it('GH-534: Object prototype aliases', () => { -144a123 +144a124 > // @ts-expect-error -147,149c126 +147,149c127 < expectTemplate('{{foo}}') < .withInput({ foo: 'bar' }) < .toCompileTo('bar'); --- > expectTemplate('{{foo}}').withInput({ foo: 'bar' }).toCompileTo('bar'); -150a128 +150a129 > // @ts-expect-error -155,157c133,135 +155,157c134,136 < it('GH-437: Matching escaping', function() { < expectTemplate('{{{a}}').toThrow(Error, /Parse error on/); < expectTemplate('{{a}}}').toThrow(Error, /Parse error on/); @@ -183,7 +184,7 @@ > it('GH-437: Matching escaping', () => { > expectTemplate('{{{a}}').toThrow(/Parse error on/); > expectTemplate('{{a}}}').toThrow(/Parse error on/); -160,166c138,140 +160,166c139,141 < it('GH-676: Using array in escaping mustache fails', function() { < var data = { arr: [1, 2] }; < @@ -195,30 +196,30 @@ > it('GH-676: Using array in escaping mustache fails', () => { > const data = { arr: [1, 2] }; > expectTemplate('{{arr}}').withInput(data).toCompileTo(data.arr.toString()); -169c143 +169c144 < it('Mustache man page', function() { --- > it('Mustache man page', () => { -177c151 +177c152 < in_ca: true --- > in_ca: true, -179,182c153 +179,182c154 < .withMessage('the hello world mustache example works') < .toCompileTo( < 'Hello Chris. You have just won $10000! Well, $6000, after taxes.' < ); --- > .toCompileTo('Hello Chris. You have just won $10000! Well, $6000, after taxes.'); -185c156 +185c157 < it('GH-731: zero context rendering', function() { --- > it('GH-731: zero context rendering', () => { -189c160 +189c161 < bar: 'OK' --- > bar: 'OK', -194,197c165,166 +194,197c166,167 < it('GH-820: zero pathed rendering', function() { < expectTemplate('{{foo.bar}}') < .withInput({ foo: 0 }) @@ -226,37 +227,37 @@ --- > it('GH-820: zero pathed rendering', () => { > expectTemplate('{{foo.bar}}').withInput({ foo: 0 }).toCompileTo(''); -200c169 +200c170 < it('GH-837: undefined values for helpers', function() { --- > it('GH-837: undefined values for helpers', () => { -203c172 +203c173 < str: function(value) { --- > str(value) { -205c174 +205c175 < } --- > }, -210c179 +210c180 < it('GH-926: Depths and de-dupe', function() { --- > it('GH-926: Depths and de-dupe', () => { -217c186 +217c187 < notData: [1] --- > notData: [1], -222c191 +222c192 < it('GH-1021: Each empty string key', function() { --- > it('GH-1021: Each empty string key', () => { -228,229c197,198 +228,229c198,199 < value: 10000 < } --- > value: 10000, > }, -234,248c203,204 +234,248c204,205 < it('GH-1054: Should handle simple safe string responses', function() { < expectTemplate('{{#wrap}}{{>partial}}{{/wrap}}') < .withHelpers({ @@ -275,27 +276,27 @@ --- > it('GH-1065: Sparse arrays', () => { > const array = []; -252c208 +252c209 < .withInput({ array: array }) --- > .withInput({ array }) -256c212 +256c213 < it('GH-1093: Undefined helper context', function() { --- > it('GH-1093: Undefined helper context', () => { -260c216 +260c217 < helper: function() { --- > helper(this: any) { -263c219 +263c220 < for (var name in this) { --- > for (const name in this) { -270c226 +270c227 < } --- > }, -275,306c231 +275,306c232 < it('should support multiple levels of inline partials', function() { < expectTemplate( < '{{#> layout}}{{#*inline "subcontent"}}subcontent{{/inline}}{{/layout}}' @@ -330,15 +331,15 @@ < it('GH-1135 : Context handling within each iteration', function() { --- > it('GH-1135 : Context handling within each iteration', () => { -315c240 +315c241 < myif: function(conditional, options) { --- -> myif(conditional, options) { -321c246 +> myif(conditional, options: Handlebars.HelperOptions) { +321c247 < } --- > }, -326,343c251,252 +326,343c252,253 < it('GH-1186: Support block params for existing programs', function() { < expectTemplate( < '{{#*inline "test"}}{{> @partial-block }}{{/inline}}' + @@ -360,13 +361,13 @@ --- > it('GH-1319: "unless" breaks when "each" value equals "null"', () => { > expectTemplate('{{#each list}}{{#unless ./prop}}parent={{../value}} {{/unless}}{{/each}}') -346c255 +346c256 < list: [null, 'a'] --- > list: [null, 'a'], -348d256 +348d257 < .withMessage('') -352,457c260 +352,457c261 < it('GH-1341: 4.0.7 release breaks {{#if @partial-block}} usage', function() { < expectTemplate('template {{>partial}} template') < .withPartials({ @@ -475,15 +476,15 @@ < it('should allow hash with protected array names', function() { --- > it('should allow hash with protected array names', () => { -461c264 +461c265 < helpa: function(options) { --- -> helpa(options) { -463c266 +> helpa(options: Handlebars.HelperOptions) { +463c267 < } --- > }, -468,496c271,272 +468,496c272,273 < describe('GH-1598: Performance degradation for partials since v4.3.0', function() { < // Do not run test for runs without compiler < if (!Handlebars.compile) { diff --git a/packages/kbn-handlebars/BUILD.bazel b/packages/kbn-handlebars/BUILD.bazel deleted file mode 100644 index 2588bbe7857c0..0000000000000 --- a/packages/kbn-handlebars/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-handlebars" -PKG_REQUIRE_NAME = "@kbn/handlebars" -TYPES_PKG_REQUIRE_NAME = "@types/kbn__handlebars" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__jest__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//handlebars", -] - -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "@npm//handlebars", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-handlebars/README.md b/packages/kbn-handlebars/README.md index 0f7ae9b0d4668..69fdfcd83033a 100644 --- a/packages/kbn-handlebars/README.md +++ b/packages/kbn-handlebars/README.md @@ -59,7 +59,7 @@ To instruct the `Visitor` code to traverse any child nodes of a given node, our We keep state internally in the `ElasticHandlebarsVisitor` object using the following private properties: -- `scopes`: An array (stack) of `context` objects. In a simple template this array will always only contain a single element: The main `context` object. In more complicated scenarios, new `context` objects will be pushed and popped to and from the `scopes` stack as needed. +- `contexts`: An array (stack) of `context` objects. In a simple template this array will always only contain a single element: The main `context` object. In more complicated scenarios, new `context` objects will be pushed and popped to and from the `contexts` stack as needed. - `output`: An array containing the "rendered" output of each node (normally just one element per node). In the most simple template, this is simply joined together into a the final output string after the AST has been traversed. In more complicated templates, we use this array temporarily to collect parameters to give to helper functions (see the `getParams` function). ## Testing diff --git a/packages/kbn-handlebars/index.test.ts b/packages/kbn-handlebars/index.test.ts index 82f837a6b333f..6159a65dbcb8f 100644 --- a/packages/kbn-handlebars/index.test.ts +++ b/packages/kbn-handlebars/index.test.ts @@ -98,9 +98,17 @@ describe('helpers', () => { expect(toHaveProperties.calls).toEqual(blockTemplates.length * 2 * factor); }); - it('should pass expected "this" and arguments to helper functions', () => { + it('should pass expected "this" to helper functions (without input)', () => { expectTemplate('{{hello "world" 12 true false}}') - .withHelper('hello', function (this: any, ...args) { + .withHelper('hello', function (this: any, ...args: any[]) { + expect(this).toMatchInlineSnapshot(`Object {}`); + }) + .toCompileTo(''); + }); + + it('should pass expected "this" to helper functions (with input)', () => { + expectTemplate('{{hello "world" 12 true false}}') + .withHelper('hello', function (this: any, ...args: any[]) { expect(this).toMatchInlineSnapshot(` Object { "people": Array [ @@ -115,6 +123,19 @@ describe('helpers', () => { ], } `); + }) + .withInput({ + people: [ + { name: 'Alan', id: 1 }, + { name: 'Yehuda', id: 2 }, + ], + }) + .toCompileTo(''); + }); + + it('should pass expected "this" and arguments to helper functions (non-block helper)', () => { + expectTemplate('{{hello "world" 12 true false}}') + .withHelper('hello', function (this: any, ...args: any[]) { expect(args).toMatchInlineSnapshot(` Array [ "world", @@ -161,6 +182,58 @@ describe('helpers', () => { }) .toCompileTo(''); }); + + it('should pass expected "this" and arguments to helper functions (block helper)', () => { + expectTemplate('{{#hello "world" 12 true false}}{{/hello}}') + .withHelper('hello', function (this: any, ...args: any[]) { + expect(args).toMatchInlineSnapshot(` + Array [ + "world", + 12, + true, + false, + Object { + "data": Object { + "root": Object { + "people": Array [ + Object { + "id": 1, + "name": "Alan", + }, + Object { + "id": 2, + "name": "Yehuda", + }, + ], + }, + }, + "fn": [Function], + "hash": Object {}, + "inverse": [Function], + "loc": Object { + "end": Object { + "column": 42, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "lookupProperty": [Function], + "name": "hello", + }, + ] + `); + }) + .withInput({ + people: [ + { name: 'Alan', id: 1 }, + { name: 'Yehuda', id: 2 }, + ], + }) + .toCompileTo(''); + }); }); // Extra "blocks" tests @@ -190,11 +263,11 @@ describe('blocks', () => { const render = compile('{{*decorator}}'); let calls = 0; - expect(render({})).toEqual(''); + expect(render()).toEqual(''); expect(calls).toEqual(1); calls = 0; - expect(render({})).toEqual(''); + expect(render()).toEqual(''); expect(calls).toEqual(1); global.kbnHandlebarsEnv = null; diff --git a/packages/kbn-handlebars/index.ts b/packages/kbn-handlebars/index.ts index 9f8256a3bb516..da48f5e1475f7 100644 --- a/packages/kbn-handlebars/index.ts +++ b/packages/kbn-handlebars/index.ts @@ -3,8 +3,8 @@ * See `packages/kbn-handlebars/LICENSE` for more information. */ -// The handlebars module uses `export =`, so we should technically use `import OriginalHandlebars = require('handlebars')`, but Babel will not allow this. -import OriginalHandlebars from 'handlebars'; +// The handlebars module uses `export =`, so we should technically use `import Handlebars = require('handlebars')`, but Babel will not allow this. +import Handlebars from 'handlebars'; import { createProtoAccessControl, resultIsAllowed, @@ -17,20 +17,59 @@ import { indexOf, createFrame } from 'handlebars/dist/cjs/handlebars/utils'; // @ts-expect-error: Could not find a declaration file for module import { moveHelperToHooks } from 'handlebars/dist/cjs/handlebars/helpers'; -const originalCreate = OriginalHandlebars.create; +const originalCreate = Handlebars.create; /** - * A custom version of the Handlesbars module with an extra `compileAST` function. + * A custom version of the Handlesbars module with an extra `compileAST` function and fixed typings. */ -const Handlebars: typeof ExtendedHandlebars & typeof OriginalHandlebars = OriginalHandlebars as any; +declare module 'handlebars' { + export function compileAST( + input: string | hbs.AST.Program, + options?: ExtendedCompileOptions + ): (context?: any, options?: ExtendedRuntimeOptions) => string; + + // -------------------------------------------------------- + // Override/Extend inherited types below that are incorrect + // -------------------------------------------------------- + + export interface TemplateDelegate { + (context?: T, options?: RuntimeOptions): string; // Override to ensure `context` is optional + blockParams?: number; // TODO: Can this really be optional? + } + + export interface HelperOptions { + name: string; + loc: { start: hbs.AST.SourceLocation['start']; end: hbs.AST.SourceLocation['end'] }; + lookupProperty: LookupProperty; + } + + export interface HelperDelegate { + // eslint-disable-next-line @typescript-eslint/prefer-function-type + (...params: any[]): any; + } +} const kHelper = Symbol('helper'); const kAmbiguous = Symbol('ambiguous'); const kSimple = Symbol('simple'); type NodeType = typeof kHelper | typeof kAmbiguous | typeof kSimple; -type ProcessableNode = hbs.AST.MustacheStatement | hbs.AST.BlockStatement | hbs.AST.SubExpression; +type LookupProperty = (parent: { [name: string]: any }, propertyName: string) => T; + +type ProcessableStatementNode = hbs.AST.MustacheStatement | hbs.AST.SubExpression; +type ProcessableBlockStatementNode = hbs.AST.BlockStatement | hbs.AST.PartialBlockStatement; +type ProcessableNode = ProcessableStatementNode | ProcessableBlockStatementNode; type ProcessableNodeWithPathParts = ProcessableNode & { path: hbs.AST.PathExpression }; +type ProcessableNodeWithPathPartsOrLiteral = ProcessableNode & { + path: hbs.AST.PathExpression | hbs.AST.Literal; +}; + +export type NonBlockHelperOptions = Omit; +export type AmbiguousHelperOptions = Handlebars.HelperOptions | NonBlockHelperOptions; + +export interface DecoratorOptions extends Omit { + args?: any[]; +} /** * If the `unsafe-eval` CSP is set, this string constant will be `compile`, @@ -85,19 +124,6 @@ export interface DecoratorsHash { [name: string]: DecoratorFunction; } -/** - * Normally this namespace isn't used directly. It's required to be present by - * TypeScript when calling the `Handlebars.create()` function. - */ -// eslint-disable-next-line @typescript-eslint/no-namespace -export declare namespace ExtendedHandlebars { - export function compileAST( - input: string | hbs.AST.Program, - options?: ExtendedCompileOptions - ): (context: any, options?: ExtendedRuntimeOptions) => string; - export function create(): typeof Handlebars; // eslint-disable-line @typescript-eslint/no-shadow -} - // The handlebars module uses `export =`, so it can't be re-exported using `export *`. // However, because of Babel, we're not allowed to use `export =` ourselves. // So we have to resort to using `exports default` even though eslint doesn't like it. @@ -151,7 +177,7 @@ interface Container { helpers: HelpersHash; decorators: DecoratorsHash; strict: (obj: { [name: string]: any }, name: string, loc: hbs.AST.SourceLocation) => any; - lookupProperty: (parent: { [name: string]: any }, propertyName: string) => T; + lookupProperty: LookupProperty; lambda: (current: any, context: any) => any; data: (value: any, depth: number) => any; hooks: { @@ -161,7 +187,7 @@ interface Container { } class ElasticHandlebarsVisitor extends Handlebars.Visitor { - private scopes: any[] = []; + private contexts: any[] = []; private output: any[] = []; private template?: string; private compileOptions: ExtendedCompileOptions; @@ -172,8 +198,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { private blockParamValues: any[][] = []; private ast?: hbs.AST.Program; private container: Container; - // @ts-expect-error - private defaultHelperOptions: Handlebars.HelperOptions = {}; + private defaultHelperOptions: Pick; private processedRootDecorators = false; // Root decorators should not have access to input arguments. This flag helps us detect them. private processedDecoratorsForProgram = new Set(); // It's important that a given program node only has its decorators run once, we use this Map to keep track of them @@ -257,12 +282,13 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { hooks: {}, }); - // @ts-expect-error - this.defaultHelperOptions.lookupProperty = container.lookupProperty; + this.defaultHelperOptions = { + lookupProperty: container.lookupProperty, + }; } render(context: any, options: ExtendedRuntimeOptions = {}): string { - this.scopes = [context]; + this.contexts = [context]; this.output = []; this.runtimeOptions = options; this.container.helpers = Object.assign(this.initialHelpers, options.helpers); @@ -338,7 +364,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { } else if (path.data) { result = this.lookupData(this.runtimeOptions!.data, path); } else { - result = this.resolvePath(this.scopes[path.depth], path); + result = this.resolvePath(this.contexts[path.depth], path); } this.output.push(result); @@ -397,16 +423,15 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { const result = this.container.lookupProperty( this.container.decorators, - // @ts-expect-error: Property 'name' does not exist on type 'HelperOptions' - The types are wrong options.name )(prog, props, this.container, options); Object.assign(result || prog, props); } - private processStatementOrExpression(node: ProcessableNode) { + private processStatementOrExpression(node: ProcessableNodeWithPathPartsOrLiteral) { // Calling `transformLiteralToPath` has side-effects! - // It converts a node from type `ProcessableNode` to `ProcessableNodeWithPathParts` + // It converts a node from type `ProcessableNodeWithPathPartsOrLiteral` to `ProcessableNodeWithPathParts` transformLiteralToPath(node); switch (this.classifyNode(node as ProcessableNodeWithPathParts)) { @@ -489,7 +514,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { // @ts-expect-error strict is not a valid property on PathExpression, but we used in the same way it's also used in the original handlebars path.strict = true; const result = this.resolveNodes(path)[0]; - const lambdaResult = this.container.lambda(result, this.scopes[0]); + const lambdaResult = this.container.lambda(result, this.context); if (isBlock(node)) { this.blockValue(node, lambdaResult); @@ -506,8 +531,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { const name = node.path.original; const options = this.setupParams(node, name); - const context = this.scopes[0]; - const result = this.container.hooks.blockHelperMissing!.call(context, value, options); + const result = this.container.hooks.blockHelperMissing!.call(this.context, value, options); this.output.push(result); } @@ -534,7 +558,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { const name = node.path.parts[0]; const helper = this.setupHelper(node, name); // TypeScript: `helper.fn` might be `undefined` at this point, but to match the upstream behavior we call it without any guards - const result = helper.fn.apply(helper.context, helper.params); + const result = helper.fn!.call(helper.context, ...helper.params, helper.options); this.output.push(result); } @@ -560,7 +584,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { } // TypeScript: `helper.fn` might be `undefined` at this point, but to match the upstream behavior we call it without any guards - const result = helper.fn.apply(helper.context, helper.params); + const result = helper.fn!.call(helper.context, ...helper.params, helper.options); this.output.push(result); } @@ -613,7 +637,7 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { } return typeof helper.fn === 'function' - ? helper.fn.apply(helper.context, helper.params) + ? helper.fn.call(helper.context, ...helper.params, helper.options) : helper.fn; } @@ -622,71 +646,74 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { const helper = this.setupHelper(block, name); if (!helper.fn) { - const context = this.scopes[0]; - const options = helper.params[helper.params.length - 1]; - value = this.container.hooks.blockHelperMissing!.call(context, value, options); + value = this.container.hooks.blockHelperMissing!.call(this.context, value, helper.options); } return value; } - private setupHelper(node: ProcessableNodeWithPathParts, helperName: string) { + private setupHelper( + node: ProcessableNode, + helperName: string + ): { + fn?: Handlebars.HelperDelegate; + context: any[]; + params: any[]; + options: AmbiguousHelperOptions; + } { return { fn: this.container.lookupProperty(this.container.helpers, helperName), - context: this.scopes[0], - params: [...this.resolveNodes(node.params), this.setupParams(node, helperName)], + context: this.context, + params: this.resolveNodes(node.params), + options: this.setupParams(node, helperName), }; } - private setupDecoratorOptions( - decorator: hbs.AST.Decorator | hbs.AST.DecoratorBlock - ): Handlebars.HelperOptions { + private setupDecoratorOptions(decorator: hbs.AST.Decorator | hbs.AST.DecoratorBlock) { // TypeScript: The types indicate that `decorator.path` technically can be an `hbs.AST.Literal`. However, the upstream codebase always treats it as an `hbs.AST.PathExpression`, so we do too. const name = (decorator.path as hbs.AST.PathExpression).original; - const options = this.setupParams(decorator as hbs.AST.DecoratorBlock, name); + const options = toDecoratorOptions(this.setupParams(decorator, name)); if (decorator.params.length > 0) { if (!this.processedRootDecorators) { // When processing the root decorators, temporarily remove the root context so it's not accessible to the decorator - const context = this.scopes.shift(); - // @ts-expect-error: Property 'args' does not exist on type 'HelperOptions'. The 'args' property is expected in decorators + const context = this.contexts.shift(); options.args = this.resolveNodes(decorator.params); - this.scopes.unshift(context); + this.contexts.unshift(context); } else { - // @ts-expect-error: Property 'args' does not exist on type 'HelperOptions'. The 'args' property is expected in decorators options.args = this.resolveNodes(decorator.params); } } - // @ts-expect-error: Property 'lookupProperty' does not exist on type 'HelperOptions' - delete options.lookupProperty; // There's really no tests/documentation on this, but to match the upstream codebase we'll remove `lookupProperty` from the decorator context - return options; } - private setupParams( - node: ProcessableNodeWithPathParts, - helperName: string - ): Handlebars.HelperOptions { - const options: Handlebars.HelperOptions = { - // @ts-expect-error: Name should be on there, but the offical types doesn't know this - name: helperName, + private setupParams(node: ProcessableBlockStatementNode, name: string): Handlebars.HelperOptions; + private setupParams(node: ProcessableStatementNode, name: string): NonBlockHelperOptions; + private setupParams(node: ProcessableNode, name: string): AmbiguousHelperOptions; + private setupParams(node: ProcessableNode, name: string): AmbiguousHelperOptions { + const options = { + name, hash: this.getHash(node), data: this.runtimeOptions!.data, loc: { start: node.loc.start, end: node.loc.end }, + ...this.defaultHelperOptions, }; if (isBlock(node)) { - options.fn = this.generateProgramFunction(node.program); - if (node.program) this.processDecorators(node.program, options.fn); - options.inverse = this.generateProgramFunction(node.inverse); - if (node.inverse) this.processDecorators(node.inverse, options.inverse); + // TODO: Is there a way in TypeScript to infer that `options` is `Handlebars.HelperOptions` inside this if-statement. If not, is there a way to just cast once? + (options as Handlebars.HelperOptions).fn = this.generateProgramFunction(node.program); + if (node.program) + this.processDecorators(node.program, (options as Handlebars.HelperOptions).fn); + (options as Handlebars.HelperOptions).inverse = this.generateProgramFunction(node.inverse); + if (node.inverse) + this.processDecorators(node.inverse, (options as Handlebars.HelperOptions).inverse); } - return Object.assign(options, this.defaultHelperOptions); + return options; } - private generateProgramFunction(program?: hbs.AST.Program) { + private generateProgramFunction(program: hbs.AST.Program) { if (!program) return noop; const prog: Handlebars.TemplateDelegate = ( @@ -706,8 +733,8 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { // stash parent program data const tmpRuntimeOptions = this.runtimeOptions; this.runtimeOptions = runtimeOptions; - const shiftContext = nextContext !== this.scopes[0]; - if (shiftContext) this.scopes.unshift(nextContext); + const shiftContext = nextContext !== this.context; + if (shiftContext) this.contexts.unshift(nextContext); this.blockParamValues.unshift(runtimeOptions.blockParams || []); // execute child program @@ -715,14 +742,13 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { // unstash parent program data this.blockParamValues.shift(); - if (shiftContext) this.scopes.shift(); + if (shiftContext) this.contexts.shift(); this.runtimeOptions = tmpRuntimeOptions; // return result of child program return result; }; - // @ts-expect-error: Property 'blockParams' does not exist on type 'TemplateDelegate' - The types are too strict prog.blockParams = program.blockParams?.length ?? 0; return prog; } @@ -781,6 +807,10 @@ class ElasticHandlebarsVisitor extends Handlebars.Visitor { return result; } + + private get context() { + return this.contexts[0]; + } } // ********************************************** // @@ -795,6 +825,13 @@ function isDecorator(node: hbs.AST.Node): node is hbs.AST.Decorator | hbs.AST.De return node.type === 'Decorator' || node.type === 'DecoratorBlock'; } +function toDecoratorOptions(options: AmbiguousHelperOptions) { + // There's really no tests/documentation on this, but to match the upstream codebase we'll remove `lookupProperty` from the decorator context + delete (options as any).lookupProperty; + + return options as DecoratorOptions; +} + function noop() { return ''; } diff --git a/packages/kbn-handlebars/kibana.jsonc b/packages/kbn-handlebars/kibana.jsonc index 64249345bce8e..59b3c28ddb391 100644 --- a/packages/kbn-handlebars/kibana.jsonc +++ b/packages/kbn-handlebars/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/handlebars", - "owner": "@elastic/kibana-security", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-security" } diff --git a/packages/kbn-handlebars/package.json b/packages/kbn-handlebars/package.json index 85a52e60d749b..46ca823a476d4 100644 --- a/packages/kbn-handlebars/package.json +++ b/packages/kbn-handlebars/package.json @@ -2,8 +2,5 @@ "name": "@kbn/handlebars", "version": "1.0.0", "private": true, - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "types": "./target_types/index.d.ts", "license": "MIT" -} +} \ No newline at end of file diff --git a/packages/kbn-handlebars/src/__jest__/test_bench.ts b/packages/kbn-handlebars/src/__jest__/test_bench.ts index 5719158661d0f..4aaac2b52bd73 100644 --- a/packages/kbn-handlebars/src/__jest__/test_bench.ts +++ b/packages/kbn-handlebars/src/__jest__/test_bench.ts @@ -64,12 +64,12 @@ class HandlebarsTestBench { return this; } - withHelper(name: string, helper?: Handlebars.HelperDelegate) { + withHelper(name: string, helper?: F) { this.helpers[name] = helper; return this; } - withHelpers(helperFunctions: { [name: string]: Handlebars.HelperDelegate }) { + withHelpers(helperFunctions: { [name: string]: F }) { for (const [name, helper] of Object.entries(helperFunctions)) { this.withHelper(name, helper); } diff --git a/packages/kbn-handlebars/src/upstream/index.blocks.test.ts b/packages/kbn-handlebars/src/upstream/index.blocks.test.ts index 52553fb04f5b8..18db0a50b6c58 100644 --- a/packages/kbn-handlebars/src/upstream/index.blocks.test.ts +++ b/packages/kbn-handlebars/src/upstream/index.blocks.test.ts @@ -200,12 +200,11 @@ describe('blocks', () => { describe('decorators', () => { it('should apply mustache decorators', () => { expectTemplate('{{#helper}}{{*decorator}}{{/helper}}') - .withHelper('helper', function (options) { - return options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return (options.fn as any).run; }) .withDecorator('decorator', function (fn) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = 'success'; + (fn as any).run = 'success'; return fn; }) .toCompileTo('success'); @@ -213,24 +212,22 @@ describe('blocks', () => { it('should apply allow undefined return', () => { expectTemplate('{{#helper}}{{*decorator}}suc{{/helper}}') - .withHelper('helper', function (options) { - return options.fn() + options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return options.fn() + (options.fn as any).run; }) .withDecorator('decorator', function (fn) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = 'cess'; + (fn as any).run = 'cess'; }) .toCompileTo('success'); }); it('should apply block decorators', () => { expectTemplate('{{#helper}}{{#*decorator}}success{{/decorator}}{{/helper}}') - .withHelper('helper', function (options) { - return options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return (options.fn as any).run; }) .withDecorator('decorator', function (fn, props, container, options) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = options.fn(); + (fn as any).run = options.fn(); return fn; }) .toCompileTo('success'); @@ -240,13 +237,12 @@ describe('blocks', () => { expectTemplate( '{{#helper}}{{#*decorator}}{{#*nested}}suc{{/nested}}cess{{/decorator}}{{/helper}}' ) - .withHelper('helper', function (options) { - return options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return (options.fn as any).run; }) .withDecorators({ decorator(fn, props, container, options) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = options.fn.nested + options.fn(); + (fn as any).run = options.fn.nested + options.fn(); return fn; }, nested(fn, props, container, options) { @@ -260,12 +256,11 @@ describe('blocks', () => { expectTemplate( '{{#helper}}{{#*decorator}}suc{{/decorator}}{{#*decorator}}cess{{/decorator}}{{/helper}}' ) - .withHelper('helper', function (options) { - return options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return (options.fn as any).run; }) .withDecorator('decorator', function (fn, props, container, options) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = (fn.run || '') + options.fn(); + (fn as any).run = ((fn as any).run || '') + options.fn(); return fn; }) .toCompileTo('success'); @@ -273,12 +268,11 @@ describe('blocks', () => { it('should access parent variables', () => { expectTemplate('{{#helper}}{{*decorator foo}}{{/helper}}') - .withHelper('helper', function (options) { - return options.fn.run; + .withHelper('helper', function (options: Handlebars.HelperOptions) { + return (options.fn as any).run; }) .withDecorator('decorator', function (fn, props, container, options) { - // @ts-expect-error: Property 'run' does not exist on type 'TemplateDelegate' - fn.run = options.args; + (fn as any).run = options.args; return fn; }) .withInput({ foo: 'success' }) diff --git a/packages/kbn-handlebars/src/upstream/index.compiler.test.ts b/packages/kbn-handlebars/src/upstream/index.compiler.test.ts index 3e225d30199b8..ef5c55f218e6d 100644 --- a/packages/kbn-handlebars/src/upstream/index.compiler.test.ts +++ b/packages/kbn-handlebars/src/upstream/index.compiler.test.ts @@ -29,7 +29,7 @@ describe('compiler', () => { it('should include the location in the error (row and column)', () => { try { - compile(' \n {{#if}}\n{{/def}}')({}); + compile(' \n {{#if}}\n{{/def}}')(); expect(true).toEqual(false); } catch (err) { expect(err.message).toEqual("if doesn't match def - 2:5"); @@ -45,7 +45,7 @@ describe('compiler', () => { it('should include the location as enumerable property', () => { try { - compile(' \n {{#if}}\n{{/def}}')({}); + compile(' \n {{#if}}\n{{/def}}')(); expect(true).toEqual(false); } catch (err) { expect(Object.prototype.propertyIsEnumerable.call(err, 'column')).toEqual(true); @@ -57,18 +57,18 @@ describe('compiler', () => { compile({ type: 'Program', body: [{ type: 'ContentStatement', value: 'Hello' }], - })({}) + })() ).toEqual('Hello'); }); it('can pass through an empty string', () => { - expect(compile('')({})).toEqual(''); + expect(compile('')()).toEqual(''); }); it('should not modify the options.data property(GH-1327)', () => { // The `data` property is supposed to be a boolean, but in this test we want to ignore that const options = { data: [{ a: 'foo' }, { a: 'bar' }] as unknown as boolean }; - compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)({}); + compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)(); expect(JSON.stringify(options, null, 2)).toEqual( JSON.stringify({ data: [{ a: 'foo' }, { a: 'bar' }] }, null, 2) ); @@ -76,7 +76,7 @@ describe('compiler', () => { it('should not modify the options.knownHelpers property(GH-1327)', () => { const options = { knownHelpers: {} }; - compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)({}); + compile('{{#each data}}{{@index}}:{{a}} {{/each}}', options)(); expect(JSON.stringify(options, null, 2)).toEqual( JSON.stringify({ knownHelpers: {} }, null, 2) ); diff --git a/packages/kbn-handlebars/src/upstream/index.helpers.test.ts b/packages/kbn-handlebars/src/upstream/index.helpers.test.ts index 5fd5bfad0e333..65d01f72eb701 100644 --- a/packages/kbn-handlebars/src/upstream/index.helpers.test.ts +++ b/packages/kbn-handlebars/src/upstream/index.helpers.test.ts @@ -32,7 +32,7 @@ describe('helpers', () => { it('helper for raw block gets raw content', () => { expectTemplate('{{{{raw}}}} {{test}} {{{{/raw}}}}') .withInput({ test: 'hello' }) - .withHelper('raw', function (options) { + .withHelper('raw', function (options: Handlebars.HelperOptions) { return options.fn(); }) .toCompileTo(' {{test}} '); @@ -41,7 +41,7 @@ describe('helpers', () => { it('helper for raw block gets parameters', () => { expectTemplate('{{{{raw 1 2 3}}}} {{test}} {{{{/raw}}}}') .withInput({ test: 'hello' }) - .withHelper('raw', function (a, b, c, options) { + .withHelper('raw', function (a, b, c, options: Handlebars.HelperOptions) { const ret = options.fn() + a + b + c; return ret; }) @@ -51,7 +51,7 @@ describe('helpers', () => { describe('raw block parsing (with identity helper-function)', () => { function runWithIdentityHelper(template: string, expected: string) { expectTemplate(template) - .withHelper('identity', function (options) { + .withHelper('identity', function (options: Handlebars.HelperOptions) { return options.fn(); }) .toCompileTo(expected); @@ -95,7 +95,7 @@ describe('helpers', () => { it('helper block with identical context', () => { expectTemplate('{{#goodbyes}}{{name}}{{/goodbyes}}') .withInput({ name: 'Alan' }) - .withHelper('goodbyes', function (this: any, options) { + .withHelper('goodbyes', function (this: any, options: Handlebars.HelperOptions) { let out = ''; const byes = ['Goodbye', 'goodbye', 'GOODBYE']; for (let i = 0, j = byes.length; i < j; i++) { @@ -109,7 +109,7 @@ describe('helpers', () => { it('helper block with complex lookup expression', () => { expectTemplate('{{#goodbyes}}{{../name}}{{/goodbyes}}') .withInput({ name: 'Alan' }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { let out = ''; const byes = ['Goodbye', 'goodbye', 'GOODBYE']; for (let i = 0, j = byes.length; i < j; i++) { @@ -126,7 +126,7 @@ describe('helpers', () => { prefix: '/root', goodbyes: [{ text: 'Goodbye', url: 'goodbye' }], }) - .withHelper('link', function (this: any, prefix, options) { + .withHelper('link', function (this: any, prefix, options: Handlebars.HelperOptions) { return '' + options.fn(this) + ''; }) .toCompileTo('Goodbye'); @@ -138,7 +138,7 @@ describe('helpers', () => { prefix: '/root', goodbyes: [{ text: 'Goodbye', url: 'goodbye' }], }) - .withHelper('link', function (this: any, prefix, options) { + .withHelper('link', function (this: any, prefix, options: Handlebars.HelperOptions) { return '' + options.fn(this) + ''; }) .toCompileTo('Goodbye'); @@ -161,7 +161,7 @@ describe('helpers', () => { it('block helper', () => { expectTemplate('{{#goodbyes}}{{text}}! {{/goodbyes}}cruel {{world}}!') .withInput({ world: 'world' }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { return options.fn({ text: 'GOODBYE' }); }) .toCompileTo('GOODBYE! cruel world!'); @@ -170,7 +170,7 @@ describe('helpers', () => { it('block helper staying in the same context', () => { expectTemplate('{{#form}}

{{name}}

{{/form}}') .withInput({ name: 'Yehuda' }) - .withHelper('form', function (this: any, options) { + .withHelper('form', function (this: any, options: Handlebars.HelperOptions) { return '
' + options.fn(this) + '
'; }) .toCompileTo('

Yehuda

'); @@ -201,7 +201,7 @@ describe('helpers', () => { it('block helper passing a new context', () => { expectTemplate('{{#form yehuda}}

{{name}}

{{/form}}') .withInput({ yehuda: { name: 'Yehuda' } }) - .withHelper('form', function (context, options) { + .withHelper('form', function (context, options: Handlebars.HelperOptions) { return '
' + options.fn(context) + '
'; }) .toCompileTo('

Yehuda

'); @@ -210,7 +210,7 @@ describe('helpers', () => { it('block helper passing a complex path context', () => { expectTemplate('{{#form yehuda/cat}}

{{name}}

{{/form}}') .withInput({ yehuda: { name: 'Yehuda', cat: { name: 'Harold' } } }) - .withHelper('form', function (context, options) { + .withHelper('form', function (context, options: Handlebars.HelperOptions) { return '
' + options.fn(context) + '
'; }) .toCompileTo('

Harold

'); @@ -221,10 +221,10 @@ describe('helpers', () => { .withInput({ yehuda: { name: 'Yehuda' }, }) - .withHelper('link', function (this: any, options) { + .withHelper('link', function (this: any, options: Handlebars.HelperOptions) { return '' + options.fn(this) + ''; }) - .withHelper('form', function (context, options) { + .withHelper('form', function (context, options: Handlebars.HelperOptions) { return '
' + options.fn(context) + '
'; }) .toCompileTo('

Yehuda

Hello
'); @@ -477,7 +477,7 @@ describe('helpers', () => { it('block multi-params work', () => { expectTemplate('Message: {{#goodbye cruel world}}{{greeting}} {{adj}} {{noun}}{{/goodbye}}') .withInput({ cruel: 'cruel', world: 'world' }) - .withHelper('goodbye', function (cruel, world, options) { + .withHelper('goodbye', function (cruel, world, options: Handlebars.HelperOptions) { return options.fn({ greeting: 'Goodbye', adj: cruel, noun: world }); }) .toCompileTo('Message: Goodbye cruel world'); @@ -487,7 +487,7 @@ describe('helpers', () => { describe('hash', () => { it('helpers can take an optional hash', () => { expectTemplate('{{goodbye cruel="CRUEL" world="WORLD" times=12}}') - .withHelper('goodbye', function (options) { + .withHelper('goodbye', function (options: Handlebars.HelperOptions) { return ( 'GOODBYE ' + options.hash.cruel + @@ -523,7 +523,7 @@ describe('helpers', () => { it('block helpers can take an optional hash', () => { expectTemplate('{{#goodbye cruel="CRUEL" times=12}}world{{/goodbye}}') - .withHelper('goodbye', function (this: any, options) { + .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { return ( 'GOODBYE ' + options.hash.cruel + @@ -539,7 +539,7 @@ describe('helpers', () => { it('block helpers can take an optional hash with single quoted stings', () => { expectTemplate('{{#goodbye cruel="CRUEL" times=12}}world{{/goodbye}}') - .withHelper('goodbye', function (this: any, options) { + .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { return ( 'GOODBYE ' + options.hash.cruel + @@ -582,7 +582,7 @@ describe('helpers', () => { it('if a context is not found, custom helperMissing is used', () => { expectTemplate('{{hello}} {{link_to world}}') .withInput({ hello: 'Hello', world: 'world' }) - .withHelper('helperMissing', function (mesg, options) { + .withHelper('helperMissing', function (mesg, options: Handlebars.HelperOptions) { if (options.name === 'link_to') { return new Handlebars.SafeString('' + mesg + ''); } @@ -593,7 +593,7 @@ describe('helpers', () => { it('if a value is not found, custom helperMissing is used', () => { expectTemplate('{{hello}} {{link_to}}') .withInput({ hello: 'Hello', world: 'world' }) - .withHelper('helperMissing', function (options) { + .withHelper('helperMissing', function (options: Handlebars.HelperOptions) { if (options.name === 'link_to') { return new Handlebars.SafeString('winning'); } @@ -788,7 +788,7 @@ describe('helpers', () => { it('helpers take precedence over same-named context properties$', () => { expectTemplate('{{#goodbye}} {{cruel world}}{{/goodbye}}') - .withHelper('goodbye', function (this: any, options) { + .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { return this.goodbye.toUpperCase() + options.fn(this); }) .withHelper('cruel', function (world) { @@ -818,7 +818,7 @@ describe('helpers', () => { it('Scoped names take precedence over block helpers', () => { expectTemplate('{{#goodbye}} {{cruel world}}{{/goodbye}} {{this.goodbye}}') - .withHelper('goodbye', function (this: any, options) { + .withHelper('goodbye', function (this: any, options: Handlebars.HelperOptions) { return this.goodbye.toUpperCase() + options.fn(this); }) .withHelper('cruel', function (world) { @@ -836,7 +836,7 @@ describe('helpers', () => { it('should take presedence over context values', () => { expectTemplate('{{#goodbyes as |value|}}{{value}}{{/goodbyes}}{{value}}') .withInput({ value: 'foo' }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { expect(options.fn.blockParams).toEqual(1); return options.fn({ value: 'bar' }, { blockParams: [1, 2] }); }) @@ -848,7 +848,7 @@ describe('helpers', () => { .withHelper('value', function () { return 'foo'; }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { expect(options.fn.blockParams).toEqual(1); return options.fn({}, { blockParams: [1, 2] }); }) @@ -861,7 +861,7 @@ describe('helpers', () => { .withHelper('value', function () { return 'foo'; }) - .withHelper('goodbyes', function (this: any, options) { + .withHelper('goodbyes', function (this: any, options: Handlebars.HelperOptions) { expect(options.fn.blockParams).toEqual(1); return options.fn(this, { blockParams: [1, 2] }); }) @@ -879,7 +879,7 @@ describe('helpers', () => { } ) .withInput({ value: 'foo' }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { return options.fn( { value: 'bar' }, { @@ -893,7 +893,7 @@ describe('helpers', () => { it('should allow block params on chained helpers', () => { expectTemplate('{{#if bar}}{{else goodbyes as |value|}}{{value}}{{/if}}{{value}}') .withInput({ value: 'foo' }) - .withHelper('goodbyes', function (options) { + .withHelper('goodbyes', function (options: Handlebars.HelperOptions) { expect(options.fn.blockParams).toEqual(1); return options.fn({ value: 'bar' }, { blockParams: [1, 2] }); }) @@ -942,9 +942,12 @@ describe('helpers', () => { describe('the lookupProperty-option', () => { it('should be passed to custom helpers', () => { expectTemplate('{{testHelper}}') - .withHelper('testHelper', function testHelper(this: any, options) { - return options.lookupProperty(this, 'testProperty'); - }) + .withHelper( + 'testHelper', + function testHelper(this: any, options: Handlebars.HelperOptions) { + return options.lookupProperty(this, 'testProperty'); + } + ) .withInput({ testProperty: 'abc' }) .toCompileTo('abc'); }); diff --git a/packages/kbn-handlebars/src/upstream/index.regressions.test.ts b/packages/kbn-handlebars/src/upstream/index.regressions.test.ts index fab86d99767eb..92e6653bb2be7 100644 --- a/packages/kbn-handlebars/src/upstream/index.regressions.test.ts +++ b/packages/kbn-handlebars/src/upstream/index.regressions.test.ts @@ -5,6 +5,7 @@ * See `packages/kbn-handlebars/LICENSE` for more information. */ +import Handlebars from '../..'; import { expectTemplate } from '../__jest__/test_bench'; describe('Regressions', () => { @@ -237,7 +238,7 @@ describe('Regressions', () => { ) .withInput({ array: [1], name: 'John' }) .withHelpers({ - myif(conditional, options) { + myif(conditional, options: Handlebars.HelperOptions) { if (conditional) { return options.fn(this); } else { @@ -261,7 +262,7 @@ describe('Regressions', () => { expectTemplate('{{helpa length="foo"}}') .withInput({ array: [1], name: 'John' }) .withHelpers({ - helpa(options) { + helpa(options: Handlebars.HelperOptions) { return options.hash.length; }, }) diff --git a/packages/kbn-handlebars/tsconfig.json b/packages/kbn-handlebars/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-handlebars/tsconfig.json +++ b/packages/kbn-handlebars/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-hapi-mocks/BUILD.bazel b/packages/kbn-hapi-mocks/BUILD.bazel deleted file mode 100644 index 120a4fc0b0d9a..0000000000000 --- a/packages/kbn-hapi-mocks/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-hapi-mocks" -PKG_REQUIRE_NAME = "@kbn/hapi-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@hapi/hapi", - "@npm//@types/hapi__hapi", - "//packages/kbn-utility-types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-hapi-mocks/kibana.jsonc b/packages/kbn-hapi-mocks/kibana.jsonc index 9a2632c95d814..f88e6e29df493 100644 --- a/packages/kbn-hapi-mocks/kibana.jsonc +++ b/packages/kbn-hapi-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/hapi-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-hapi-mocks/package.json b/packages/kbn-hapi-mocks/package.json index 67968be611826..f2b3ea9de9e16 100644 --- a/packages/kbn-hapi-mocks/package.json +++ b/packages/kbn-hapi-mocks/package.json @@ -2,7 +2,5 @@ "name": "@kbn/hapi-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-hapi-mocks/src/request.ts b/packages/kbn-hapi-mocks/src/request.ts index 19e5454414a68..ee8d1e657f5ef 100644 --- a/packages/kbn-hapi-mocks/src/request.ts +++ b/packages/kbn-hapi-mocks/src/request.ts @@ -35,6 +35,10 @@ export const createRequestMock = (customization: DeepPartial = {}): Req url: path, socket: {}, }, + res: { + addListener: jest.fn(), + removeListener: jest.fn(), + } as {}, }, }, customization diff --git a/packages/kbn-hapi-mocks/tsconfig.json b/packages/kbn-hapi-mocks/tsconfig.json index 57c1dd1c94e0f..11f148d713b3b 100644 --- a/packages/kbn-hapi-mocks/tsconfig.json +++ b/packages/kbn-hapi-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/utility-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-health-gateway-server/BUILD.bazel b/packages/kbn-health-gateway-server/BUILD.bazel deleted file mode 100644 index 1273cc7a0d7a0..0000000000000 --- a/packages/kbn-health-gateway-server/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-health-gateway-server" -PKG_REQUIRE_NAME = "@kbn/health-gateway-server" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//@hapi/hapi", - "@npm//node-fetch", - "//packages/kbn-config", - "//packages/kbn-config-mocks", - "//packages/kbn-config-schema", - "//packages/kbn-logging-mocks", - "//packages/kbn-server-http-tools", - "//packages/kbn-utils", - "//packages/core/logging/core-logging-server-internal", -] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/hapi__hapi", - "@npm//@types/node-fetch", - "@npm//moment", - "//packages/core/base/core-base-server-internal:npm_module_types", - "//packages/core/logging/core-logging-server-internal:npm_module_types", - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-mocks:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-logging:npm_module_types", - "//packages/kbn-logging-mocks:npm_module_types", - "//packages/kbn-server-http-tools:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utility-types-jest:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-health-gateway-server/kibana.jsonc b/packages/kbn-health-gateway-server/kibana.jsonc index 5c31c05c82461..6f9470fac54e5 100644 --- a/packages/kbn-health-gateway-server/kibana.jsonc +++ b/packages/kbn-health-gateway-server/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-server", "id": "@kbn/health-gateway-server", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-health-gateway-server/package.json b/packages/kbn-health-gateway-server/package.json index d38191a879a84..8e11c679f325b 100644 --- a/packages/kbn-health-gateway-server/package.json +++ b/packages/kbn-health-gateway-server/package.json @@ -2,11 +2,9 @@ "name": "@kbn/health-gateway-server", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", "scripts": { - "start": "node ../../bazel-bin/packages/kbn-health-gateway-server/target_node/scripts/init.js" - }, - "types": "./target_types/index.d.ts" -} + "start": "node -r '@kbn/babel-register/install' ./scripts/init" + } +} \ No newline at end of file diff --git a/packages/kbn-health-gateway-server/src/config/config_service.test.ts b/packages/kbn-health-gateway-server/src/config/config_service.test.ts index 351467085195d..b686b2ec171a3 100644 --- a/packages/kbn-health-gateway-server/src/config/config_service.test.ts +++ b/packages/kbn-health-gateway-server/src/config/config_service.test.ts @@ -12,7 +12,7 @@ import { rawConfigServiceMock, } from './config_service.test.mocks'; import { loggerMock, MockedLogger } from '@kbn/logging-mocks'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { getConfigService } from './config_service'; const DEFAULT_CONFIG_PATH = fromRoot('config/gateway.yml'); diff --git a/packages/kbn-health-gateway-server/src/config/config_service.ts b/packages/kbn-health-gateway-server/src/config/config_service.ts index 059a1773d29c3..4b2b4b68f91ff 100644 --- a/packages/kbn-health-gateway-server/src/config/config_service.ts +++ b/packages/kbn-health-gateway-server/src/config/config_service.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { fromRoot, REPO_ROOT } from '@kbn/utils'; +import { fromRoot, REPO_ROOT } from '@kbn/repo-info'; import type { LoggerFactory } from '@kbn/logging'; import { ConfigService as KbnConfigService, CliArgs, Env, RawConfigService } from '@kbn/config'; import { getArgValues } from './read_argv'; diff --git a/packages/kbn-health-gateway-server/tsconfig.json b/packages/kbn-health-gateway-server/tsconfig.json index 98e6b09c1c81a..02a2f9c776b2c 100644 --- a/packages/kbn-health-gateway-server/tsconfig.json +++ b/packages/kbn-health-gateway-server/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -12,5 +10,20 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-base-server-internal", + "@kbn/core-logging-server-internal", + "@kbn/config", + "@kbn/config-mocks", + "@kbn/config-schema", + "@kbn/logging", + "@kbn/logging-mocks", + "@kbn/server-http-tools", + "@kbn/utility-types", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-i18n-react/BUILD.bazel b/packages/kbn-i18n-react/BUILD.bazel index 644507b4a45b5..b2c2dff7eaba3 100644 --- a/packages/kbn-i18n-react/BUILD.bazel +++ b/packages/kbn-i18n-react/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-i18n-react" -PKG_REQUIRE_NAME = "@kbn/i18n-react" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", "**/*.tsx", @@ -25,99 +20,17 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ +BUNDLER_DEPS = [ "//packages/kbn-i18n", "@npm//prop-types", "@npm//react", "@npm//react-intl" ] -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/prop-types", - "@npm//@types/react", - "@npm//@types/react-intl", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-i18n-react", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, + package_name = "@kbn/i18n-react", visibility = ["//visibility:public"], ) diff --git a/packages/kbn-i18n-react/kibana.jsonc b/packages/kbn-i18n-react/kibana.jsonc index 296e7295e52b6..090a4f0fa61be 100644 --- a/packages/kbn-i18n-react/kibana.jsonc +++ b/packages/kbn-i18n-react/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/i18n-react", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-i18n-react/package.json b/packages/kbn-i18n-react/package.json index d0f23a32a555e..ae9e5d36beff7 100644 --- a/packages/kbn-i18n-react/package.json +++ b/packages/kbn-i18n-react/package.json @@ -1,10 +1,7 @@ { "name": "@kbn/i18n-react", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-i18n-react/tsconfig.json b/packages/kbn-i18n-react/tsconfig.json index 14bb804696bbd..74fb754fc3d2d 100644 --- a/packages/kbn-i18n-react/tsconfig.json +++ b/packages/kbn-i18n-react/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -13,4 +11,10 @@ "**/*.ts", "**/*.tsx", ], + "kbn_references": [ + "@kbn/i18n" + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-i18n/BUILD.bazel b/packages/kbn-i18n/BUILD.bazel index 1cf9837ec074b..3df0fa95e05ff 100644 --- a/packages/kbn-i18n/BUILD.bazel +++ b/packages/kbn-i18n/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-i18n" -PKG_REQUIRE_NAME = "@kbn/i18n" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", "**/*.tsx", @@ -27,97 +22,16 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "GUIDELINE.md", - "README.md" -] - -RUNTIME_DEPS = [ +BUNDLER_DEPS = [ "@npm//intl-format-cache", "@npm//intl-messageformat", "@npm//intl-relativeformat", ] -TYPES_DEPS = [ - "@npm//intl-messageformat", - "@npm//tslib", - "@npm//@types/intl-relativeformat", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-i18n", + package_name = "@kbn/i18n", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-i18n/kibana.jsonc b/packages/kbn-i18n/kibana.jsonc index cd5613bc493c0..8d4bdf6f003c9 100644 --- a/packages/kbn-i18n/kibana.jsonc +++ b/packages/kbn-i18n/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/i18n", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-i18n/package.json b/packages/kbn-i18n/package.json index 26a8aeb99dc34..d15b66768fd39 100644 --- a/packages/kbn-i18n/package.json +++ b/packages/kbn-i18n/package.json @@ -1,10 +1,8 @@ { "name": "@kbn/i18n", - "browser": "./target_web/src/browser.js", - "main": "./target_node/index.js", + "browser": "./src/browser", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "author": "Kibana Core", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-i18n/tsconfig.json b/packages/kbn-i18n/tsconfig.json index 90a2bc53a9b1c..b3ffcae3f1c24 100644 --- a/packages/kbn-i18n/tsconfig.json +++ b/packages/kbn-i18n/tsconfig.json @@ -1,21 +1,21 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" ] }, "include": [ + "**/*.js", "**/*.ts", "**/*.tsx", "types/intl_format_cache.d.ts", "types/intl_relativeformat.d.ts" ], "exclude": [ - "**/__fixtures__/**/*" + "**/__fixtures__/**/*", + "target/**/*", ] } diff --git a/packages/kbn-import-resolver/BUILD.bazel b/packages/kbn-import-resolver/BUILD.bazel deleted file mode 100644 index c32b02f8ba821..0000000000000 --- a/packages/kbn-import-resolver/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-import-resolver" -PKG_REQUIRE_NAME = "@kbn/import-resolver" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-bazel-packages", - "//packages/kbn-utils", - "//packages/kbn-synthetic-package-map", - "@npm//resolve", - "@npm//normalize-path", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-bazel-packages:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", # needed for testing, only required for windows dev - "//packages/kbn-synthetic-package-map:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/resolve", - "@npm//@types/normalize-path", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-import-resolver/kibana.jsonc b/packages/kbn-import-resolver/kibana.jsonc index 9e05986966210..6b7ae00f9da8d 100644 --- a/packages/kbn-import-resolver/kibana.jsonc +++ b/packages/kbn-import-resolver/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/import-resolver", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-import-resolver/package.json b/packages/kbn-import-resolver/package.json index bb114bbc01752..21a8f5362436c 100644 --- a/packages/kbn-import-resolver/package.json +++ b/packages/kbn-import-resolver/package.json @@ -2,7 +2,5 @@ "name": "@kbn/import-resolver", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-import-resolver/src/helpers/import_req.ts b/packages/kbn-import-resolver/src/helpers/import_req.ts index 5844f47e880fe..98a394ae1431a 100644 --- a/packages/kbn-import-resolver/src/helpers/import_req.ts +++ b/packages/kbn-import-resolver/src/helpers/import_req.ts @@ -24,10 +24,19 @@ const EXT_RE = /\.(jsx?|(d\.)?tsx?)$/; const INDEX_IN_INDEX_RE = /\/index\/index(\.jsx?|\.d\.tsx?|\.tsx?)$/; const INCLUDES_FILENAME_RE = /\/.*\..{2,4}$/; -export function reduceImportRequest(req: string, type: ImportType, original?: string) { +export function reduceImportRequest( + req: string, + type: ImportType, + original?: string, + sourceExt?: string +) { let reduced = req; - if (type === 'require-resolve' && original && original.match(INCLUDES_FILENAME_RE)) { + if ( + original && + (type === 'require-resolve' || sourceExt === '.mjs') && + original.match(INCLUDES_FILENAME_RE) + ) { // require.resolve() can be a complicated, it's often used in config files and // sometimes we don't have babel to help resolve .ts to .js, so we try to rely // on the original request and keep the filename listed if it's in the original @@ -65,6 +74,7 @@ interface RelativeImportReqOptions extends WrapOptions { dirname: string; absolute: string; type: ImportType; + sourcePath?: string; original?: string; } @@ -74,7 +84,8 @@ export function getRelativeImportReq(options: RelativeImportReqOptions) { reduceImportRequest( relative.startsWith('.') ? relative : `./${relative}`, options.type, - options.original + options.original, + options.sourcePath ? Path.extname(options.sourcePath) : undefined ), options ); @@ -82,19 +93,43 @@ export function getRelativeImportReq(options: RelativeImportReqOptions) { interface PackageRelativeImportReqOptions extends WrapOptions { packageDir: string; - packageId: string; absolute: string; + pkgId: string; type: ImportType; } +const pkgMainCache = new Map(); +function getPkgMain(pkgDir: string) { + const cached = pkgMainCache.get(pkgDir); + if (cached !== undefined) { + return cached; + } + try { + const main = require.resolve(pkgDir); + pkgMainCache.set(pkgDir, main); + return main; + } catch (error) { + if (error.code === 'MODULE_NOT_FOUND') { + pkgMainCache.set(pkgDir, null); + return null; + } + + throw error; + } +} + export function getPackageRelativeImportReq(options: PackageRelativeImportReqOptions) { + if (options.absolute === getPkgMain(options.packageDir)) { + return wrap(options.pkgId, options); + } + const relative = normalizePath(Path.relative(options.packageDir, options.absolute)); if (!relative) { - return wrap(options.packageId, options); + return wrap(options.pkgId, options); } const subPath = reduceImportRequest(relative, options.type); - return wrap(subPath ? `${options.packageId}/${subPath}` : options.packageId, options); + return wrap(subPath ? `${options.pkgId}/${subPath}` : options.pkgId, options); } diff --git a/packages/kbn-import-resolver/src/import_resolver.ts b/packages/kbn-import-resolver/src/import_resolver.ts index bab9a9000dd6c..ca37341b2e4fb 100644 --- a/packages/kbn-import-resolver/src/import_resolver.ts +++ b/packages/kbn-import-resolver/src/import_resolver.ts @@ -7,13 +7,12 @@ */ import Path from 'path'; +import Fs from 'fs'; import Resolve from 'resolve'; -import { readPackageManifest } from '@kbn/bazel-packages'; -import { REPO_ROOT } from '@kbn/utils'; -import normalizePath from 'normalize-path'; -import { discoverPackageManifestPaths } from '@kbn/bazel-packages'; -import { readPackageMap, PackageMap } from '@kbn/synthetic-package-map'; +import { readPackageManifest, type KibanaPackageManifest } from '@kbn/bazel-packages'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { readPackageMap, PackageMap } from '@kbn/package-map'; import { safeStat, readFileSync } from './helpers/fs'; import { ResolveResult } from './resolve_result'; @@ -24,14 +23,20 @@ const NODE_MODULE_SEG = Path.sep + 'node_modules' + Path.sep; export class ImportResolver { static create(repoRoot: string) { - const pkgMap = new Map(); - for (const manifestPath of discoverPackageManifestPaths(REPO_ROOT)) { - const relativeBazelPackageDir = Path.relative(REPO_ROOT, Path.dirname(manifestPath)); - const pkg = readPackageManifest(manifestPath); - pkgMap.set(pkg.id, normalizePath(relativeBazelPackageDir)); - } + const pkgMap = readPackageMap(); + + const manifests = new Map( + Array.from(pkgMap.entries()).flatMap(([id, repoRelPath]) => { + const manifestPath = Path.resolve(repoRoot, repoRelPath, 'kibana.jsonc'); + if (!Fs.existsSync(manifestPath)) { + return []; + } + + return [[id, readPackageManifest(manifestPath)] as const]; + }) + ); - return new ImportResolver(repoRoot, pkgMap, readPackageMap()); + return new ImportResolver(repoRoot, pkgMap, manifests); } private safeStat = memoize(safeStat); @@ -61,52 +66,62 @@ export class ImportResolver { */ private readonly cwd: string, /** - * Map of actual package names to normalized root-relative directories + * Map of package ids to normalized root-relative directories * for each package */ private readonly pkgMap: PackageMap, /** - * Map of synthetic package names to normalized root-relative directories - * for each simulated package + * Map of package ids to pkg manifests, if there is no manifest it is + * assumed to be a legacy plugin */ - private readonly synthPkgMap: PackageMap - ) {} + private readonly pkgManifests: Map + ) { + // invert the pkgMap, we will update this map with new results as we determine them. + this._dirToPkgId = new Map(Array.from(this.pkgMap).map(([k, v]) => [v, k])); + } - getPackageIdForPath(path: string) { - const relative = normalizePath(Path.relative(this.cwd, path)); - if (relative.startsWith('..')) { - throw new Error(`path is outside of cwd [${this.cwd}]`); + private readonly _dirToPkgId: Map; + private pkgIdForDir(dir: string): string | null { + const cached = this._dirToPkgId.get(dir); + if (cached !== undefined) { + return cached; } - for (const [synthPkgId, dir] of this.synthPkgMap) { - if (relative === dir || relative.startsWith(dir + '/')) { - return synthPkgId; - } + const parent = Path.dirname(dir); + if (parent === '.') { + this._dirToPkgId.set(dir, null); + return null; } - for (const [pkgId, dir] of this.pkgMap) { - if (relative === dir || relative.startsWith(dir + '/')) { - return pkgId; - } + const pkgId = this.pkgIdForDir(parent); + this._dirToPkgId.set(dir, pkgId); + return pkgId; + } + + getPackageIdForPath(path: string) { + const relative = Path.relative(this.cwd, path); + if (relative.startsWith('..')) { + return null; } - return null; + return this.pkgIdForDir(Path.dirname(relative)); } getAbsolutePackageDir(pkgId: string) { - const dir = this.synthPkgMap.get(pkgId) ?? this.pkgMap.get(pkgId); - if (!dir) { - return null; - } - return Path.resolve(this.cwd, dir); + const dir = this.pkgMap.get(pkgId); + return dir ? Path.resolve(this.cwd, dir) : null; } + /** + * Is the package a bazel package? + * @deprecated + */ isBazelPackage(pkgId: string) { - return this.pkgMap.has(pkgId); + return !!this.getPkgManifest(pkgId); } - isSyntheticPackage(pkgId: string) { - return this.synthPkgMap.has(pkgId); + getPkgManifest(pkgId: string) { + return this.pkgManifests.get(pkgId); } private shouldIgnore(req: string): boolean { @@ -125,13 +140,6 @@ export class ImportResolver { return true; } - // ignore requests to bazel target dirs, these files are only available in the build output - // and will never resolve in dev. We will validate that people don't import these files from - // outside the package in another rule - if (req.includes('/target_workers/') || req.includes('/target_node/')) { - return true; - } - // typescript validates these imports fine and they're purely virtual thanks to ambient type definitions in @elastic/eui so /shrug if ( req.startsWith('@elastic/eui/src/components/') || @@ -180,6 +188,15 @@ export class ImportResolver { }; } + const pkgId = this.getPackageIdForPath(path); + if (pkgId) { + return { + type: 'file', + absolute: path, + pkgId, + }; + } + const lastNmSeg = path.lastIndexOf(NODE_MODULE_SEG); if (lastNmSeg !== -1) { const segs = path.slice(lastNmSeg + NODE_MODULE_SEG.length).split(Path.sep); @@ -252,15 +269,14 @@ export class ImportResolver { if (req[0] !== '.') { const parts = req.split('/'); const pkgId = parts[0].startsWith('@') ? `${parts[0]}/${parts[1]}` : `${parts[0]}`; - if (this.synthPkgMap.has(pkgId)) { + if (this.pkgMap.has(pkgId)) { const pkgDir = this.getAbsolutePackageDir(pkgId); if (pkgDir) { return this.resolve( - getRelativeImportReq({ - absolute: parts.length > 2 ? Path.resolve(pkgDir, ...parts.slice(2)) : pkgDir, + `./${Path.relative( dirname, - type: 'esm', - }), + parts.length > 2 ? Path.resolve(pkgDir, ...parts.slice(2)) : pkgDir + )}`, dirname ); } diff --git a/packages/kbn-import-resolver/src/integration_tests/import_resolver.test.ts b/packages/kbn-import-resolver/src/integration_tests/import_resolver.test.ts index a6a3a84602cd7..4fbedcaf38510 100644 --- a/packages/kbn-import-resolver/src/integration_tests/import_resolver.test.ts +++ b/packages/kbn-import-resolver/src/integration_tests/import_resolver.test.ts @@ -17,8 +17,20 @@ expect.addSnapshotSerializer(createAbsolutePathSerializer()); const resolver = new ImportResolver( FIXTURES_DIR, - new Map([['@pkg/box', 'packages/box']]), - new Map([['@synth/bar', 'src/bar']]) + new Map([ + ['@synth/bar', 'src/bar'], + ['@pkg/box', 'packages/box'], + ]), + new Map([ + [ + '@pkg/box', + { + id: '@pkg/box', + type: 'shared-common', + owner: [], + }, + ], + ]) ); describe('#resolve()', () => { @@ -26,16 +38,17 @@ describe('#resolve()', () => { expect(resolver.resolve('@synth/bar', FIXTURES_DIR)).toMatchInlineSnapshot(` Object { "absolute": /packages/kbn-import-resolver/src/__fixtures__/src/bar/index.js, + "pkgId": "@synth/bar", "type": "file", } `); }); - it('resolves imports to bazel packages that are also found in node_modules', () => { + it('resolves imports to bazel packages', () => { expect(resolver.resolve('@pkg/box', FIXTURES_DIR)).toMatchInlineSnapshot(` Object { - "absolute": /packages/kbn-import-resolver/src/__fixtures__/node_modules/@pkg/box/index.js, - "nodeModule": "@pkg/box", + "absolute": /packages/kbn-import-resolver/src/__fixtures__/packages/box/index.js, + "pkgId": "@pkg/box", "type": "file", } `); @@ -64,6 +77,7 @@ describe('#resolve()', () => { expect(resolver.resolve('./bar', Path.resolve(FIXTURES_DIR, 'src/bar'))).toMatchInlineSnapshot(` Object { "absolute": /packages/kbn-import-resolver/src/__fixtures__/src/bar/bar.js, + "pkgId": "@synth/bar", "type": "file", } `); @@ -169,18 +183,3 @@ describe('#isBazelPackage()', () => { expect(resolver.isBazelPackage('@kbn/invalid')).toBe(false); }); }); - -describe('#isSyntheticPackage()', () => { - it('returns true for synth packages', () => { - expect(resolver.isSyntheticPackage('@synth/bar')).toBe(true); - }); - it('returns false for bazel packages', () => { - expect(resolver.isSyntheticPackage('@pkg/box')).toBe(false); - }); - it('returns false for node_modules packages', () => { - expect(resolver.isSyntheticPackage('foo')).toBe(false); - }); - it('returns false for unknown packages', () => { - expect(resolver.isSyntheticPackage('@kbn/invalid')).toBe(false); - }); -}); diff --git a/packages/kbn-import-resolver/src/resolve_result.ts b/packages/kbn-import-resolver/src/resolve_result.ts index 3174da55fb58a..2f9602758b0ce 100644 --- a/packages/kbn-import-resolver/src/resolve_result.ts +++ b/packages/kbn-import-resolver/src/resolve_result.ts @@ -49,6 +49,7 @@ export interface TypesResult { export interface FileResult { type: 'file'; absolute: string; + pkgId?: string; nodeModule?: string; prefix?: string; postfix?: string; diff --git a/packages/kbn-import-resolver/tsconfig.json b/packages/kbn-import-resolver/tsconfig.json index 57c1dd1c94e0f..d9efcd9bf27b9 100644 --- a/packages/kbn-import-resolver/tsconfig.json +++ b/packages/kbn-import-resolver/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/bazel-packages", + "@kbn/package-map", + "@kbn/repo-info", + "@kbn/jest-serializers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-interpreter/BUILD.bazel b/packages/kbn-interpreter/BUILD.bazel deleted file mode 100644 index 26a359a89cbe6..0000000000000 --- a/packages/kbn-interpreter/BUILD.bazel +++ /dev/null @@ -1,130 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-interpreter" -PKG_REQUIRE_NAME = "@kbn/interpreter" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.js", - "**/grammar.peggy.config.json", - "**/grammar.peggy", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -TYPE_FILES = [] - -SRCS = SOURCE_FILES + TYPE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//lodash", -] - -TYPES_DEPS = [ - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "//packages/kbn-ambient-common-types:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - allow_js = True, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-interpreter/kibana.jsonc b/packages/kbn-interpreter/kibana.jsonc index 0326ff88e9f58..9f11015263cf0 100644 --- a/packages/kbn-interpreter/kibana.jsonc +++ b/packages/kbn-interpreter/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/interpreter", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-interpreter/package.json b/packages/kbn-interpreter/package.json index 3f7bad2a4e2dd..ea1c3343312ec 100644 --- a/packages/kbn-interpreter/package.json +++ b/packages/kbn-interpreter/package.json @@ -1,10 +1,7 @@ { "name": "@kbn/interpreter", "author": "Visualizations", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-interpreter/src/common/lib/ast/from_expression.test.js b/packages/kbn-interpreter/src/common/lib/ast/from_expression.test.js index 24a652e29bb09..2aa240956fa6f 100644 --- a/packages/kbn-interpreter/src/common/lib/ast/from_expression.test.js +++ b/packages/kbn-interpreter/src/common/lib/ast/from_expression.test.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { fromExpression } from '@kbn/interpreter'; +import { fromExpression } from './from_expression'; import { getType } from '../get_type'; describe('fromExpression', () => { diff --git a/packages/kbn-interpreter/src/common/lib/ast/to_expression.test.js b/packages/kbn-interpreter/src/common/lib/ast/to_expression.test.js index 18e6b8fe88cf1..98d2cfa1153f2 100644 --- a/packages/kbn-interpreter/src/common/lib/ast/to_expression.test.js +++ b/packages/kbn-interpreter/src/common/lib/ast/to_expression.test.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { toExpression } from '@kbn/interpreter'; +import { toExpression } from './to_expression'; import { cloneDeep, set, unset } from 'lodash'; describe('toExpression', () => { diff --git a/packages/kbn-interpreter/tsconfig.json b/packages/kbn-interpreter/tsconfig.json index e3b4140d05822..8af1ae01dce1b 100644 --- a/packages/kbn-interpreter/tsconfig.json +++ b/packages/kbn-interpreter/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,10 @@ "include": [ "**/*.ts", "**/*.js" + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-io-ts-utils/BUILD.bazel b/packages/kbn-io-ts-utils/BUILD.bazel deleted file mode 100644 index dd1b7b1d9250f..0000000000000 --- a/packages/kbn-io-ts-utils/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-io-ts-utils" -PKG_REQUIRE_NAME = "@kbn/io-ts-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-config-schema", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//lodash", - "@npm//tslib", -] - -TYPES_DEPS = [ - "//packages/kbn-config-schema:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-io-ts-utils/kibana.jsonc b/packages/kbn-io-ts-utils/kibana.jsonc index f903e878366b2..7d03717a53153 100644 --- a/packages/kbn-io-ts-utils/kibana.jsonc +++ b/packages/kbn-io-ts-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/io-ts-utils", - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-io-ts-utils/package.json b/packages/kbn-io-ts-utils/package.json index 65fd13e605336..d62960217f948 100644 --- a/packages/kbn-io-ts-utils/package.json +++ b/packages/kbn-io-ts-utils/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/io-ts-utils", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-io-ts-utils/tsconfig.json b/packages/kbn-io-ts-utils/tsconfig.json index 57c1dd1c94e0f..d5fd475db97a1 100644 --- a/packages/kbn-io-ts-utils/tsconfig.json +++ b/packages/kbn-io-ts-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-jest-serializers/BUILD.bazel b/packages/kbn-jest-serializers/BUILD.bazel deleted file mode 100644 index edfae6d725f9a..0000000000000 --- a/packages/kbn-jest-serializers/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-jest-serializers" -PKG_REQUIRE_NAME = "@kbn/jest-serializers" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//strip-ansi", - "//packages/kbn-utils", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//strip-ansi", - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-jest-serializers/kibana.jsonc b/packages/kbn-jest-serializers/kibana.jsonc index 2742ade92e31a..b10e323733573 100644 --- a/packages/kbn-jest-serializers/kibana.jsonc +++ b/packages/kbn-jest-serializers/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/jest-serializers", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-jest-serializers/package.json b/packages/kbn-jest-serializers/package.json index 8c3ac00c0fd43..36830b86ec5ab 100644 --- a/packages/kbn-jest-serializers/package.json +++ b/packages/kbn-jest-serializers/package.json @@ -2,7 +2,5 @@ "name": "@kbn/jest-serializers", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-jest-serializers/src/absolute_path_serializer.ts b/packages/kbn-jest-serializers/src/absolute_path_serializer.ts index 4af98494dc785..ab1c957497a4a 100644 --- a/packages/kbn-jest-serializers/src/absolute_path_serializer.ts +++ b/packages/kbn-jest-serializers/src/absolute_path_serializer.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export function createAbsolutePathSerializer( rootPath: string = REPO_ROOT, diff --git a/packages/kbn-jest-serializers/tsconfig.json b/packages/kbn-jest-serializers/tsconfig.json index 57c1dd1c94e0f..f87610efe52de 100644 --- a/packages/kbn-jest-serializers/tsconfig.json +++ b/packages/kbn-jest-serializers/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-journeys/BUILD.bazel b/packages/kbn-journeys/BUILD.bazel deleted file mode 100644 index 298b36dbca2e3..0000000000000 --- a/packages/kbn-journeys/BUILD.bazel +++ /dev/null @@ -1,132 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-journeys" -PKG_REQUIRE_NAME = "@kbn/journeys" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//playwright", - "@npm//uuid", - "@npm//axios", - "@npm//callsites", - "@npm//rxjs", - "@npm//elastic-apm-node", - "//packages/kbn-ftr-common-functional-services:npm_module_types", - "//packages/kbn-ftr-screenshot-filename:npm_module_types", - "//packages/kbn-test:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-ambient-ftr-types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-journeys/journey/journey_config.ts b/packages/kbn-journeys/journey/journey_config.ts index e23b2a748fbe7..5323d7989bdf5 100644 --- a/packages/kbn-journeys/journey/journey_config.ts +++ b/packages/kbn-journeys/journey/journey_config.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { BaseStepCtx } from './journey'; diff --git a/packages/kbn-journeys/journey/journey_ftr_config.ts b/packages/kbn-journeys/journey/journey_ftr_config.ts index 2a80c20c79490..ad85bb426fe4f 100644 --- a/packages/kbn-journeys/journey/journey_ftr_config.ts +++ b/packages/kbn-journeys/journey/journey_ftr_config.ts @@ -9,8 +9,8 @@ import Path from 'path'; import { v4 as uuidV4 } from 'uuid'; -import { REPO_ROOT } from '@kbn/utils'; -import { FtrConfigProviderContext, FtrConfigProvider } from '@kbn/test'; +import { REPO_ROOT } from '@kbn/repo-info'; +import type { FtrConfigProviderContext, FtrConfigProvider } from '@kbn/test'; import { commonFunctionalServices } from '@kbn/ftr-common-functional-services'; import { AnyStep } from './journey'; diff --git a/packages/kbn-journeys/journey/journey_screenshots.ts b/packages/kbn-journeys/journey/journey_screenshots.ts index 955d00ca4c372..9adb8cbec1766 100644 --- a/packages/kbn-journeys/journey/journey_screenshots.ts +++ b/packages/kbn-journeys/journey/journey_screenshots.ts @@ -10,7 +10,7 @@ import Path from 'path'; import Fsp from 'fs/promises'; import * as Rx from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { FtrScreenshotFilename } from '@kbn/ftr-screenshot-filename'; import type { AnyStep } from './journey'; diff --git a/packages/kbn-journeys/kibana.jsonc b/packages/kbn-journeys/kibana.jsonc index ab8a15547c158..f27a7c228cb41 100644 --- a/packages/kbn-journeys/kibana.jsonc +++ b/packages/kbn-journeys/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/journeys", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-journeys/package.json b/packages/kbn-journeys/package.json index 728e8e8bdebd7..e9404f05989a0 100644 --- a/packages/kbn-journeys/package.json +++ b/packages/kbn-journeys/package.json @@ -2,7 +2,5 @@ "name": "@kbn/journeys", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-journeys/tsconfig.json b/packages/kbn-journeys/tsconfig.json index 7e77ca978f3e8..461260f7364b0 100644 --- a/packages/kbn-journeys/tsconfig.json +++ b/packages/kbn-journeys/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "@kbn/ambient-ftr-types", @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/ftr-common-functional-services", + "@kbn/ftr-screenshot-filename", + "@kbn/test", + "@kbn/tooling-log", + "@kbn/repo-info", + "@kbn/std", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-kibana-manifest-schema/BUILD.bazel b/packages/kbn-kibana-manifest-schema/BUILD.bazel deleted file mode 100644 index c0a8ff97d7fe8..0000000000000 --- a/packages/kbn-kibana-manifest-schema/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-kibana-manifest-schema" -PKG_REQUIRE_NAME = "@kbn/kibana-manifest-schema" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//dedent", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/dedent", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/json-schema", - "@npm//json-schema-typed", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-kibana-manifest-schema/kibana.jsonc b/packages/kbn-kibana-manifest-schema/kibana.jsonc index 5ddba1f9529a7..e615498fe7e92 100644 --- a/packages/kbn-kibana-manifest-schema/kibana.jsonc +++ b/packages/kbn-kibana-manifest-schema/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/kibana-manifest-schema", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-kibana-manifest-schema/package.json b/packages/kbn-kibana-manifest-schema/package.json index 127b9fc74fad9..16d5198ad1a33 100644 --- a/packages/kbn-kibana-manifest-schema/package.json +++ b/packages/kbn-kibana-manifest-schema/package.json @@ -2,7 +2,5 @@ "name": "@kbn/kibana-manifest-schema", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts index 21b3b3b717380..71df5b4449bfc 100644 --- a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts +++ b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts @@ -13,7 +13,7 @@ export const PLUGIN_ID_PATTERN = /^[a-z][a-zA-Z_]*$/; export const MANIFEST_V2: JSONSchema = { type: 'object', - required: ['id', 'type', 'owner', 'typeDeps', 'runtimeDeps'], + required: ['id', 'type', 'owner'], // @ts-expect-error VSCode specific JSONSchema extension allowTrailingCommas: true, properties: { @@ -47,26 +47,6 @@ export const MANIFEST_V2: JSONSchema = { For additional codeowners, the value can be an array of user/team names. `, }, - typeDeps: { - type: 'array', - description: desc` - Packages which are required for the source code in the package to be - type-checked. This list is updated automatically by the package linter. - `, - items: { - type: 'string', - }, - }, - runtimeDeps: { - type: 'array', - description: desc` - Packages which are required for the source code in the package to run. This list - is updated automatically by the package linter. - `, - items: { - type: 'string', - }, - }, devOnly: { type: 'boolean', description: desc` diff --git a/packages/kbn-kibana-manifest-schema/tsconfig.json b/packages/kbn-kibana-manifest-schema/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-kibana-manifest-schema/tsconfig.json +++ b/packages/kbn-kibana-manifest-schema/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-language-documentation-popover/BUILD.bazel b/packages/kbn-language-documentation-popover/BUILD.bazel deleted file mode 100644 index 86a6a03388a4a..0000000000000 --- a/packages/kbn-language-documentation-popover/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-language-documentation-popover" -PKG_REQUIRE_NAME = "@kbn/language-documentation-popover" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "@npm//@elastic/eui", - "@npm//classnames", - "@npm//prop-types", - "@npm//react", -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "@npm//tslib", - "@npm//@elastic/eui", - "@npm//@types/classnames", - "@npm//@types/jest", - "@npm//@types/prop-types", - "@npm//@types/node", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_webpack", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_webpack"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_webpack", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-language-documentation-popover/kibana.jsonc b/packages/kbn-language-documentation-popover/kibana.jsonc index 45b3f21296bd4..49dcff96d5f86 100644 --- a/packages/kbn-language-documentation-popover/kibana.jsonc +++ b/packages/kbn-language-documentation-popover/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/language-documentation-popover", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-language-documentation-popover/package.json b/packages/kbn-language-documentation-popover/package.json index a710551dd0553..dfa1e7e4fd372 100644 --- a/packages/kbn-language-documentation-popover/package.json +++ b/packages/kbn-language-documentation-popover/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/language-documentation-popover", - "main": "./target_node/index.js", - "browser": "./target_webpack/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-language-documentation-popover/tsconfig.json b/packages/kbn-language-documentation-popover/tsconfig.json index ab59ea0429ac2..82710b41d10b4 100644 --- a/packages/kbn-language-documentation-popover/tsconfig.json +++ b/packages/kbn-language-documentation-popover/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,4 +11,11 @@ "**/*.ts", "**/*.tsx", ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-logging-mocks/BUILD.bazel b/packages/kbn-logging-mocks/BUILD.bazel deleted file mode 100644 index 10dcbe3f69505..0000000000000 --- a/packages/kbn-logging-mocks/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-logging-mocks" -PKG_REQUIRE_NAME = "@kbn/logging-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-logging" -] - -TYPES_DEPS = [ - "//packages/kbn-logging:npm_module_types", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-logging-mocks/kibana.jsonc b/packages/kbn-logging-mocks/kibana.jsonc index 6b95f3a750f28..78fdda54a8a9b 100644 --- a/packages/kbn-logging-mocks/kibana.jsonc +++ b/packages/kbn-logging-mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/logging-mocks", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-logging-mocks/package.json b/packages/kbn-logging-mocks/package.json index 30bd2b81ce507..a16fe51ba5c12 100644 --- a/packages/kbn-logging-mocks/package.json +++ b/packages/kbn-logging-mocks/package.json @@ -3,7 +3,5 @@ "version": "1.0.0", "private": true, "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-logging-mocks/tsconfig.json b/packages/kbn-logging-mocks/tsconfig.json index 57c1dd1c94e0f..10cff0e73883b 100644 --- a/packages/kbn-logging-mocks/tsconfig.json +++ b/packages/kbn-logging-mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/logging" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-logging/BUILD.bazel b/packages/kbn-logging/BUILD.bazel deleted file mode 100644 index d4938c14c8247..0000000000000 --- a/packages/kbn-logging/BUILD.bazel +++ /dev/null @@ -1,110 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-logging" -PKG_REQUIRE_NAME = "@kbn/logging" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", - "//packages/kbn-ecs" -] - -TYPES_DEPS = [ - "//packages/kbn-std:npm_module_types", - "@npm//@types/jest", - "@npm//@types/node", - "//packages/kbn-ecs:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-logging/kibana.jsonc b/packages/kbn-logging/kibana.jsonc index ab4df8442093b..77e12786e908b 100644 --- a/packages/kbn-logging/kibana.jsonc +++ b/packages/kbn-logging/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/logging", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-logging/package.json b/packages/kbn-logging/package.json index 837a9aab94981..7ffb4903932de 100644 --- a/packages/kbn-logging/package.json +++ b/packages/kbn-logging/package.json @@ -3,7 +3,5 @@ "version": "1.0.0", "private": true, "author": "Kibana Core", - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-logging/tsconfig.json b/packages/kbn-logging/tsconfig.json index 57c1dd1c94e0f..4c2b00ad27915 100644 --- a/packages/kbn-logging/tsconfig.json +++ b/packages/kbn-logging/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/ecs", + "@kbn/std" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-managed-vscode-config-cli/BUILD.bazel b/packages/kbn-managed-vscode-config-cli/BUILD.bazel deleted file mode 100644 index a6ebbf057fc99..0000000000000 --- a/packages/kbn-managed-vscode-config-cli/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-managed-vscode-config-cli" -PKG_REQUIRE_NAME = "@kbn/managed-vscode-config-cli" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//dedent", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-managed-vscode-config:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-managed-vscode-config-cli/index.ts b/packages/kbn-managed-vscode-config-cli/index.ts index deb829da76407..5b1c7cdc8426b 100644 --- a/packages/kbn-managed-vscode-config-cli/index.ts +++ b/packages/kbn-managed-vscode-config-cli/index.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fsp from 'fs/promises'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import dedent from 'dedent'; import { run } from '@kbn/dev-cli-runner'; diff --git a/packages/kbn-managed-vscode-config-cli/kibana.jsonc b/packages/kbn-managed-vscode-config-cli/kibana.jsonc index 1cbb5cb7ce7cb..3ca5963ba3b9b 100644 --- a/packages/kbn-managed-vscode-config-cli/kibana.jsonc +++ b/packages/kbn-managed-vscode-config-cli/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/managed-vscode-config-cli", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-managed-vscode-config-cli/package.json b/packages/kbn-managed-vscode-config-cli/package.json index ad22c98077e23..dd2b5fabee94c 100644 --- a/packages/kbn-managed-vscode-config-cli/package.json +++ b/packages/kbn-managed-vscode-config-cli/package.json @@ -2,7 +2,5 @@ "name": "@kbn/managed-vscode-config-cli", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-managed-vscode-config-cli/tsconfig.json b/packages/kbn-managed-vscode-config-cli/tsconfig.json index 57c1dd1c94e0f..e5ff31a29b3fe 100644 --- a/packages/kbn-managed-vscode-config-cli/tsconfig.json +++ b/packages/kbn-managed-vscode-config-cli/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-runner", + "@kbn/managed-vscode-config", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-managed-vscode-config/BUILD.bazel b/packages/kbn-managed-vscode-config/BUILD.bazel deleted file mode 100644 index 1225a95d6c3ff..0000000000000 --- a/packages/kbn-managed-vscode-config/BUILD.bazel +++ /dev/null @@ -1,128 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-managed-vscode-config" -PKG_REQUIRE_NAME = "@kbn/managed-vscode-config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@babel/parser", - "@npm//@babel/types", - "@npm//@types/babel__generator", - "@npm//@types/prettier", - "@npm//tslib", - "//packages/kbn-kibana-manifest-schema:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-managed-vscode-config/kibana.jsonc b/packages/kbn-managed-vscode-config/kibana.jsonc index c973127eb5485..ce565e9ed3015 100644 --- a/packages/kbn-managed-vscode-config/kibana.jsonc +++ b/packages/kbn-managed-vscode-config/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/managed-vscode-config", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-managed-vscode-config/package.json b/packages/kbn-managed-vscode-config/package.json index 9e260b8a64a58..951b90336351b 100644 --- a/packages/kbn-managed-vscode-config/package.json +++ b/packages/kbn-managed-vscode-config/package.json @@ -2,7 +2,5 @@ "name": "@kbn/managed-vscode-config", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-managed-vscode-config/tsconfig.json b/packages/kbn-managed-vscode-config/tsconfig.json index 57c1dd1c94e0f..d57e4bb9718b7 100644 --- a/packages/kbn-managed-vscode-config/tsconfig.json +++ b/packages/kbn-managed-vscode-config/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/kibana-manifest-schema" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-mapbox-gl/BUILD.bazel b/packages/kbn-mapbox-gl/BUILD.bazel deleted file mode 100644 index d72e79f8f5397..0000000000000 --- a/packages/kbn-mapbox-gl/BUILD.bazel +++ /dev/null @@ -1,118 +0,0 @@ - -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-mapbox-gl" -PKG_REQUIRE_NAME = "@kbn/mapbox-gl" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "@npm//@mapbox/mapbox-gl-rtl-text", - "@npm//file-loader", - "@npm//maplibre-gl", -] - -TYPES_DEPS = [ - "@npm//@mapbox/mapbox-gl-rtl-text", - "@npm//file-loader", - "@npm//maplibre-gl", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-mapbox-gl/kibana.jsonc b/packages/kbn-mapbox-gl/kibana.jsonc index 35ffb25b0b115..4238b33f6aefd 100644 --- a/packages/kbn-mapbox-gl/kibana.jsonc +++ b/packages/kbn-mapbox-gl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/mapbox-gl", - "owner": "@elastic/kibana-gis", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-gis" } diff --git a/packages/kbn-mapbox-gl/package.json b/packages/kbn-mapbox-gl/package.json index e21ea665ef26f..f791e3d3b5f29 100644 --- a/packages/kbn-mapbox-gl/package.json +++ b/packages/kbn-mapbox-gl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/mapbox-gl", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-mapbox-gl/tsconfig.json b/packages/kbn-mapbox-gl/tsconfig.json index 6a59fac1e0248..225d37d8136ea 100644 --- a/packages/kbn-mapbox-gl/tsconfig.json +++ b/packages/kbn-mapbox-gl/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-monaco/BUILD.bazel b/packages/kbn-monaco/BUILD.bazel index 35da648bccb59..8d13702e74588 100644 --- a/packages/kbn-monaco/BUILD.bazel +++ b/packages/kbn-monaco/BUILD.bazel @@ -1,15 +1,11 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@npm//webpack-cli:index.bzl", webpack = "webpack_cli") +load("@npm//webpack-cli:index.bzl", "webpack_cli") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-monaco" -PKG_REQUIRE_NAME = "@kbn/monaco" - -SOURCE_FILES = glob( +SRCS = glob( [ "src/**/*", - "**/*.ts", + "index.ts", + "server.ts", ], exclude = [ "**/*.config.js", @@ -27,59 +23,24 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-babel-preset", +SHARED_DEPS = [ "//packages/kbn-i18n", "//packages/kbn-ui-theme", - "@npm//@babel/runtime", "@npm//antlr4ts", - "@npm//babel-loader", "@npm//monaco-editor", "@npm//monaco-yaml", - "@npm//raw-loader", - "@npm//rxjs", -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ui-theme:npm_module_types", - "@npm//antlr4ts", - "@npm//monaco-editor", - "@npm//rxjs", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", ] -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -webpack( +webpack_cli( name = "target_workers", - data = RUNTIME_DEPS + [ - ":src", + data = SRCS + SHARED_DEPS + [ + "//:.browserslistrc", + "//packages/kbn-babel-preset", + "@npm//@babel/runtime", + "@npm//babel-loader", + "@npm//raw-loader", + "@npm//rxjs", + "webpack.config.js", ], output_dir = True, @@ -90,61 +51,23 @@ webpack( "$(@D)", "--env", "prod", - "--no-stats" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", + "--stats=errors-only" ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":target_workers"], - package_name = PKG_REQUIRE_NAME, + env = select({ + "//:dist": { + "NODE_ENV": "production", + }, + "//conditions:default": { + "NODE_ENV": "development", + }, + }), visibility = ["//visibility:public"], ) js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":target_workers", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-monaco", + package_name = "@kbn/monaco", + srcs = ["package.json"] + SRCS, + deps = SHARED_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-monaco/index.ts b/packages/kbn-monaco/index.ts index a2c4d18b57cf1..d7ff4d4abc94a 100644 --- a/packages/kbn-monaco/index.ts +++ b/packages/kbn-monaco/index.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -// global setup for supported languages import './src/register_globals'; export { monaco } from './src/monaco_imports'; export { XJsonLang } from './src/xjson'; export { SQLLang } from './src/sql'; -export { ESQL_LANG_ID, ESQL_THEME_ID } from './src/esql'; +export { ESQL_LANG_ID, ESQL_THEME_ID, ESQLLang } from './src/esql'; +export type { ESQLCustomAutocompleteCallbacks } from './src/esql'; export * from './src/painless'; /* eslint-disable-next-line @kbn/eslint/module_migration */ diff --git a/packages/kbn-monaco/kibana.jsonc b/packages/kbn-monaco/kibana.jsonc index 0634c00ae6f77..c258ae7584a55 100644 --- a/packages/kbn-monaco/kibana.jsonc +++ b/packages/kbn-monaco/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/monaco", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/kbn-monaco/package.json b/packages/kbn-monaco/package.json index 05717e4922a6e..fc546d73017cb 100644 --- a/packages/kbn-monaco/package.json +++ b/packages/kbn-monaco/package.json @@ -2,14 +2,10 @@ "name": "@kbn/monaco", "version": "1.0.0", "private": true, - "browser": "target_web/index.js", - "main": "target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0", "scripts": { "build:antlr4ts:painless": "../../node_modules/antlr4ts-cli/antlr4ts ./src/painless/antlr/painless_lexer.g4 ./src/painless/antlr/painless_parser.g4 && node ./scripts/fix_generated_antlr.js painless", "build:antlr4ts:esql": "../../node_modules/antlr4ts-cli/antlr4ts src/esql/antlr/esql_lexer.g4 src/esql/antlr/esql_parser.g4 && node ./scripts/fix_generated_antlr.js esql", "build:antlr4ts": "npm run build:antlr4ts:painless && npm run build:antlr4ts:esql" - - }, - "types": "./target_types/index.d.ts" + } } diff --git a/packages/kbn-monaco/server.ts b/packages/kbn-monaco/server.ts new file mode 100644 index 0000000000000..71313c13d5437 --- /dev/null +++ b/packages/kbn-monaco/server.ts @@ -0,0 +1,18 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import Fs from 'fs'; + +import { REPO_ROOT } from '@kbn/repo-info'; + +const localBundles = Path.resolve(__dirname, './target_workers'); +const bazelBundles = Path.resolve(REPO_ROOT, 'bazel-bin', Path.relative(REPO_ROOT, localBundles)); + +// extracted const vars +export const bundleDir = Fs.existsSync(localBundles) ? localBundles : bazelBundles; diff --git a/packages/kbn-monaco/src/common/error_listener.ts b/packages/kbn-monaco/src/common/error_listener.ts index bc7b56a016460..b072b132b26ac 100644 --- a/packages/kbn-monaco/src/common/error_listener.ts +++ b/packages/kbn-monaco/src/common/error_listener.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { ANTLRErrorListener, RecognitionException, Recognizer } from 'antlr4ts'; +import { ANTLRErrorListener, Recognizer } from 'antlr4ts'; import type { EditorError } from '../types'; export class ANTLREErrorListener implements ANTLRErrorListener { @@ -17,8 +17,7 @@ export class ANTLREErrorListener implements ANTLRErrorListener { offendingSymbol: any, line: number, column: number, - message: string, - e: RecognitionException | undefined + message: string ): void { let endColumn = column + 1; diff --git a/packages/kbn-monaco/src/esql/antlr/esql_lexer.g4 b/packages/kbn-monaco/src/esql/antlr/esql_lexer.g4 index dd608ac7771e8..49d73416712a8 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_lexer.g4 +++ b/packages/kbn-monaco/src/esql/antlr/esql_lexer.g4 @@ -29,7 +29,6 @@ WS : [ \r\n\t]+ -> channel(HIDDEN) ; - mode EXPRESSION; PIPE : '|' -> popMode; @@ -73,30 +72,30 @@ DECIMAL_LITERAL BY : 'by'; AND : 'and'; -ASC : 'asc'; ASSIGN : '='; COMMA : ','; -DESC : 'desc'; DOT : '.'; -FALSE : 'false'; -FIRST : 'first'; -LAST : 'last'; LP : '('; OPENING_BRACKET : '[' -> pushMode(DEFAULT_MODE); CLOSING_BRACKET : ']' -> popMode, popMode; // pop twice, once to clear mode of current cmd and once to exit DEFAULT_MODE NOT : 'not'; NULL : 'null'; -NULLS : 'nulls'; OR : 'or'; RP : ')'; -TRUE : 'true'; -EQ : '=='; -NEQ : '!='; -LT : '<'; -LTE : '<='; -GT : '>'; -GTE : '>='; +BOOLEAN_VALUE + : 'true' + | 'false' + ; + +COMPARISON_OPERATOR + : '==' + |'!=' + | '<' + | '<=' + | '>' + | '>=' + ; PLUS : '+'; MINUS : '-'; @@ -104,12 +103,24 @@ ASTERISK : '*'; SLASH : '/'; PERCENT : '%'; -ROUND_FUNCTION_MATH : 'round'; -AVG_FUNCTION_MATH : 'avg'; -SUM_FUNCTION_MATH : 'sum'; -MIN_FUNCTION_MATH : 'min'; -MAX_FUNCTION_MATH : 'max'; +ORDERING + : 'asc' + | 'desc' + ; + +NULLS_ORDERING: 'nulls'; +NULLS_ORDERING_DIRECTION + : 'first' + | 'last' + ; +UNARY_FUNCTION + : 'round' + | 'avg' + | 'min' + | 'max' + | 'sum' + ; UNQUOTED_IDENTIFIER : (LETTER | '_') (LETTER | DIGIT | '_')* @@ -163,5 +174,3 @@ SRC_MULTILINE_COMMENT SRC_WS : WS -> channel(HIDDEN) ; - -UNKNOWN_CMD : ~[ \r\n\t[\]/]+ -> pushMode(EXPRESSION); diff --git a/packages/kbn-monaco/src/esql/antlr/esql_lexer.interp b/packages/kbn-monaco/src/esql/antlr/esql_lexer.interp index 48aad053f07ec..a7fee84591c3b 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_lexer.interp +++ b/packages/kbn-monaco/src/esql/antlr/esql_lexer.interp @@ -18,39 +18,26 @@ null null 'by' 'and' -'asc' null null -'desc' '.' -'false' -'first' -'last' '(' '[' ']' 'not' 'null' -'nulls' 'or' ')' -'true' -'==' -'!=' -'<' -'<=' -'>' -'>=' +null +null '+' '-' '*' '/' '%' -'round' -'avg' -'sum' -'min' -'max' +null +'nulls' +null null null null @@ -83,39 +70,27 @@ INTEGER_LITERAL DECIMAL_LITERAL BY AND -ASC ASSIGN COMMA -DESC DOT -FALSE -FIRST -LAST LP OPENING_BRACKET CLOSING_BRACKET NOT NULL -NULLS OR RP -TRUE -EQ -NEQ -LT -LTE -GT -GTE +BOOLEAN_VALUE +COMPARISON_OPERATOR PLUS MINUS ASTERISK SLASH PERCENT -ROUND_FUNCTION_MATH -AVG_FUNCTION_MATH -SUM_FUNCTION_MATH -MIN_FUNCTION_MATH -MAX_FUNCTION_MATH +ORDERING +NULLS_ORDERING +NULLS_ORDERING_DIRECTION +UNARY_FUNCTION UNQUOTED_IDENTIFIER QUOTED_IDENTIFIER EXPR_LINE_COMMENT @@ -126,7 +101,6 @@ SRC_QUOTED_IDENTIFIER SRC_LINE_COMMENT SRC_MULTILINE_COMMENT SRC_WS -UNKNOWN_CMD rule names: EVAL @@ -152,39 +126,27 @@ INTEGER_LITERAL DECIMAL_LITERAL BY AND -ASC ASSIGN COMMA -DESC DOT -FALSE -FIRST -LAST LP OPENING_BRACKET CLOSING_BRACKET NOT NULL -NULLS OR RP -TRUE -EQ -NEQ -LT -LTE -GT -GTE +BOOLEAN_VALUE +COMPARISON_OPERATOR PLUS MINUS ASTERISK SLASH PERCENT -ROUND_FUNCTION_MATH -AVG_FUNCTION_MATH -SUM_FUNCTION_MATH -MIN_FUNCTION_MATH -MAX_FUNCTION_MATH +ORDERING +NULLS_ORDERING +NULLS_ORDERING_DIRECTION +UNARY_FUNCTION UNQUOTED_IDENTIFIER QUOTED_IDENTIFIER EXPR_LINE_COMMENT @@ -200,7 +162,6 @@ SRC_QUOTED_IDENTIFIER SRC_LINE_COMMENT SRC_MULTILINE_COMMENT SRC_WS -UNKNOWN_CMD channel names: DEFAULT_TOKEN_CHANNEL @@ -212,4 +173,4 @@ EXPRESSION SOURCE_IDENTIFIERS atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 64, 573, 8, 1, 8, 1, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 225, 10, 11, 12, 11, 14, 11, 228, 11, 11, 3, 11, 5, 11, 231, 10, 11, 3, 11, 5, 11, 234, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 7, 12, 243, 10, 12, 12, 12, 14, 12, 246, 11, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 6, 13, 254, 10, 13, 13, 13, 14, 13, 255, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 275, 10, 19, 3, 19, 6, 19, 278, 10, 19, 13, 19, 14, 19, 279, 3, 20, 3, 20, 3, 20, 7, 20, 285, 10, 20, 12, 20, 14, 20, 288, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 296, 10, 20, 12, 20, 14, 20, 299, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 5, 20, 306, 10, 20, 3, 20, 5, 20, 309, 10, 20, 5, 20, 311, 10, 20, 3, 21, 6, 21, 314, 10, 21, 13, 21, 14, 21, 315, 3, 22, 6, 22, 319, 10, 22, 13, 22, 14, 22, 320, 3, 22, 3, 22, 7, 22, 325, 10, 22, 12, 22, 14, 22, 328, 11, 22, 3, 22, 3, 22, 6, 22, 332, 10, 22, 13, 22, 14, 22, 333, 3, 22, 6, 22, 337, 10, 22, 13, 22, 14, 22, 338, 3, 22, 3, 22, 7, 22, 343, 10, 22, 12, 22, 14, 22, 346, 11, 22, 5, 22, 348, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 6, 22, 354, 10, 22, 13, 22, 14, 22, 355, 3, 22, 3, 22, 5, 22, 360, 10, 22, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 5, 58, 487, 10, 58, 3, 58, 3, 58, 3, 58, 7, 58, 492, 10, 58, 12, 58, 14, 58, 495, 11, 58, 3, 59, 3, 59, 3, 59, 3, 59, 7, 59, 501, 10, 59, 12, 59, 14, 59, 504, 11, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 6, 67, 540, 10, 67, 13, 67, 14, 67, 541, 3, 68, 6, 68, 545, 10, 68, 13, 68, 14, 68, 546, 3, 68, 3, 68, 5, 68, 551, 10, 68, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 6, 73, 568, 10, 73, 13, 73, 14, 73, 569, 3, 73, 3, 73, 4, 244, 297, 2, 2, 74, 5, 2, 3, 7, 2, 4, 9, 2, 5, 11, 2, 6, 13, 2, 7, 15, 2, 8, 17, 2, 9, 19, 2, 10, 21, 2, 11, 23, 2, 12, 25, 2, 13, 27, 2, 14, 29, 2, 15, 31, 2, 2, 33, 2, 2, 35, 2, 2, 37, 2, 2, 39, 2, 2, 41, 2, 16, 43, 2, 17, 45, 2, 18, 47, 2, 19, 49, 2, 20, 51, 2, 21, 53, 2, 22, 55, 2, 23, 57, 2, 24, 59, 2, 25, 61, 2, 26, 63, 2, 27, 65, 2, 28, 67, 2, 29, 69, 2, 30, 71, 2, 31, 73, 2, 32, 75, 2, 33, 77, 2, 34, 79, 2, 35, 81, 2, 36, 83, 2, 37, 85, 2, 38, 87, 2, 39, 89, 2, 40, 91, 2, 41, 93, 2, 42, 95, 2, 43, 97, 2, 44, 99, 2, 45, 101, 2, 46, 103, 2, 47, 105, 2, 48, 107, 2, 49, 109, 2, 50, 111, 2, 51, 113, 2, 52, 115, 2, 53, 117, 2, 54, 119, 2, 55, 121, 2, 56, 123, 2, 57, 125, 2, 58, 127, 2, 2, 129, 2, 2, 131, 2, 2, 133, 2, 2, 135, 2, 59, 137, 2, 2, 139, 2, 60, 141, 2, 61, 143, 2, 62, 145, 2, 63, 147, 2, 64, 5, 2, 3, 4, 14, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 50, 59, 4, 2, 67, 92, 99, 124, 7, 2, 36, 36, 94, 94, 112, 112, 116, 116, 118, 118, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 3, 2, 98, 98, 12, 2, 11, 12, 15, 15, 34, 34, 46, 46, 49, 49, 63, 63, 93, 93, 95, 95, 98, 98, 126, 126, 4, 2, 44, 44, 49, 49, 8, 2, 11, 12, 15, 15, 34, 34, 49, 49, 93, 93, 95, 95, 2, 599, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 3, 29, 3, 2, 2, 2, 3, 41, 3, 2, 2, 2, 3, 43, 3, 2, 2, 2, 3, 45, 3, 2, 2, 2, 3, 47, 3, 2, 2, 2, 3, 49, 3, 2, 2, 2, 3, 51, 3, 2, 2, 2, 3, 53, 3, 2, 2, 2, 3, 55, 3, 2, 2, 2, 3, 57, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 3, 61, 3, 2, 2, 2, 3, 63, 3, 2, 2, 2, 3, 65, 3, 2, 2, 2, 3, 67, 3, 2, 2, 2, 3, 69, 3, 2, 2, 2, 3, 71, 3, 2, 2, 2, 3, 73, 3, 2, 2, 2, 3, 75, 3, 2, 2, 2, 3, 77, 3, 2, 2, 2, 3, 79, 3, 2, 2, 2, 3, 81, 3, 2, 2, 2, 3, 83, 3, 2, 2, 2, 3, 85, 3, 2, 2, 2, 3, 87, 3, 2, 2, 2, 3, 89, 3, 2, 2, 2, 3, 91, 3, 2, 2, 2, 3, 93, 3, 2, 2, 2, 3, 95, 3, 2, 2, 2, 3, 97, 3, 2, 2, 2, 3, 99, 3, 2, 2, 2, 3, 101, 3, 2, 2, 2, 3, 103, 3, 2, 2, 2, 3, 105, 3, 2, 2, 2, 3, 107, 3, 2, 2, 2, 3, 109, 3, 2, 2, 2, 3, 111, 3, 2, 2, 2, 3, 113, 3, 2, 2, 2, 3, 115, 3, 2, 2, 2, 3, 117, 3, 2, 2, 2, 3, 119, 3, 2, 2, 2, 3, 121, 3, 2, 2, 2, 3, 123, 3, 2, 2, 2, 3, 125, 3, 2, 2, 2, 4, 127, 3, 2, 2, 2, 4, 129, 3, 2, 2, 2, 4, 131, 3, 2, 2, 2, 4, 133, 3, 2, 2, 2, 4, 135, 3, 2, 2, 2, 4, 139, 3, 2, 2, 2, 4, 141, 3, 2, 2, 2, 4, 143, 3, 2, 2, 2, 4, 145, 3, 2, 2, 2, 4, 147, 3, 2, 2, 2, 5, 149, 3, 2, 2, 2, 7, 156, 3, 2, 2, 2, 9, 166, 3, 2, 2, 2, 11, 173, 3, 2, 2, 2, 13, 179, 3, 2, 2, 2, 15, 187, 3, 2, 2, 2, 17, 195, 3, 2, 2, 2, 19, 202, 3, 2, 2, 2, 21, 210, 3, 2, 2, 2, 23, 220, 3, 2, 2, 2, 25, 237, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 259, 3, 2, 2, 2, 31, 263, 3, 2, 2, 2, 33, 265, 3, 2, 2, 2, 35, 267, 3, 2, 2, 2, 37, 270, 3, 2, 2, 2, 39, 272, 3, 2, 2, 2, 41, 310, 3, 2, 2, 2, 43, 313, 3, 2, 2, 2, 45, 359, 3, 2, 2, 2, 47, 361, 3, 2, 2, 2, 49, 364, 3, 2, 2, 2, 51, 368, 3, 2, 2, 2, 53, 372, 3, 2, 2, 2, 55, 374, 3, 2, 2, 2, 57, 376, 3, 2, 2, 2, 59, 381, 3, 2, 2, 2, 61, 383, 3, 2, 2, 2, 63, 389, 3, 2, 2, 2, 65, 395, 3, 2, 2, 2, 67, 400, 3, 2, 2, 2, 69, 402, 3, 2, 2, 2, 71, 406, 3, 2, 2, 2, 73, 411, 3, 2, 2, 2, 75, 415, 3, 2, 2, 2, 77, 420, 3, 2, 2, 2, 79, 426, 3, 2, 2, 2, 81, 429, 3, 2, 2, 2, 83, 431, 3, 2, 2, 2, 85, 436, 3, 2, 2, 2, 87, 439, 3, 2, 2, 2, 89, 442, 3, 2, 2, 2, 91, 444, 3, 2, 2, 2, 93, 447, 3, 2, 2, 2, 95, 449, 3, 2, 2, 2, 97, 452, 3, 2, 2, 2, 99, 454, 3, 2, 2, 2, 101, 456, 3, 2, 2, 2, 103, 458, 3, 2, 2, 2, 105, 460, 3, 2, 2, 2, 107, 462, 3, 2, 2, 2, 109, 468, 3, 2, 2, 2, 111, 472, 3, 2, 2, 2, 113, 476, 3, 2, 2, 2, 115, 480, 3, 2, 2, 2, 117, 486, 3, 2, 2, 2, 119, 496, 3, 2, 2, 2, 121, 507, 3, 2, 2, 2, 123, 511, 3, 2, 2, 2, 125, 515, 3, 2, 2, 2, 127, 519, 3, 2, 2, 2, 129, 524, 3, 2, 2, 2, 131, 530, 3, 2, 2, 2, 133, 534, 3, 2, 2, 2, 135, 539, 3, 2, 2, 2, 137, 550, 3, 2, 2, 2, 139, 552, 3, 2, 2, 2, 141, 554, 3, 2, 2, 2, 143, 558, 3, 2, 2, 2, 145, 562, 3, 2, 2, 2, 147, 567, 3, 2, 2, 2, 149, 150, 7, 103, 2, 2, 150, 151, 7, 120, 2, 2, 151, 152, 7, 99, 2, 2, 152, 153, 7, 110, 2, 2, 153, 154, 3, 2, 2, 2, 154, 155, 8, 2, 2, 2, 155, 6, 3, 2, 2, 2, 156, 157, 7, 103, 2, 2, 157, 158, 7, 122, 2, 2, 158, 159, 7, 114, 2, 2, 159, 160, 7, 110, 2, 2, 160, 161, 7, 99, 2, 2, 161, 162, 7, 107, 2, 2, 162, 163, 7, 112, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 8, 3, 2, 2, 165, 8, 3, 2, 2, 2, 166, 167, 7, 104, 2, 2, 167, 168, 7, 116, 2, 2, 168, 169, 7, 113, 2, 2, 169, 170, 7, 111, 2, 2, 170, 171, 3, 2, 2, 2, 171, 172, 8, 4, 3, 2, 172, 10, 3, 2, 2, 2, 173, 174, 7, 116, 2, 2, 174, 175, 7, 113, 2, 2, 175, 176, 7, 121, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 8, 5, 2, 2, 178, 12, 3, 2, 2, 2, 179, 180, 7, 117, 2, 2, 180, 181, 7, 118, 2, 2, 181, 182, 7, 99, 2, 2, 182, 183, 7, 118, 2, 2, 183, 184, 7, 117, 2, 2, 184, 185, 3, 2, 2, 2, 185, 186, 8, 6, 2, 2, 186, 14, 3, 2, 2, 2, 187, 188, 7, 121, 2, 2, 188, 189, 7, 106, 2, 2, 189, 190, 7, 103, 2, 2, 190, 191, 7, 116, 2, 2, 191, 192, 7, 103, 2, 2, 192, 193, 3, 2, 2, 2, 193, 194, 8, 7, 2, 2, 194, 16, 3, 2, 2, 2, 195, 196, 7, 117, 2, 2, 196, 197, 7, 113, 2, 2, 197, 198, 7, 116, 2, 2, 198, 199, 7, 118, 2, 2, 199, 200, 3, 2, 2, 2, 200, 201, 8, 8, 2, 2, 201, 18, 3, 2, 2, 2, 202, 203, 7, 110, 2, 2, 203, 204, 7, 107, 2, 2, 204, 205, 7, 111, 2, 2, 205, 206, 7, 107, 2, 2, 206, 207, 7, 118, 2, 2, 207, 208, 3, 2, 2, 2, 208, 209, 8, 9, 2, 2, 209, 20, 3, 2, 2, 2, 210, 211, 7, 114, 2, 2, 211, 212, 7, 116, 2, 2, 212, 213, 7, 113, 2, 2, 213, 214, 7, 108, 2, 2, 214, 215, 7, 103, 2, 2, 215, 216, 7, 101, 2, 2, 216, 217, 7, 118, 2, 2, 217, 218, 3, 2, 2, 2, 218, 219, 8, 10, 3, 2, 219, 22, 3, 2, 2, 2, 220, 221, 7, 49, 2, 2, 221, 222, 7, 49, 2, 2, 222, 226, 3, 2, 2, 2, 223, 225, 10, 2, 2, 2, 224, 223, 3, 2, 2, 2, 225, 228, 3, 2, 2, 2, 226, 224, 3, 2, 2, 2, 226, 227, 3, 2, 2, 2, 227, 230, 3, 2, 2, 2, 228, 226, 3, 2, 2, 2, 229, 231, 7, 15, 2, 2, 230, 229, 3, 2, 2, 2, 230, 231, 3, 2, 2, 2, 231, 233, 3, 2, 2, 2, 232, 234, 7, 12, 2, 2, 233, 232, 3, 2, 2, 2, 233, 234, 3, 2, 2, 2, 234, 235, 3, 2, 2, 2, 235, 236, 8, 11, 4, 2, 236, 24, 3, 2, 2, 2, 237, 238, 7, 49, 2, 2, 238, 239, 7, 44, 2, 2, 239, 244, 3, 2, 2, 2, 240, 243, 5, 25, 12, 2, 241, 243, 11, 2, 2, 2, 242, 240, 3, 2, 2, 2, 242, 241, 3, 2, 2, 2, 243, 246, 3, 2, 2, 2, 244, 245, 3, 2, 2, 2, 244, 242, 3, 2, 2, 2, 245, 247, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 247, 248, 7, 44, 2, 2, 248, 249, 7, 49, 2, 2, 249, 250, 3, 2, 2, 2, 250, 251, 8, 12, 4, 2, 251, 26, 3, 2, 2, 2, 252, 254, 9, 3, 2, 2, 253, 252, 3, 2, 2, 2, 254, 255, 3, 2, 2, 2, 255, 253, 3, 2, 2, 2, 255, 256, 3, 2, 2, 2, 256, 257, 3, 2, 2, 2, 257, 258, 8, 13, 4, 2, 258, 28, 3, 2, 2, 2, 259, 260, 7, 126, 2, 2, 260, 261, 3, 2, 2, 2, 261, 262, 8, 14, 5, 2, 262, 30, 3, 2, 2, 2, 263, 264, 9, 4, 2, 2, 264, 32, 3, 2, 2, 2, 265, 266, 9, 5, 2, 2, 266, 34, 3, 2, 2, 2, 267, 268, 7, 94, 2, 2, 268, 269, 9, 6, 2, 2, 269, 36, 3, 2, 2, 2, 270, 271, 10, 7, 2, 2, 271, 38, 3, 2, 2, 2, 272, 274, 9, 8, 2, 2, 273, 275, 9, 9, 2, 2, 274, 273, 3, 2, 2, 2, 274, 275, 3, 2, 2, 2, 275, 277, 3, 2, 2, 2, 276, 278, 5, 31, 15, 2, 277, 276, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 40, 3, 2, 2, 2, 281, 286, 7, 36, 2, 2, 282, 285, 5, 35, 17, 2, 283, 285, 5, 37, 18, 2, 284, 282, 3, 2, 2, 2, 284, 283, 3, 2, 2, 2, 285, 288, 3, 2, 2, 2, 286, 284, 3, 2, 2, 2, 286, 287, 3, 2, 2, 2, 287, 289, 3, 2, 2, 2, 288, 286, 3, 2, 2, 2, 289, 311, 7, 36, 2, 2, 290, 291, 7, 36, 2, 2, 291, 292, 7, 36, 2, 2, 292, 293, 7, 36, 2, 2, 293, 297, 3, 2, 2, 2, 294, 296, 10, 2, 2, 2, 295, 294, 3, 2, 2, 2, 296, 299, 3, 2, 2, 2, 297, 298, 3, 2, 2, 2, 297, 295, 3, 2, 2, 2, 298, 300, 3, 2, 2, 2, 299, 297, 3, 2, 2, 2, 300, 301, 7, 36, 2, 2, 301, 302, 7, 36, 2, 2, 302, 303, 7, 36, 2, 2, 303, 305, 3, 2, 2, 2, 304, 306, 7, 36, 2, 2, 305, 304, 3, 2, 2, 2, 305, 306, 3, 2, 2, 2, 306, 308, 3, 2, 2, 2, 307, 309, 7, 36, 2, 2, 308, 307, 3, 2, 2, 2, 308, 309, 3, 2, 2, 2, 309, 311, 3, 2, 2, 2, 310, 281, 3, 2, 2, 2, 310, 290, 3, 2, 2, 2, 311, 42, 3, 2, 2, 2, 312, 314, 5, 31, 15, 2, 313, 312, 3, 2, 2, 2, 314, 315, 3, 2, 2, 2, 315, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 44, 3, 2, 2, 2, 317, 319, 5, 31, 15, 2, 318, 317, 3, 2, 2, 2, 319, 320, 3, 2, 2, 2, 320, 318, 3, 2, 2, 2, 320, 321, 3, 2, 2, 2, 321, 322, 3, 2, 2, 2, 322, 326, 5, 59, 29, 2, 323, 325, 5, 31, 15, 2, 324, 323, 3, 2, 2, 2, 325, 328, 3, 2, 2, 2, 326, 324, 3, 2, 2, 2, 326, 327, 3, 2, 2, 2, 327, 360, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 329, 331, 5, 59, 29, 2, 330, 332, 5, 31, 15, 2, 331, 330, 3, 2, 2, 2, 332, 333, 3, 2, 2, 2, 333, 331, 3, 2, 2, 2, 333, 334, 3, 2, 2, 2, 334, 360, 3, 2, 2, 2, 335, 337, 5, 31, 15, 2, 336, 335, 3, 2, 2, 2, 337, 338, 3, 2, 2, 2, 338, 336, 3, 2, 2, 2, 338, 339, 3, 2, 2, 2, 339, 347, 3, 2, 2, 2, 340, 344, 5, 59, 29, 2, 341, 343, 5, 31, 15, 2, 342, 341, 3, 2, 2, 2, 343, 346, 3, 2, 2, 2, 344, 342, 3, 2, 2, 2, 344, 345, 3, 2, 2, 2, 345, 348, 3, 2, 2, 2, 346, 344, 3, 2, 2, 2, 347, 340, 3, 2, 2, 2, 347, 348, 3, 2, 2, 2, 348, 349, 3, 2, 2, 2, 349, 350, 5, 39, 19, 2, 350, 360, 3, 2, 2, 2, 351, 353, 5, 59, 29, 2, 352, 354, 5, 31, 15, 2, 353, 352, 3, 2, 2, 2, 354, 355, 3, 2, 2, 2, 355, 353, 3, 2, 2, 2, 355, 356, 3, 2, 2, 2, 356, 357, 3, 2, 2, 2, 357, 358, 5, 39, 19, 2, 358, 360, 3, 2, 2, 2, 359, 318, 3, 2, 2, 2, 359, 329, 3, 2, 2, 2, 359, 336, 3, 2, 2, 2, 359, 351, 3, 2, 2, 2, 360, 46, 3, 2, 2, 2, 361, 362, 7, 100, 2, 2, 362, 363, 7, 123, 2, 2, 363, 48, 3, 2, 2, 2, 364, 365, 7, 99, 2, 2, 365, 366, 7, 112, 2, 2, 366, 367, 7, 102, 2, 2, 367, 50, 3, 2, 2, 2, 368, 369, 7, 99, 2, 2, 369, 370, 7, 117, 2, 2, 370, 371, 7, 101, 2, 2, 371, 52, 3, 2, 2, 2, 372, 373, 7, 63, 2, 2, 373, 54, 3, 2, 2, 2, 374, 375, 7, 46, 2, 2, 375, 56, 3, 2, 2, 2, 376, 377, 7, 102, 2, 2, 377, 378, 7, 103, 2, 2, 378, 379, 7, 117, 2, 2, 379, 380, 7, 101, 2, 2, 380, 58, 3, 2, 2, 2, 381, 382, 7, 48, 2, 2, 382, 60, 3, 2, 2, 2, 383, 384, 7, 104, 2, 2, 384, 385, 7, 99, 2, 2, 385, 386, 7, 110, 2, 2, 386, 387, 7, 117, 2, 2, 387, 388, 7, 103, 2, 2, 388, 62, 3, 2, 2, 2, 389, 390, 7, 104, 2, 2, 390, 391, 7, 107, 2, 2, 391, 392, 7, 116, 2, 2, 392, 393, 7, 117, 2, 2, 393, 394, 7, 118, 2, 2, 394, 64, 3, 2, 2, 2, 395, 396, 7, 110, 2, 2, 396, 397, 7, 99, 2, 2, 397, 398, 7, 117, 2, 2, 398, 399, 7, 118, 2, 2, 399, 66, 3, 2, 2, 2, 400, 401, 7, 42, 2, 2, 401, 68, 3, 2, 2, 2, 402, 403, 7, 93, 2, 2, 403, 404, 3, 2, 2, 2, 404, 405, 8, 34, 6, 2, 405, 70, 3, 2, 2, 2, 406, 407, 7, 95, 2, 2, 407, 408, 3, 2, 2, 2, 408, 409, 8, 35, 5, 2, 409, 410, 8, 35, 5, 2, 410, 72, 3, 2, 2, 2, 411, 412, 7, 112, 2, 2, 412, 413, 7, 113, 2, 2, 413, 414, 7, 118, 2, 2, 414, 74, 3, 2, 2, 2, 415, 416, 7, 112, 2, 2, 416, 417, 7, 119, 2, 2, 417, 418, 7, 110, 2, 2, 418, 419, 7, 110, 2, 2, 419, 76, 3, 2, 2, 2, 420, 421, 7, 112, 2, 2, 421, 422, 7, 119, 2, 2, 422, 423, 7, 110, 2, 2, 423, 424, 7, 110, 2, 2, 424, 425, 7, 117, 2, 2, 425, 78, 3, 2, 2, 2, 426, 427, 7, 113, 2, 2, 427, 428, 7, 116, 2, 2, 428, 80, 3, 2, 2, 2, 429, 430, 7, 43, 2, 2, 430, 82, 3, 2, 2, 2, 431, 432, 7, 118, 2, 2, 432, 433, 7, 116, 2, 2, 433, 434, 7, 119, 2, 2, 434, 435, 7, 103, 2, 2, 435, 84, 3, 2, 2, 2, 436, 437, 7, 63, 2, 2, 437, 438, 7, 63, 2, 2, 438, 86, 3, 2, 2, 2, 439, 440, 7, 35, 2, 2, 440, 441, 7, 63, 2, 2, 441, 88, 3, 2, 2, 2, 442, 443, 7, 62, 2, 2, 443, 90, 3, 2, 2, 2, 444, 445, 7, 62, 2, 2, 445, 446, 7, 63, 2, 2, 446, 92, 3, 2, 2, 2, 447, 448, 7, 64, 2, 2, 448, 94, 3, 2, 2, 2, 449, 450, 7, 64, 2, 2, 450, 451, 7, 63, 2, 2, 451, 96, 3, 2, 2, 2, 452, 453, 7, 45, 2, 2, 453, 98, 3, 2, 2, 2, 454, 455, 7, 47, 2, 2, 455, 100, 3, 2, 2, 2, 456, 457, 7, 44, 2, 2, 457, 102, 3, 2, 2, 2, 458, 459, 7, 49, 2, 2, 459, 104, 3, 2, 2, 2, 460, 461, 7, 39, 2, 2, 461, 106, 3, 2, 2, 2, 462, 463, 7, 116, 2, 2, 463, 464, 7, 113, 2, 2, 464, 465, 7, 119, 2, 2, 465, 466, 7, 112, 2, 2, 466, 467, 7, 102, 2, 2, 467, 108, 3, 2, 2, 2, 468, 469, 7, 99, 2, 2, 469, 470, 7, 120, 2, 2, 470, 471, 7, 105, 2, 2, 471, 110, 3, 2, 2, 2, 472, 473, 7, 117, 2, 2, 473, 474, 7, 119, 2, 2, 474, 475, 7, 111, 2, 2, 475, 112, 3, 2, 2, 2, 476, 477, 7, 111, 2, 2, 477, 478, 7, 107, 2, 2, 478, 479, 7, 112, 2, 2, 479, 114, 3, 2, 2, 2, 480, 481, 7, 111, 2, 2, 481, 482, 7, 99, 2, 2, 482, 483, 7, 122, 2, 2, 483, 116, 3, 2, 2, 2, 484, 487, 5, 33, 16, 2, 485, 487, 7, 97, 2, 2, 486, 484, 3, 2, 2, 2, 486, 485, 3, 2, 2, 2, 487, 493, 3, 2, 2, 2, 488, 492, 5, 33, 16, 2, 489, 492, 5, 31, 15, 2, 490, 492, 7, 97, 2, 2, 491, 488, 3, 2, 2, 2, 491, 489, 3, 2, 2, 2, 491, 490, 3, 2, 2, 2, 492, 495, 3, 2, 2, 2, 493, 491, 3, 2, 2, 2, 493, 494, 3, 2, 2, 2, 494, 118, 3, 2, 2, 2, 495, 493, 3, 2, 2, 2, 496, 502, 7, 98, 2, 2, 497, 501, 10, 10, 2, 2, 498, 499, 7, 98, 2, 2, 499, 501, 7, 98, 2, 2, 500, 497, 3, 2, 2, 2, 500, 498, 3, 2, 2, 2, 501, 504, 3, 2, 2, 2, 502, 500, 3, 2, 2, 2, 502, 503, 3, 2, 2, 2, 503, 505, 3, 2, 2, 2, 504, 502, 3, 2, 2, 2, 505, 506, 7, 98, 2, 2, 506, 120, 3, 2, 2, 2, 507, 508, 5, 23, 11, 2, 508, 509, 3, 2, 2, 2, 509, 510, 8, 60, 4, 2, 510, 122, 3, 2, 2, 2, 511, 512, 5, 25, 12, 2, 512, 513, 3, 2, 2, 2, 513, 514, 8, 61, 4, 2, 514, 124, 3, 2, 2, 2, 515, 516, 5, 27, 13, 2, 516, 517, 3, 2, 2, 2, 517, 518, 8, 62, 4, 2, 518, 126, 3, 2, 2, 2, 519, 520, 7, 126, 2, 2, 520, 521, 3, 2, 2, 2, 521, 522, 8, 63, 7, 2, 522, 523, 8, 63, 5, 2, 523, 128, 3, 2, 2, 2, 524, 525, 7, 95, 2, 2, 525, 526, 3, 2, 2, 2, 526, 527, 8, 64, 5, 2, 527, 528, 8, 64, 5, 2, 528, 529, 8, 64, 8, 2, 529, 130, 3, 2, 2, 2, 530, 531, 7, 46, 2, 2, 531, 532, 3, 2, 2, 2, 532, 533, 8, 65, 9, 2, 533, 132, 3, 2, 2, 2, 534, 535, 7, 63, 2, 2, 535, 536, 3, 2, 2, 2, 536, 537, 8, 66, 10, 2, 537, 134, 3, 2, 2, 2, 538, 540, 5, 137, 68, 2, 539, 538, 3, 2, 2, 2, 540, 541, 3, 2, 2, 2, 541, 539, 3, 2, 2, 2, 541, 542, 3, 2, 2, 2, 542, 136, 3, 2, 2, 2, 543, 545, 10, 11, 2, 2, 544, 543, 3, 2, 2, 2, 545, 546, 3, 2, 2, 2, 546, 544, 3, 2, 2, 2, 546, 547, 3, 2, 2, 2, 547, 551, 3, 2, 2, 2, 548, 549, 7, 49, 2, 2, 549, 551, 10, 12, 2, 2, 550, 544, 3, 2, 2, 2, 550, 548, 3, 2, 2, 2, 551, 138, 3, 2, 2, 2, 552, 553, 5, 119, 59, 2, 553, 140, 3, 2, 2, 2, 554, 555, 5, 23, 11, 2, 555, 556, 3, 2, 2, 2, 556, 557, 8, 70, 4, 2, 557, 142, 3, 2, 2, 2, 558, 559, 5, 25, 12, 2, 559, 560, 3, 2, 2, 2, 560, 561, 8, 71, 4, 2, 561, 144, 3, 2, 2, 2, 562, 563, 5, 27, 13, 2, 563, 564, 3, 2, 2, 2, 564, 565, 8, 72, 4, 2, 565, 146, 3, 2, 2, 2, 566, 568, 10, 13, 2, 2, 567, 566, 3, 2, 2, 2, 568, 569, 3, 2, 2, 2, 569, 567, 3, 2, 2, 2, 569, 570, 3, 2, 2, 2, 570, 571, 3, 2, 2, 2, 571, 572, 8, 73, 2, 2, 572, 148, 3, 2, 2, 2, 37, 2, 3, 4, 226, 230, 233, 242, 244, 255, 274, 279, 284, 286, 297, 305, 308, 310, 315, 320, 326, 333, 338, 344, 347, 355, 359, 486, 491, 493, 500, 502, 541, 546, 550, 569, 11, 7, 3, 2, 7, 4, 2, 2, 3, 2, 6, 2, 2, 7, 2, 2, 9, 15, 2, 9, 31, 2, 9, 23, 2, 9, 22, 2] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 51, 533, 8, 1, 8, 1, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 199, 10, 11, 12, 11, 14, 11, 202, 11, 11, 3, 11, 5, 11, 205, 10, 11, 3, 11, 5, 11, 208, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 7, 12, 217, 10, 12, 12, 12, 14, 12, 220, 11, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 6, 13, 228, 10, 13, 13, 13, 14, 13, 229, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 249, 10, 19, 3, 19, 6, 19, 252, 10, 19, 13, 19, 14, 19, 253, 3, 20, 3, 20, 3, 20, 7, 20, 259, 10, 20, 12, 20, 14, 20, 262, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 270, 10, 20, 12, 20, 14, 20, 273, 11, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 5, 20, 280, 10, 20, 3, 20, 5, 20, 283, 10, 20, 5, 20, 285, 10, 20, 3, 21, 6, 21, 288, 10, 21, 13, 21, 14, 21, 289, 3, 22, 6, 22, 293, 10, 22, 13, 22, 14, 22, 294, 3, 22, 3, 22, 7, 22, 299, 10, 22, 12, 22, 14, 22, 302, 11, 22, 3, 22, 3, 22, 6, 22, 306, 10, 22, 13, 22, 14, 22, 307, 3, 22, 6, 22, 311, 10, 22, 13, 22, 14, 22, 312, 3, 22, 3, 22, 7, 22, 317, 10, 22, 12, 22, 14, 22, 320, 11, 22, 5, 22, 322, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 6, 22, 328, 10, 22, 13, 22, 14, 22, 329, 3, 22, 3, 22, 5, 22, 334, 10, 22, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 383, 10, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 5, 36, 395, 10, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 414, 10, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 5, 44, 431, 10, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 5, 45, 450, 10, 45, 3, 46, 3, 46, 5, 46, 454, 10, 46, 3, 46, 3, 46, 3, 46, 7, 46, 459, 10, 46, 12, 46, 14, 46, 462, 11, 46, 3, 47, 3, 47, 3, 47, 3, 47, 7, 47, 468, 10, 47, 12, 47, 14, 47, 471, 11, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 6, 55, 507, 10, 55, 13, 55, 14, 55, 508, 3, 56, 6, 56, 512, 10, 56, 13, 56, 14, 56, 513, 3, 56, 3, 56, 5, 56, 518, 10, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 4, 218, 271, 2, 2, 61, 5, 2, 3, 7, 2, 4, 9, 2, 5, 11, 2, 6, 13, 2, 7, 15, 2, 8, 17, 2, 9, 19, 2, 10, 21, 2, 11, 23, 2, 12, 25, 2, 13, 27, 2, 14, 29, 2, 15, 31, 2, 2, 33, 2, 2, 35, 2, 2, 37, 2, 2, 39, 2, 2, 41, 2, 16, 43, 2, 17, 45, 2, 18, 47, 2, 19, 49, 2, 20, 51, 2, 21, 53, 2, 22, 55, 2, 23, 57, 2, 24, 59, 2, 25, 61, 2, 26, 63, 2, 27, 65, 2, 28, 67, 2, 29, 69, 2, 30, 71, 2, 31, 73, 2, 32, 75, 2, 33, 77, 2, 34, 79, 2, 35, 81, 2, 36, 83, 2, 37, 85, 2, 38, 87, 2, 39, 89, 2, 40, 91, 2, 41, 93, 2, 42, 95, 2, 43, 97, 2, 44, 99, 2, 45, 101, 2, 46, 103, 2, 2, 105, 2, 2, 107, 2, 2, 109, 2, 2, 111, 2, 47, 113, 2, 2, 115, 2, 48, 117, 2, 49, 119, 2, 50, 121, 2, 51, 5, 2, 3, 4, 13, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 50, 59, 4, 2, 67, 92, 99, 124, 7, 2, 36, 36, 94, 94, 112, 112, 116, 116, 118, 118, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 3, 2, 98, 98, 12, 2, 11, 12, 15, 15, 34, 34, 46, 46, 49, 49, 63, 63, 93, 93, 95, 95, 98, 98, 126, 126, 4, 2, 44, 44, 49, 49, 2, 570, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 3, 29, 3, 2, 2, 2, 3, 41, 3, 2, 2, 2, 3, 43, 3, 2, 2, 2, 3, 45, 3, 2, 2, 2, 3, 47, 3, 2, 2, 2, 3, 49, 3, 2, 2, 2, 3, 51, 3, 2, 2, 2, 3, 53, 3, 2, 2, 2, 3, 55, 3, 2, 2, 2, 3, 57, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 3, 61, 3, 2, 2, 2, 3, 63, 3, 2, 2, 2, 3, 65, 3, 2, 2, 2, 3, 67, 3, 2, 2, 2, 3, 69, 3, 2, 2, 2, 3, 71, 3, 2, 2, 2, 3, 73, 3, 2, 2, 2, 3, 75, 3, 2, 2, 2, 3, 77, 3, 2, 2, 2, 3, 79, 3, 2, 2, 2, 3, 81, 3, 2, 2, 2, 3, 83, 3, 2, 2, 2, 3, 85, 3, 2, 2, 2, 3, 87, 3, 2, 2, 2, 3, 89, 3, 2, 2, 2, 3, 91, 3, 2, 2, 2, 3, 93, 3, 2, 2, 2, 3, 95, 3, 2, 2, 2, 3, 97, 3, 2, 2, 2, 3, 99, 3, 2, 2, 2, 3, 101, 3, 2, 2, 2, 4, 103, 3, 2, 2, 2, 4, 105, 3, 2, 2, 2, 4, 107, 3, 2, 2, 2, 4, 109, 3, 2, 2, 2, 4, 111, 3, 2, 2, 2, 4, 115, 3, 2, 2, 2, 4, 117, 3, 2, 2, 2, 4, 119, 3, 2, 2, 2, 4, 121, 3, 2, 2, 2, 5, 123, 3, 2, 2, 2, 7, 130, 3, 2, 2, 2, 9, 140, 3, 2, 2, 2, 11, 147, 3, 2, 2, 2, 13, 153, 3, 2, 2, 2, 15, 161, 3, 2, 2, 2, 17, 169, 3, 2, 2, 2, 19, 176, 3, 2, 2, 2, 21, 184, 3, 2, 2, 2, 23, 194, 3, 2, 2, 2, 25, 211, 3, 2, 2, 2, 27, 227, 3, 2, 2, 2, 29, 233, 3, 2, 2, 2, 31, 237, 3, 2, 2, 2, 33, 239, 3, 2, 2, 2, 35, 241, 3, 2, 2, 2, 37, 244, 3, 2, 2, 2, 39, 246, 3, 2, 2, 2, 41, 284, 3, 2, 2, 2, 43, 287, 3, 2, 2, 2, 45, 333, 3, 2, 2, 2, 47, 335, 3, 2, 2, 2, 49, 338, 3, 2, 2, 2, 51, 342, 3, 2, 2, 2, 53, 344, 3, 2, 2, 2, 55, 346, 3, 2, 2, 2, 57, 348, 3, 2, 2, 2, 59, 350, 3, 2, 2, 2, 61, 354, 3, 2, 2, 2, 63, 359, 3, 2, 2, 2, 65, 363, 3, 2, 2, 2, 67, 368, 3, 2, 2, 2, 69, 371, 3, 2, 2, 2, 71, 382, 3, 2, 2, 2, 73, 394, 3, 2, 2, 2, 75, 396, 3, 2, 2, 2, 77, 398, 3, 2, 2, 2, 79, 400, 3, 2, 2, 2, 81, 402, 3, 2, 2, 2, 83, 404, 3, 2, 2, 2, 85, 413, 3, 2, 2, 2, 87, 415, 3, 2, 2, 2, 89, 430, 3, 2, 2, 2, 91, 449, 3, 2, 2, 2, 93, 453, 3, 2, 2, 2, 95, 463, 3, 2, 2, 2, 97, 474, 3, 2, 2, 2, 99, 478, 3, 2, 2, 2, 101, 482, 3, 2, 2, 2, 103, 486, 3, 2, 2, 2, 105, 491, 3, 2, 2, 2, 107, 497, 3, 2, 2, 2, 109, 501, 3, 2, 2, 2, 111, 506, 3, 2, 2, 2, 113, 517, 3, 2, 2, 2, 115, 519, 3, 2, 2, 2, 117, 521, 3, 2, 2, 2, 119, 525, 3, 2, 2, 2, 121, 529, 3, 2, 2, 2, 123, 124, 7, 103, 2, 2, 124, 125, 7, 120, 2, 2, 125, 126, 7, 99, 2, 2, 126, 127, 7, 110, 2, 2, 127, 128, 3, 2, 2, 2, 128, 129, 8, 2, 2, 2, 129, 6, 3, 2, 2, 2, 130, 131, 7, 103, 2, 2, 131, 132, 7, 122, 2, 2, 132, 133, 7, 114, 2, 2, 133, 134, 7, 110, 2, 2, 134, 135, 7, 99, 2, 2, 135, 136, 7, 107, 2, 2, 136, 137, 7, 112, 2, 2, 137, 138, 3, 2, 2, 2, 138, 139, 8, 3, 2, 2, 139, 8, 3, 2, 2, 2, 140, 141, 7, 104, 2, 2, 141, 142, 7, 116, 2, 2, 142, 143, 7, 113, 2, 2, 143, 144, 7, 111, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 8, 4, 3, 2, 146, 10, 3, 2, 2, 2, 147, 148, 7, 116, 2, 2, 148, 149, 7, 113, 2, 2, 149, 150, 7, 121, 2, 2, 150, 151, 3, 2, 2, 2, 151, 152, 8, 5, 2, 2, 152, 12, 3, 2, 2, 2, 153, 154, 7, 117, 2, 2, 154, 155, 7, 118, 2, 2, 155, 156, 7, 99, 2, 2, 156, 157, 7, 118, 2, 2, 157, 158, 7, 117, 2, 2, 158, 159, 3, 2, 2, 2, 159, 160, 8, 6, 2, 2, 160, 14, 3, 2, 2, 2, 161, 162, 7, 121, 2, 2, 162, 163, 7, 106, 2, 2, 163, 164, 7, 103, 2, 2, 164, 165, 7, 116, 2, 2, 165, 166, 7, 103, 2, 2, 166, 167, 3, 2, 2, 2, 167, 168, 8, 7, 2, 2, 168, 16, 3, 2, 2, 2, 169, 170, 7, 117, 2, 2, 170, 171, 7, 113, 2, 2, 171, 172, 7, 116, 2, 2, 172, 173, 7, 118, 2, 2, 173, 174, 3, 2, 2, 2, 174, 175, 8, 8, 2, 2, 175, 18, 3, 2, 2, 2, 176, 177, 7, 110, 2, 2, 177, 178, 7, 107, 2, 2, 178, 179, 7, 111, 2, 2, 179, 180, 7, 107, 2, 2, 180, 181, 7, 118, 2, 2, 181, 182, 3, 2, 2, 2, 182, 183, 8, 9, 2, 2, 183, 20, 3, 2, 2, 2, 184, 185, 7, 114, 2, 2, 185, 186, 7, 116, 2, 2, 186, 187, 7, 113, 2, 2, 187, 188, 7, 108, 2, 2, 188, 189, 7, 103, 2, 2, 189, 190, 7, 101, 2, 2, 190, 191, 7, 118, 2, 2, 191, 192, 3, 2, 2, 2, 192, 193, 8, 10, 3, 2, 193, 22, 3, 2, 2, 2, 194, 195, 7, 49, 2, 2, 195, 196, 7, 49, 2, 2, 196, 200, 3, 2, 2, 2, 197, 199, 10, 2, 2, 2, 198, 197, 3, 2, 2, 2, 199, 202, 3, 2, 2, 2, 200, 198, 3, 2, 2, 2, 200, 201, 3, 2, 2, 2, 201, 204, 3, 2, 2, 2, 202, 200, 3, 2, 2, 2, 203, 205, 7, 15, 2, 2, 204, 203, 3, 2, 2, 2, 204, 205, 3, 2, 2, 2, 205, 207, 3, 2, 2, 2, 206, 208, 7, 12, 2, 2, 207, 206, 3, 2, 2, 2, 207, 208, 3, 2, 2, 2, 208, 209, 3, 2, 2, 2, 209, 210, 8, 11, 4, 2, 210, 24, 3, 2, 2, 2, 211, 212, 7, 49, 2, 2, 212, 213, 7, 44, 2, 2, 213, 218, 3, 2, 2, 2, 214, 217, 5, 25, 12, 2, 215, 217, 11, 2, 2, 2, 216, 214, 3, 2, 2, 2, 216, 215, 3, 2, 2, 2, 217, 220, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 218, 216, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 218, 3, 2, 2, 2, 221, 222, 7, 44, 2, 2, 222, 223, 7, 49, 2, 2, 223, 224, 3, 2, 2, 2, 224, 225, 8, 12, 4, 2, 225, 26, 3, 2, 2, 2, 226, 228, 9, 3, 2, 2, 227, 226, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 227, 3, 2, 2, 2, 229, 230, 3, 2, 2, 2, 230, 231, 3, 2, 2, 2, 231, 232, 8, 13, 4, 2, 232, 28, 3, 2, 2, 2, 233, 234, 7, 126, 2, 2, 234, 235, 3, 2, 2, 2, 235, 236, 8, 14, 5, 2, 236, 30, 3, 2, 2, 2, 237, 238, 9, 4, 2, 2, 238, 32, 3, 2, 2, 2, 239, 240, 9, 5, 2, 2, 240, 34, 3, 2, 2, 2, 241, 242, 7, 94, 2, 2, 242, 243, 9, 6, 2, 2, 243, 36, 3, 2, 2, 2, 244, 245, 10, 7, 2, 2, 245, 38, 3, 2, 2, 2, 246, 248, 9, 8, 2, 2, 247, 249, 9, 9, 2, 2, 248, 247, 3, 2, 2, 2, 248, 249, 3, 2, 2, 2, 249, 251, 3, 2, 2, 2, 250, 252, 5, 31, 15, 2, 251, 250, 3, 2, 2, 2, 252, 253, 3, 2, 2, 2, 253, 251, 3, 2, 2, 2, 253, 254, 3, 2, 2, 2, 254, 40, 3, 2, 2, 2, 255, 260, 7, 36, 2, 2, 256, 259, 5, 35, 17, 2, 257, 259, 5, 37, 18, 2, 258, 256, 3, 2, 2, 2, 258, 257, 3, 2, 2, 2, 259, 262, 3, 2, 2, 2, 260, 258, 3, 2, 2, 2, 260, 261, 3, 2, 2, 2, 261, 263, 3, 2, 2, 2, 262, 260, 3, 2, 2, 2, 263, 285, 7, 36, 2, 2, 264, 265, 7, 36, 2, 2, 265, 266, 7, 36, 2, 2, 266, 267, 7, 36, 2, 2, 267, 271, 3, 2, 2, 2, 268, 270, 10, 2, 2, 2, 269, 268, 3, 2, 2, 2, 270, 273, 3, 2, 2, 2, 271, 272, 3, 2, 2, 2, 271, 269, 3, 2, 2, 2, 272, 274, 3, 2, 2, 2, 273, 271, 3, 2, 2, 2, 274, 275, 7, 36, 2, 2, 275, 276, 7, 36, 2, 2, 276, 277, 7, 36, 2, 2, 277, 279, 3, 2, 2, 2, 278, 280, 7, 36, 2, 2, 279, 278, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 282, 3, 2, 2, 2, 281, 283, 7, 36, 2, 2, 282, 281, 3, 2, 2, 2, 282, 283, 3, 2, 2, 2, 283, 285, 3, 2, 2, 2, 284, 255, 3, 2, 2, 2, 284, 264, 3, 2, 2, 2, 285, 42, 3, 2, 2, 2, 286, 288, 5, 31, 15, 2, 287, 286, 3, 2, 2, 2, 288, 289, 3, 2, 2, 2, 289, 287, 3, 2, 2, 2, 289, 290, 3, 2, 2, 2, 290, 44, 3, 2, 2, 2, 291, 293, 5, 31, 15, 2, 292, 291, 3, 2, 2, 2, 293, 294, 3, 2, 2, 2, 294, 292, 3, 2, 2, 2, 294, 295, 3, 2, 2, 2, 295, 296, 3, 2, 2, 2, 296, 300, 5, 55, 27, 2, 297, 299, 5, 31, 15, 2, 298, 297, 3, 2, 2, 2, 299, 302, 3, 2, 2, 2, 300, 298, 3, 2, 2, 2, 300, 301, 3, 2, 2, 2, 301, 334, 3, 2, 2, 2, 302, 300, 3, 2, 2, 2, 303, 305, 5, 55, 27, 2, 304, 306, 5, 31, 15, 2, 305, 304, 3, 2, 2, 2, 306, 307, 3, 2, 2, 2, 307, 305, 3, 2, 2, 2, 307, 308, 3, 2, 2, 2, 308, 334, 3, 2, 2, 2, 309, 311, 5, 31, 15, 2, 310, 309, 3, 2, 2, 2, 311, 312, 3, 2, 2, 2, 312, 310, 3, 2, 2, 2, 312, 313, 3, 2, 2, 2, 313, 321, 3, 2, 2, 2, 314, 318, 5, 55, 27, 2, 315, 317, 5, 31, 15, 2, 316, 315, 3, 2, 2, 2, 317, 320, 3, 2, 2, 2, 318, 316, 3, 2, 2, 2, 318, 319, 3, 2, 2, 2, 319, 322, 3, 2, 2, 2, 320, 318, 3, 2, 2, 2, 321, 314, 3, 2, 2, 2, 321, 322, 3, 2, 2, 2, 322, 323, 3, 2, 2, 2, 323, 324, 5, 39, 19, 2, 324, 334, 3, 2, 2, 2, 325, 327, 5, 55, 27, 2, 326, 328, 5, 31, 15, 2, 327, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 327, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 3, 2, 2, 2, 331, 332, 5, 39, 19, 2, 332, 334, 3, 2, 2, 2, 333, 292, 3, 2, 2, 2, 333, 303, 3, 2, 2, 2, 333, 310, 3, 2, 2, 2, 333, 325, 3, 2, 2, 2, 334, 46, 3, 2, 2, 2, 335, 336, 7, 100, 2, 2, 336, 337, 7, 123, 2, 2, 337, 48, 3, 2, 2, 2, 338, 339, 7, 99, 2, 2, 339, 340, 7, 112, 2, 2, 340, 341, 7, 102, 2, 2, 341, 50, 3, 2, 2, 2, 342, 343, 7, 63, 2, 2, 343, 52, 3, 2, 2, 2, 344, 345, 7, 46, 2, 2, 345, 54, 3, 2, 2, 2, 346, 347, 7, 48, 2, 2, 347, 56, 3, 2, 2, 2, 348, 349, 7, 42, 2, 2, 349, 58, 3, 2, 2, 2, 350, 351, 7, 93, 2, 2, 351, 352, 3, 2, 2, 2, 352, 353, 8, 29, 6, 2, 353, 60, 3, 2, 2, 2, 354, 355, 7, 95, 2, 2, 355, 356, 3, 2, 2, 2, 356, 357, 8, 30, 5, 2, 357, 358, 8, 30, 5, 2, 358, 62, 3, 2, 2, 2, 359, 360, 7, 112, 2, 2, 360, 361, 7, 113, 2, 2, 361, 362, 7, 118, 2, 2, 362, 64, 3, 2, 2, 2, 363, 364, 7, 112, 2, 2, 364, 365, 7, 119, 2, 2, 365, 366, 7, 110, 2, 2, 366, 367, 7, 110, 2, 2, 367, 66, 3, 2, 2, 2, 368, 369, 7, 113, 2, 2, 369, 370, 7, 116, 2, 2, 370, 68, 3, 2, 2, 2, 371, 372, 7, 43, 2, 2, 372, 70, 3, 2, 2, 2, 373, 374, 7, 118, 2, 2, 374, 375, 7, 116, 2, 2, 375, 376, 7, 119, 2, 2, 376, 383, 7, 103, 2, 2, 377, 378, 7, 104, 2, 2, 378, 379, 7, 99, 2, 2, 379, 380, 7, 110, 2, 2, 380, 381, 7, 117, 2, 2, 381, 383, 7, 103, 2, 2, 382, 373, 3, 2, 2, 2, 382, 377, 3, 2, 2, 2, 383, 72, 3, 2, 2, 2, 384, 385, 7, 63, 2, 2, 385, 395, 7, 63, 2, 2, 386, 387, 7, 35, 2, 2, 387, 395, 7, 63, 2, 2, 388, 395, 7, 62, 2, 2, 389, 390, 7, 62, 2, 2, 390, 395, 7, 63, 2, 2, 391, 395, 7, 64, 2, 2, 392, 393, 7, 64, 2, 2, 393, 395, 7, 63, 2, 2, 394, 384, 3, 2, 2, 2, 394, 386, 3, 2, 2, 2, 394, 388, 3, 2, 2, 2, 394, 389, 3, 2, 2, 2, 394, 391, 3, 2, 2, 2, 394, 392, 3, 2, 2, 2, 395, 74, 3, 2, 2, 2, 396, 397, 7, 45, 2, 2, 397, 76, 3, 2, 2, 2, 398, 399, 7, 47, 2, 2, 399, 78, 3, 2, 2, 2, 400, 401, 7, 44, 2, 2, 401, 80, 3, 2, 2, 2, 402, 403, 7, 49, 2, 2, 403, 82, 3, 2, 2, 2, 404, 405, 7, 39, 2, 2, 405, 84, 3, 2, 2, 2, 406, 407, 7, 99, 2, 2, 407, 408, 7, 117, 2, 2, 408, 414, 7, 101, 2, 2, 409, 410, 7, 102, 2, 2, 410, 411, 7, 103, 2, 2, 411, 412, 7, 117, 2, 2, 412, 414, 7, 101, 2, 2, 413, 406, 3, 2, 2, 2, 413, 409, 3, 2, 2, 2, 414, 86, 3, 2, 2, 2, 415, 416, 7, 112, 2, 2, 416, 417, 7, 119, 2, 2, 417, 418, 7, 110, 2, 2, 418, 419, 7, 110, 2, 2, 419, 420, 7, 117, 2, 2, 420, 88, 3, 2, 2, 2, 421, 422, 7, 104, 2, 2, 422, 423, 7, 107, 2, 2, 423, 424, 7, 116, 2, 2, 424, 425, 7, 117, 2, 2, 425, 431, 7, 118, 2, 2, 426, 427, 7, 110, 2, 2, 427, 428, 7, 99, 2, 2, 428, 429, 7, 117, 2, 2, 429, 431, 7, 118, 2, 2, 430, 421, 3, 2, 2, 2, 430, 426, 3, 2, 2, 2, 431, 90, 3, 2, 2, 2, 432, 433, 7, 116, 2, 2, 433, 434, 7, 113, 2, 2, 434, 435, 7, 119, 2, 2, 435, 436, 7, 112, 2, 2, 436, 450, 7, 102, 2, 2, 437, 438, 7, 99, 2, 2, 438, 439, 7, 120, 2, 2, 439, 450, 7, 105, 2, 2, 440, 441, 7, 111, 2, 2, 441, 442, 7, 107, 2, 2, 442, 450, 7, 112, 2, 2, 443, 444, 7, 111, 2, 2, 444, 445, 7, 99, 2, 2, 445, 450, 7, 122, 2, 2, 446, 447, 7, 117, 2, 2, 447, 448, 7, 119, 2, 2, 448, 450, 7, 111, 2, 2, 449, 432, 3, 2, 2, 2, 449, 437, 3, 2, 2, 2, 449, 440, 3, 2, 2, 2, 449, 443, 3, 2, 2, 2, 449, 446, 3, 2, 2, 2, 450, 92, 3, 2, 2, 2, 451, 454, 5, 33, 16, 2, 452, 454, 7, 97, 2, 2, 453, 451, 3, 2, 2, 2, 453, 452, 3, 2, 2, 2, 454, 460, 3, 2, 2, 2, 455, 459, 5, 33, 16, 2, 456, 459, 5, 31, 15, 2, 457, 459, 7, 97, 2, 2, 458, 455, 3, 2, 2, 2, 458, 456, 3, 2, 2, 2, 458, 457, 3, 2, 2, 2, 459, 462, 3, 2, 2, 2, 460, 458, 3, 2, 2, 2, 460, 461, 3, 2, 2, 2, 461, 94, 3, 2, 2, 2, 462, 460, 3, 2, 2, 2, 463, 469, 7, 98, 2, 2, 464, 468, 10, 10, 2, 2, 465, 466, 7, 98, 2, 2, 466, 468, 7, 98, 2, 2, 467, 464, 3, 2, 2, 2, 467, 465, 3, 2, 2, 2, 468, 471, 3, 2, 2, 2, 469, 467, 3, 2, 2, 2, 469, 470, 3, 2, 2, 2, 470, 472, 3, 2, 2, 2, 471, 469, 3, 2, 2, 2, 472, 473, 7, 98, 2, 2, 473, 96, 3, 2, 2, 2, 474, 475, 5, 23, 11, 2, 475, 476, 3, 2, 2, 2, 476, 477, 8, 48, 4, 2, 477, 98, 3, 2, 2, 2, 478, 479, 5, 25, 12, 2, 479, 480, 3, 2, 2, 2, 480, 481, 8, 49, 4, 2, 481, 100, 3, 2, 2, 2, 482, 483, 5, 27, 13, 2, 483, 484, 3, 2, 2, 2, 484, 485, 8, 50, 4, 2, 485, 102, 3, 2, 2, 2, 486, 487, 7, 126, 2, 2, 487, 488, 3, 2, 2, 2, 488, 489, 8, 51, 7, 2, 489, 490, 8, 51, 5, 2, 490, 104, 3, 2, 2, 2, 491, 492, 7, 95, 2, 2, 492, 493, 3, 2, 2, 2, 493, 494, 8, 52, 5, 2, 494, 495, 8, 52, 5, 2, 495, 496, 8, 52, 8, 2, 496, 106, 3, 2, 2, 2, 497, 498, 7, 46, 2, 2, 498, 499, 3, 2, 2, 2, 499, 500, 8, 53, 9, 2, 500, 108, 3, 2, 2, 2, 501, 502, 7, 63, 2, 2, 502, 503, 3, 2, 2, 2, 503, 504, 8, 54, 10, 2, 504, 110, 3, 2, 2, 2, 505, 507, 5, 113, 56, 2, 506, 505, 3, 2, 2, 2, 507, 508, 3, 2, 2, 2, 508, 506, 3, 2, 2, 2, 508, 509, 3, 2, 2, 2, 509, 112, 3, 2, 2, 2, 510, 512, 10, 11, 2, 2, 511, 510, 3, 2, 2, 2, 512, 513, 3, 2, 2, 2, 513, 511, 3, 2, 2, 2, 513, 514, 3, 2, 2, 2, 514, 518, 3, 2, 2, 2, 515, 516, 7, 49, 2, 2, 516, 518, 10, 12, 2, 2, 517, 511, 3, 2, 2, 2, 517, 515, 3, 2, 2, 2, 518, 114, 3, 2, 2, 2, 519, 520, 5, 95, 47, 2, 520, 116, 3, 2, 2, 2, 521, 522, 5, 23, 11, 2, 522, 523, 3, 2, 2, 2, 523, 524, 8, 58, 4, 2, 524, 118, 3, 2, 2, 2, 525, 526, 5, 25, 12, 2, 526, 527, 3, 2, 2, 2, 527, 528, 8, 59, 4, 2, 528, 120, 3, 2, 2, 2, 529, 530, 5, 27, 13, 2, 530, 531, 3, 2, 2, 2, 531, 532, 8, 60, 4, 2, 532, 122, 3, 2, 2, 2, 41, 2, 3, 4, 200, 204, 207, 216, 218, 229, 248, 253, 258, 260, 271, 279, 282, 284, 289, 294, 300, 307, 312, 318, 321, 329, 333, 382, 394, 413, 430, 449, 453, 458, 460, 467, 469, 508, 513, 517, 11, 7, 3, 2, 7, 4, 2, 2, 3, 2, 6, 2, 2, 7, 2, 2, 9, 15, 2, 9, 26, 2, 9, 22, 2, 9, 21, 2] \ No newline at end of file diff --git a/packages/kbn-monaco/src/esql/antlr/esql_lexer.tokens b/packages/kbn-monaco/src/esql/antlr/esql_lexer.tokens index b39004ce4ce32..c2dafff2f222c 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_lexer.tokens +++ b/packages/kbn-monaco/src/esql/antlr/esql_lexer.tokens @@ -16,50 +16,37 @@ INTEGER_LITERAL=15 DECIMAL_LITERAL=16 BY=17 AND=18 -ASC=19 -ASSIGN=20 -COMMA=21 -DESC=22 -DOT=23 -FALSE=24 -FIRST=25 -LAST=26 -LP=27 -OPENING_BRACKET=28 -CLOSING_BRACKET=29 -NOT=30 -NULL=31 -NULLS=32 -OR=33 -RP=34 -TRUE=35 -EQ=36 -NEQ=37 -LT=38 -LTE=39 -GT=40 -GTE=41 -PLUS=42 -MINUS=43 -ASTERISK=44 -SLASH=45 -PERCENT=46 -ROUND_FUNCTION_MATH=47 -AVG_FUNCTION_MATH=48 -SUM_FUNCTION_MATH=49 -MIN_FUNCTION_MATH=50 -MAX_FUNCTION_MATH=51 -UNQUOTED_IDENTIFIER=52 -QUOTED_IDENTIFIER=53 -EXPR_LINE_COMMENT=54 -EXPR_MULTILINE_COMMENT=55 -EXPR_WS=56 -SRC_UNQUOTED_IDENTIFIER=57 -SRC_QUOTED_IDENTIFIER=58 -SRC_LINE_COMMENT=59 -SRC_MULTILINE_COMMENT=60 -SRC_WS=61 -UNKNOWN_CMD=62 +ASSIGN=19 +COMMA=20 +DOT=21 +LP=22 +OPENING_BRACKET=23 +CLOSING_BRACKET=24 +NOT=25 +NULL=26 +OR=27 +RP=28 +BOOLEAN_VALUE=29 +COMPARISON_OPERATOR=30 +PLUS=31 +MINUS=32 +ASTERISK=33 +SLASH=34 +PERCENT=35 +ORDERING=36 +NULLS_ORDERING=37 +NULLS_ORDERING_DIRECTION=38 +UNARY_FUNCTION=39 +UNQUOTED_IDENTIFIER=40 +QUOTED_IDENTIFIER=41 +EXPR_LINE_COMMENT=42 +EXPR_MULTILINE_COMMENT=43 +EXPR_WS=44 +SRC_UNQUOTED_IDENTIFIER=45 +SRC_QUOTED_IDENTIFIER=46 +SRC_LINE_COMMENT=47 +SRC_MULTILINE_COMMENT=48 +SRC_WS=49 'eval'=1 'explain'=2 'from'=3 @@ -71,34 +58,17 @@ UNKNOWN_CMD=62 'project'=9 'by'=17 'and'=18 -'asc'=19 -'desc'=22 -'.'=23 -'false'=24 -'first'=25 -'last'=26 -'('=27 -'['=28 -']'=29 -'not'=30 -'null'=31 -'nulls'=32 -'or'=33 -')'=34 -'true'=35 -'=='=36 -'!='=37 -'<'=38 -'<='=39 -'>'=40 -'>='=41 -'+'=42 -'-'=43 -'*'=44 -'/'=45 -'%'=46 -'round'=47 -'avg'=48 -'sum'=49 -'min'=50 -'max'=51 +'.'=21 +'('=22 +'['=23 +']'=24 +'not'=25 +'null'=26 +'or'=27 +')'=28 +'+'=31 +'-'=32 +'*'=33 +'/'=34 +'%'=35 +'nulls'=37 diff --git a/packages/kbn-monaco/src/esql/antlr/esql_lexer.ts b/packages/kbn-monaco/src/esql/antlr/esql_lexer.ts index de10e76f9c72a..064b2fe2c02d1 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_lexer.ts +++ b/packages/kbn-monaco/src/esql/antlr/esql_lexer.ts @@ -35,50 +35,37 @@ export class esql_lexer extends Lexer { public static readonly DECIMAL_LITERAL = 16; public static readonly BY = 17; public static readonly AND = 18; - public static readonly ASC = 19; - public static readonly ASSIGN = 20; - public static readonly COMMA = 21; - public static readonly DESC = 22; - public static readonly DOT = 23; - public static readonly FALSE = 24; - public static readonly FIRST = 25; - public static readonly LAST = 26; - public static readonly LP = 27; - public static readonly OPENING_BRACKET = 28; - public static readonly CLOSING_BRACKET = 29; - public static readonly NOT = 30; - public static readonly NULL = 31; - public static readonly NULLS = 32; - public static readonly OR = 33; - public static readonly RP = 34; - public static readonly TRUE = 35; - public static readonly EQ = 36; - public static readonly NEQ = 37; - public static readonly LT = 38; - public static readonly LTE = 39; - public static readonly GT = 40; - public static readonly GTE = 41; - public static readonly PLUS = 42; - public static readonly MINUS = 43; - public static readonly ASTERISK = 44; - public static readonly SLASH = 45; - public static readonly PERCENT = 46; - public static readonly ROUND_FUNCTION_MATH = 47; - public static readonly AVG_FUNCTION_MATH = 48; - public static readonly SUM_FUNCTION_MATH = 49; - public static readonly MIN_FUNCTION_MATH = 50; - public static readonly MAX_FUNCTION_MATH = 51; - public static readonly UNQUOTED_IDENTIFIER = 52; - public static readonly QUOTED_IDENTIFIER = 53; - public static readonly EXPR_LINE_COMMENT = 54; - public static readonly EXPR_MULTILINE_COMMENT = 55; - public static readonly EXPR_WS = 56; - public static readonly SRC_UNQUOTED_IDENTIFIER = 57; - public static readonly SRC_QUOTED_IDENTIFIER = 58; - public static readonly SRC_LINE_COMMENT = 59; - public static readonly SRC_MULTILINE_COMMENT = 60; - public static readonly SRC_WS = 61; - public static readonly UNKNOWN_CMD = 62; + public static readonly ASSIGN = 19; + public static readonly COMMA = 20; + public static readonly DOT = 21; + public static readonly LP = 22; + public static readonly OPENING_BRACKET = 23; + public static readonly CLOSING_BRACKET = 24; + public static readonly NOT = 25; + public static readonly NULL = 26; + public static readonly OR = 27; + public static readonly RP = 28; + public static readonly BOOLEAN_VALUE = 29; + public static readonly COMPARISON_OPERATOR = 30; + public static readonly PLUS = 31; + public static readonly MINUS = 32; + public static readonly ASTERISK = 33; + public static readonly SLASH = 34; + public static readonly PERCENT = 35; + public static readonly ORDERING = 36; + public static readonly NULLS_ORDERING = 37; + public static readonly NULLS_ORDERING_DIRECTION = 38; + public static readonly UNARY_FUNCTION = 39; + public static readonly UNQUOTED_IDENTIFIER = 40; + public static readonly QUOTED_IDENTIFIER = 41; + public static readonly EXPR_LINE_COMMENT = 42; + public static readonly EXPR_MULTILINE_COMMENT = 43; + public static readonly EXPR_WS = 44; + public static readonly SRC_UNQUOTED_IDENTIFIER = 45; + public static readonly SRC_QUOTED_IDENTIFIER = 46; + public static readonly SRC_LINE_COMMENT = 47; + public static readonly SRC_MULTILINE_COMMENT = 48; + public static readonly SRC_WS = 49; public static readonly EXPRESSION = 1; public static readonly SOURCE_IDENTIFIERS = 2; @@ -96,37 +83,33 @@ export class esql_lexer extends Lexer { "EVAL", "EXPLAIN", "FROM", "ROW", "STATS", "WHERE", "SORT", "LIMIT", "PROJECT", "LINE_COMMENT", "MULTILINE_COMMENT", "WS", "PIPE", "DIGIT", "LETTER", "ESCAPE_SEQUENCE", "UNESCAPED_CHARS", "EXPONENT", "STRING", "INTEGER_LITERAL", - "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", "COMMA", "DESC", "DOT", - "FALSE", "FIRST", "LAST", "LP", "OPENING_BRACKET", "CLOSING_BRACKET", - "NOT", "NULL", "NULLS", "OR", "RP", "TRUE", "EQ", "NEQ", "LT", "LTE", - "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "ROUND_FUNCTION_MATH", - "AVG_FUNCTION_MATH", "SUM_FUNCTION_MATH", "MIN_FUNCTION_MATH", "MAX_FUNCTION_MATH", - "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", "EXPR_MULTILINE_COMMENT", - "EXPR_WS", "SRC_PIPE", "SRC_CLOSING_BRACKET", "SRC_COMMA", "SRC_ASSIGN", - "SRC_UNQUOTED_IDENTIFIER", "SRC_UNQUOTED_IDENTIFIER_PART", "SRC_QUOTED_IDENTIFIER", - "SRC_LINE_COMMENT", "SRC_MULTILINE_COMMENT", "SRC_WS", "UNKNOWN_CMD", + "DECIMAL_LITERAL", "BY", "AND", "ASSIGN", "COMMA", "DOT", "LP", "OPENING_BRACKET", + "CLOSING_BRACKET", "NOT", "NULL", "OR", "RP", "BOOLEAN_VALUE", "COMPARISON_OPERATOR", + "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "ORDERING", "NULLS_ORDERING", + "NULLS_ORDERING_DIRECTION", "UNARY_FUNCTION", "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", + "EXPR_LINE_COMMENT", "EXPR_MULTILINE_COMMENT", "EXPR_WS", "SRC_PIPE", + "SRC_CLOSING_BRACKET", "SRC_COMMA", "SRC_ASSIGN", "SRC_UNQUOTED_IDENTIFIER", + "SRC_UNQUOTED_IDENTIFIER_PART", "SRC_QUOTED_IDENTIFIER", "SRC_LINE_COMMENT", + "SRC_MULTILINE_COMMENT", "SRC_WS", ]; private static readonly _LITERAL_NAMES: Array = [ undefined, "'eval'", "'explain'", "'from'", "'row'", "'stats'", "'where'", "'sort'", "'limit'", "'project'", undefined, undefined, undefined, undefined, - undefined, undefined, undefined, "'by'", "'and'", "'asc'", undefined, - undefined, "'desc'", "'.'", "'false'", "'first'", "'last'", "'('", "'['", - "']'", "'not'", "'null'", "'nulls'", "'or'", "')'", "'true'", "'=='", - "'!='", "'<'", "'<='", "'>'", "'>='", "'+'", "'-'", "'*'", "'/'", "'%'", - "'round'", "'avg'", "'sum'", "'min'", "'max'", + undefined, undefined, undefined, "'by'", "'and'", undefined, undefined, + "'.'", "'('", "'['", "']'", "'not'", "'null'", "'or'", "')'", undefined, + undefined, "'+'", "'-'", "'*'", "'/'", "'%'", undefined, "'nulls'", ]; private static readonly _SYMBOLIC_NAMES: Array = [ undefined, "EVAL", "EXPLAIN", "FROM", "ROW", "STATS", "WHERE", "SORT", "LIMIT", "PROJECT", "LINE_COMMENT", "MULTILINE_COMMENT", "WS", "PIPE", - "STRING", "INTEGER_LITERAL", "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", - "COMMA", "DESC", "DOT", "FALSE", "FIRST", "LAST", "LP", "OPENING_BRACKET", - "CLOSING_BRACKET", "NOT", "NULL", "NULLS", "OR", "RP", "TRUE", "EQ", "NEQ", - "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", - "ROUND_FUNCTION_MATH", "AVG_FUNCTION_MATH", "SUM_FUNCTION_MATH", "MIN_FUNCTION_MATH", - "MAX_FUNCTION_MATH", "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", + "STRING", "INTEGER_LITERAL", "DECIMAL_LITERAL", "BY", "AND", "ASSIGN", + "COMMA", "DOT", "LP", "OPENING_BRACKET", "CLOSING_BRACKET", "NOT", "NULL", + "OR", "RP", "BOOLEAN_VALUE", "COMPARISON_OPERATOR", "PLUS", "MINUS", "ASTERISK", + "SLASH", "PERCENT", "ORDERING", "NULLS_ORDERING", "NULLS_ORDERING_DIRECTION", + "UNARY_FUNCTION", "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", "EXPR_MULTILINE_COMMENT", "EXPR_WS", "SRC_UNQUOTED_IDENTIFIER", "SRC_QUOTED_IDENTIFIER", - "SRC_LINE_COMMENT", "SRC_MULTILINE_COMMENT", "SRC_WS", "UNKNOWN_CMD", + "SRC_LINE_COMMENT", "SRC_MULTILINE_COMMENT", "SRC_WS", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(esql_lexer._LITERAL_NAMES, esql_lexer._SYMBOLIC_NAMES, []); @@ -158,9 +141,8 @@ export class esql_lexer extends Lexer { // @Override public get modeNames(): string[] { return esql_lexer.modeNames; } - private static readonly _serializedATNSegments: number = 2; - private static readonly _serializedATNSegment0: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02@\u023D\b\x01" + + public static readonly _serializedATN: string = + "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x023\u0215\b\x01" + "\b\x01\b\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04" + "\x06\t\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f" + "\t\f\x04\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11" + @@ -170,280 +152,255 @@ export class esql_lexer extends Lexer { "\t!\x04\"\t\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x04(\t(\x04)\t" + ")\x04*\t*\x04+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x04" + "2\t2\x043\t3\x044\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04" + - ";\t;\x04<\t<\x04=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04" + - "D\tD\x04E\tE\x04F\tF\x04G\tG\x04H\tH\x04I\tI\x03\x02\x03\x02\x03\x02\x03" + - "\x02\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" + - "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03" + - "\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + - "\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03" + - "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b" + - "\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03" + - "\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03" + - "\v\x03\v\x03\v\x07\v\xE1\n\v\f\v\x0E\v\xE4\v\v\x03\v\x05\v\xE7\n\v\x03" + - "\v\x05\v\xEA\n\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03\f\x07\f\xF3\n" + - "\f\f\f\x0E\f\xF6\v\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\r\x06\r\xFE\n\r" + - "\r\r\x0E\r\xFF\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03" + - "\x0F\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x13\x03" + - "\x13\x05\x13\u0113\n\x13\x03\x13\x06\x13\u0116\n\x13\r\x13\x0E\x13\u0117" + - "\x03\x14\x03\x14\x03\x14\x07\x14\u011D\n\x14\f\x14\x0E\x14\u0120\v\x14" + - "\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x07\x14\u0128\n\x14\f" + - "\x14\x0E\x14\u012B\v\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x05\x14" + - "\u0132\n\x14\x03\x14\x05\x14\u0135\n\x14\x05\x14\u0137\n\x14\x03\x15\x06" + - "\x15\u013A\n\x15\r\x15\x0E\x15\u013B\x03\x16\x06\x16\u013F\n\x16\r\x16" + - "\x0E\x16\u0140\x03\x16\x03\x16\x07\x16\u0145\n\x16\f\x16\x0E\x16\u0148" + - "\v\x16\x03\x16\x03\x16\x06\x16\u014C\n\x16\r\x16\x0E\x16\u014D\x03\x16" + - "\x06\x16\u0151\n\x16\r\x16\x0E\x16\u0152\x03\x16\x03\x16\x07\x16\u0157" + - "\n\x16\f\x16\x0E\x16\u015A\v\x16\x05\x16\u015C\n\x16\x03\x16\x03\x16\x03" + - "\x16\x03\x16\x06\x16\u0162\n\x16\r\x16\x0E\x16\u0163\x03\x16\x03\x16\x05" + - "\x16\u0168\n\x16\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x18" + - "\x03\x19\x03\x19\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1C" + - "\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03\x1E" + - "\x03\x1E\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F" + - "\x03 \x03 \x03 \x03 \x03 \x03!\x03!\x03\"\x03\"\x03\"\x03\"\x03#\x03#" + - "\x03#\x03#\x03#\x03$\x03$\x03$\x03$\x03%\x03%\x03%\x03%\x03%\x03&\x03" + - "&\x03&\x03&\x03&\x03&\x03\'\x03\'\x03\'\x03(\x03(\x03)\x03)\x03)\x03)" + - "\x03)\x03*\x03*\x03*\x03+\x03+\x03+\x03,\x03,\x03-\x03-\x03-\x03.\x03" + - ".\x03/\x03/\x03/\x030\x030\x031\x031\x032\x032\x033\x033\x034\x034\x03" + - "5\x035\x035\x035\x035\x035\x036\x036\x036\x036\x037\x037\x037\x037\x03" + - "8\x038\x038\x038\x039\x039\x039\x039\x03:\x03:\x05:\u01E7\n:\x03:\x03" + - ":\x03:\x07:\u01EC\n:\f:\x0E:\u01EF\v:\x03;\x03;\x03;\x03;\x07;\u01F5\n" + - ";\f;\x0E;\u01F8\v;\x03;\x03;\x03<\x03<\x03<\x03<\x03=\x03=\x03=\x03=\x03" + - ">\x03>\x03>\x03>\x03?\x03?\x03?\x03?\x03?\x03@\x03@\x03@\x03@\x03@\x03" + - "@\x03A\x03A\x03A\x03A\x03B\x03B\x03B\x03B\x03C\x06C\u021C\nC\rC\x0EC\u021D" + - "\x03D\x06D\u0221\nD\rD\x0ED\u0222\x03D\x03D\x05D\u0227\nD\x03E\x03E\x03" + - "F\x03F\x03F\x03F\x03G\x03G\x03G\x03G\x03H\x03H\x03H\x03H\x03I\x06I\u0238" + - "\nI\rI\x0EI\u0239\x03I\x03I\x04\xF4\u0129\x02\x02J\x05\x02\x03\x07\x02" + - "\x04\t\x02\x05\v\x02\x06\r\x02\x07\x0F\x02\b\x11\x02\t\x13\x02\n\x15\x02" + - "\v\x17\x02\f\x19\x02\r\x1B\x02\x0E\x1D\x02\x0F\x1F\x02\x02!\x02\x02#\x02" + - "\x02%\x02\x02\'\x02\x02)\x02\x10+\x02\x11-\x02\x12/\x02\x131\x02\x143" + - "\x02\x155\x02\x167\x02\x179\x02\x18;\x02\x19=\x02\x1A?\x02\x1BA\x02\x1C" + - "C\x02\x1DE\x02\x1EG\x02\x1FI\x02 K\x02!M\x02\"O\x02#Q\x02$S\x02%U\x02" + - "&W\x02\'Y\x02([\x02)]\x02*_\x02+a\x02,c\x02-e\x02.g\x02/i\x020k\x021m" + - "\x022o\x023q\x024s\x025u\x026w\x027y\x028{\x029}\x02:\x7F\x02\x02\x81" + - "\x02\x02\x83\x02\x02\x85\x02\x02\x87\x02;\x89\x02\x02\x8B\x02<\x8D\x02" + - "=\x8F\x02>\x91\x02?\x93\x02@\x05\x02\x03\x04\x0E\x04\x02\f\f\x0F\x0F\x05" + - "\x02\v\f\x0F\x0F\"\"\x03\x022;\x04\x02C\\c|\x07\x02$$^^ppttvv\x06\x02" + - "\f\f\x0F\x0F$$^^\x04\x02GGgg\x04\x02--//\x03\x02bb\f\x02\v\f\x0F\x0F\"" + - "\"..11??]]__bb~~\x04\x02,,11\b\x02\v\f\x0F\x0F\"\"11]]__\x02\u0257\x02" + - "\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02" + - "\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11" + - "\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17" + - "\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x03\x1D" + - "\x03\x02\x02\x02\x03)\x03\x02\x02\x02\x03+\x03\x02\x02\x02\x03-\x03\x02" + - "\x02\x02\x03/\x03\x02\x02\x02\x031\x03\x02\x02\x02\x033\x03\x02\x02\x02" + - "\x035\x03\x02\x02\x02\x037\x03\x02\x02\x02\x039\x03\x02\x02\x02\x03;\x03" + - "\x02\x02\x02\x03=\x03\x02\x02\x02\x03?\x03\x02\x02\x02\x03A\x03\x02\x02" + - "\x02\x03C\x03\x02\x02\x02\x03E\x03\x02\x02\x02\x03G\x03\x02\x02\x02\x03" + - "I\x03\x02\x02\x02\x03K\x03\x02\x02\x02\x03M\x03\x02\x02\x02\x03O\x03\x02" + - "\x02\x02\x03Q\x03\x02\x02\x02\x03S\x03\x02\x02\x02\x03U\x03\x02\x02\x02" + - "\x03W\x03\x02\x02\x02\x03Y\x03\x02\x02\x02\x03[\x03\x02\x02\x02\x03]\x03" + - "\x02\x02\x02\x03_\x03\x02\x02\x02\x03a\x03\x02\x02\x02\x03c\x03\x02\x02" + - "\x02\x03e\x03\x02\x02\x02\x03g\x03\x02\x02\x02\x03i\x03\x02\x02\x02\x03" + - "k\x03\x02\x02\x02\x03m\x03\x02\x02\x02\x03o\x03\x02\x02\x02\x03q\x03\x02" + - "\x02\x02\x03s\x03\x02\x02\x02\x03u\x03\x02\x02\x02\x03w\x03\x02\x02\x02" + - "\x03y\x03\x02\x02\x02\x03{\x03\x02\x02\x02\x03}\x03\x02\x02\x02\x04\x7F" + - "\x03\x02\x02\x02\x04\x81\x03\x02\x02\x02\x04\x83\x03\x02\x02\x02\x04\x85" + - "\x03\x02\x02\x02\x04\x87\x03\x02\x02\x02\x04\x8B\x03\x02\x02\x02\x04\x8D" + - "\x03\x02\x02\x02\x04\x8F\x03\x02\x02\x02\x04\x91\x03\x02\x02\x02\x04\x93" + - "\x03\x02\x02\x02\x05\x95\x03\x02\x02\x02\x07\x9C\x03\x02\x02\x02\t\xA6" + - "\x03\x02\x02\x02\v\xAD\x03\x02\x02\x02\r\xB3\x03\x02\x02\x02\x0F\xBB\x03" + - "\x02\x02\x02\x11\xC3\x03\x02\x02\x02\x13\xCA\x03\x02\x02\x02\x15\xD2\x03" + - "\x02\x02\x02\x17\xDC\x03\x02\x02\x02\x19\xED\x03\x02\x02\x02\x1B\xFD\x03" + - "\x02\x02\x02\x1D\u0103\x03\x02\x02\x02\x1F\u0107\x03\x02\x02\x02!\u0109" + - "\x03\x02\x02\x02#\u010B\x03\x02\x02\x02%\u010E\x03\x02\x02\x02\'\u0110" + - "\x03\x02\x02\x02)\u0136\x03\x02\x02\x02+\u0139\x03\x02\x02\x02-\u0167" + - "\x03\x02\x02\x02/\u0169\x03\x02\x02\x021\u016C\x03\x02\x02\x023\u0170" + - "\x03\x02\x02\x025\u0174\x03\x02\x02\x027\u0176\x03\x02\x02\x029\u0178" + - "\x03\x02\x02\x02;\u017D\x03\x02\x02\x02=\u017F\x03\x02\x02\x02?\u0185" + - "\x03\x02\x02\x02A\u018B\x03\x02\x02\x02C\u0190\x03\x02\x02\x02E\u0192" + - "\x03\x02\x02\x02G\u0196\x03\x02\x02\x02I\u019B\x03\x02\x02\x02K\u019F" + - "\x03\x02\x02\x02M\u01A4\x03\x02\x02\x02O\u01AA\x03\x02\x02\x02Q\u01AD" + - "\x03\x02\x02\x02S\u01AF\x03\x02\x02\x02U\u01B4\x03\x02\x02\x02W\u01B7" + - "\x03\x02\x02\x02Y\u01BA\x03\x02\x02\x02[\u01BC\x03\x02\x02\x02]\u01BF" + - "\x03\x02\x02\x02_\u01C1\x03\x02\x02\x02a\u01C4\x03\x02\x02\x02c\u01C6" + - "\x03\x02\x02\x02e\u01C8\x03\x02\x02\x02g\u01CA\x03\x02\x02\x02i\u01CC" + - "\x03\x02\x02\x02k\u01CE\x03\x02\x02\x02m\u01D4\x03\x02\x02\x02o\u01D8" + - "\x03\x02\x02\x02q\u01DC\x03\x02\x02\x02s\u01E0\x03\x02\x02\x02u\u01E6" + - "\x03\x02\x02\x02w\u01F0\x03\x02\x02\x02y\u01FB\x03\x02\x02\x02{\u01FF" + - "\x03\x02\x02\x02}\u0203\x03\x02\x02\x02\x7F\u0207\x03\x02\x02\x02\x81" + - "\u020C\x03\x02\x02\x02\x83\u0212\x03\x02\x02\x02\x85\u0216\x03\x02\x02" + - "\x02\x87\u021B\x03\x02\x02\x02\x89\u0226\x03\x02\x02\x02\x8B\u0228\x03" + - "\x02\x02\x02\x8D\u022A\x03\x02\x02\x02\x8F\u022E\x03\x02\x02\x02\x91\u0232" + - "\x03\x02\x02\x02\x93\u0237\x03\x02\x02\x02\x95\x96\x07g\x02\x02\x96\x97" + - "\x07x\x02\x02\x97\x98\x07c\x02\x02\x98\x99\x07n\x02\x02\x99\x9A\x03\x02" + - "\x02\x02\x9A\x9B\b\x02\x02\x02\x9B\x06\x03\x02\x02\x02\x9C\x9D\x07g\x02" + - "\x02\x9D\x9E\x07z\x02\x02\x9E\x9F\x07r\x02\x02\x9F\xA0\x07n\x02\x02\xA0" + - "\xA1\x07c\x02\x02\xA1\xA2\x07k\x02\x02\xA2\xA3\x07p\x02\x02\xA3\xA4\x03" + - "\x02\x02\x02\xA4\xA5\b\x03\x02\x02\xA5\b\x03\x02\x02\x02\xA6\xA7\x07h" + - "\x02\x02\xA7\xA8\x07t\x02\x02\xA8\xA9\x07q\x02\x02\xA9\xAA\x07o\x02\x02" + - "\xAA\xAB\x03\x02\x02\x02\xAB\xAC\b\x04\x03\x02\xAC\n\x03\x02\x02\x02\xAD" + - "\xAE\x07t\x02\x02\xAE\xAF\x07q\x02\x02\xAF\xB0\x07y\x02\x02\xB0\xB1\x03" + - "\x02\x02\x02\xB1\xB2\b\x05\x02\x02\xB2\f\x03\x02\x02\x02\xB3\xB4\x07u" + - "\x02\x02\xB4\xB5\x07v\x02\x02\xB5\xB6\x07c\x02\x02\xB6\xB7\x07v\x02\x02" + - "\xB7\xB8\x07u\x02\x02\xB8\xB9\x03\x02\x02\x02\xB9\xBA\b\x06\x02\x02\xBA" + - "\x0E\x03\x02\x02\x02\xBB\xBC\x07y\x02\x02\xBC\xBD\x07j\x02\x02\xBD\xBE" + - "\x07g\x02\x02\xBE\xBF\x07t\x02\x02\xBF\xC0\x07g\x02\x02\xC0\xC1\x03\x02" + - "\x02\x02\xC1\xC2\b\x07\x02\x02\xC2\x10\x03\x02\x02\x02\xC3\xC4\x07u\x02" + - "\x02\xC4\xC5\x07q\x02\x02\xC5\xC6\x07t\x02\x02\xC6\xC7\x07v\x02\x02\xC7" + - "\xC8\x03\x02\x02\x02\xC8\xC9\b\b\x02\x02\xC9\x12\x03\x02\x02\x02\xCA\xCB" + - "\x07n\x02\x02\xCB\xCC\x07k\x02\x02\xCC\xCD\x07o\x02\x02\xCD\xCE\x07k\x02" + - "\x02\xCE\xCF\x07v\x02\x02\xCF\xD0\x03\x02\x02\x02\xD0\xD1\b\t\x02\x02" + - "\xD1\x14\x03\x02\x02\x02\xD2\xD3\x07r\x02\x02\xD3\xD4\x07t\x02\x02\xD4" + - "\xD5\x07q\x02\x02\xD5\xD6\x07l\x02\x02\xD6\xD7\x07g\x02\x02\xD7\xD8\x07" + - "e\x02\x02\xD8\xD9\x07v\x02\x02\xD9\xDA\x03\x02\x02\x02\xDA\xDB\b\n\x03" + - "\x02\xDB\x16\x03\x02\x02\x02\xDC\xDD\x071\x02\x02\xDD\xDE\x071\x02\x02" + - "\xDE\xE2\x03\x02\x02\x02\xDF\xE1\n\x02\x02\x02\xE0\xDF\x03\x02\x02\x02" + - "\xE1\xE4\x03\x02\x02\x02\xE2\xE0\x03\x02\x02\x02\xE2\xE3\x03\x02\x02\x02" + - "\xE3\xE6\x03\x02\x02\x02\xE4\xE2\x03\x02\x02\x02\xE5\xE7\x07\x0F\x02\x02" + - "\xE6\xE5\x03\x02\x02\x02\xE6\xE7\x03\x02\x02\x02\xE7\xE9\x03\x02\x02\x02" + - "\xE8\xEA\x07\f\x02\x02\xE9\xE8\x03\x02\x02\x02\xE9\xEA\x03\x02\x02\x02" + - "\xEA\xEB\x03\x02\x02\x02\xEB\xEC\b\v\x04\x02\xEC\x18\x03\x02\x02\x02\xED" + - "\xEE\x071\x02\x02\xEE\xEF\x07,\x02\x02\xEF\xF4\x03\x02\x02\x02\xF0\xF3" + - "\x05\x19\f\x02\xF1\xF3\v\x02\x02\x02\xF2\xF0\x03\x02\x02\x02\xF2\xF1\x03" + - "\x02\x02\x02\xF3\xF6\x03\x02\x02\x02\xF4\xF5\x03\x02\x02\x02\xF4\xF2\x03" + - "\x02\x02\x02\xF5\xF7\x03\x02\x02\x02\xF6\xF4\x03\x02\x02\x02\xF7\xF8\x07" + - ",\x02\x02\xF8\xF9\x071\x02\x02\xF9\xFA\x03\x02\x02\x02\xFA\xFB\b\f\x04" + - "\x02\xFB\x1A\x03\x02\x02\x02\xFC\xFE\t\x03\x02\x02\xFD\xFC\x03\x02\x02" + - "\x02\xFE\xFF\x03\x02\x02\x02\xFF\xFD\x03\x02\x02\x02\xFF\u0100\x03\x02" + - "\x02\x02\u0100\u0101\x03\x02\x02\x02\u0101\u0102\b\r\x04\x02\u0102\x1C" + - "\x03\x02\x02\x02\u0103\u0104\x07~\x02\x02\u0104\u0105\x03\x02\x02\x02" + - "\u0105\u0106\b\x0E\x05\x02\u0106\x1E\x03\x02\x02\x02\u0107\u0108\t\x04" + - "\x02\x02\u0108 \x03\x02\x02\x02\u0109\u010A\t\x05\x02\x02\u010A\"\x03" + - "\x02\x02\x02\u010B\u010C\x07^\x02\x02\u010C\u010D\t\x06\x02\x02\u010D" + - "$\x03\x02\x02\x02\u010E\u010F\n\x07\x02\x02\u010F&\x03\x02\x02\x02\u0110" + - "\u0112\t\b\x02\x02\u0111\u0113\t\t\x02\x02\u0112\u0111\x03\x02\x02\x02" + - "\u0112\u0113\x03\x02\x02\x02\u0113\u0115\x03\x02\x02\x02\u0114\u0116\x05" + - "\x1F\x0F\x02\u0115\u0114\x03\x02\x02\x02\u0116\u0117\x03\x02\x02\x02\u0117" + - "\u0115\x03\x02\x02\x02\u0117\u0118\x03\x02\x02\x02\u0118(\x03\x02\x02" + - "\x02\u0119\u011E\x07$\x02\x02\u011A\u011D\x05#\x11\x02\u011B\u011D\x05" + - "%\x12\x02\u011C\u011A\x03\x02\x02\x02\u011C\u011B\x03\x02\x02\x02\u011D" + - "\u0120\x03\x02\x02\x02\u011E\u011C\x03\x02\x02\x02\u011E\u011F\x03\x02" + - "\x02\x02\u011F\u0121\x03\x02\x02\x02\u0120\u011E\x03\x02\x02\x02\u0121" + - "\u0137\x07$\x02\x02\u0122\u0123\x07$\x02\x02\u0123\u0124\x07$\x02\x02" + - "\u0124\u0125\x07$\x02\x02\u0125\u0129\x03\x02\x02\x02\u0126\u0128\n\x02" + - "\x02\x02\u0127\u0126\x03\x02\x02\x02\u0128\u012B\x03\x02\x02\x02\u0129" + - "\u012A\x03\x02\x02\x02\u0129\u0127\x03\x02\x02\x02\u012A\u012C\x03\x02" + - "\x02\x02\u012B\u0129\x03\x02\x02\x02\u012C\u012D\x07$\x02\x02\u012D\u012E" + - "\x07$\x02\x02\u012E\u012F\x07$\x02\x02\u012F\u0131\x03\x02\x02\x02\u0130" + - "\u0132\x07$\x02\x02\u0131\u0130\x03\x02\x02\x02\u0131\u0132\x03\x02\x02" + - "\x02\u0132\u0134\x03\x02\x02\x02\u0133\u0135\x07$\x02\x02\u0134\u0133" + - "\x03\x02\x02\x02\u0134\u0135\x03\x02\x02\x02\u0135\u0137\x03\x02\x02\x02" + - "\u0136\u0119\x03\x02\x02\x02\u0136\u0122\x03\x02\x02\x02\u0137*\x03\x02" + - "\x02\x02\u0138\u013A\x05\x1F\x0F\x02\u0139\u0138\x03\x02\x02\x02\u013A" + - "\u013B\x03\x02\x02\x02\u013B\u0139\x03\x02\x02\x02\u013B\u013C\x03\x02" + - "\x02\x02\u013C,\x03\x02\x02\x02\u013D\u013F\x05\x1F\x0F\x02\u013E\u013D" + - "\x03\x02\x02\x02\u013F\u0140\x03\x02\x02\x02\u0140\u013E\x03\x02\x02\x02" + - "\u0140\u0141\x03\x02\x02\x02\u0141\u0142\x03\x02\x02\x02\u0142\u0146\x05" + - ";\x1D\x02\u0143\u0145\x05\x1F\x0F\x02\u0144\u0143\x03\x02\x02\x02\u0145" + - "\u0148\x03\x02\x02\x02\u0146\u0144\x03\x02\x02\x02\u0146\u0147\x03\x02" + - "\x02\x02\u0147\u0168\x03\x02\x02\x02\u0148\u0146\x03\x02\x02\x02\u0149" + - "\u014B\x05;\x1D\x02\u014A\u014C\x05\x1F\x0F\x02\u014B\u014A\x03\x02\x02" + - "\x02\u014C\u014D\x03\x02\x02\x02\u014D\u014B\x03\x02\x02\x02\u014D\u014E" + - "\x03\x02\x02\x02\u014E\u0168\x03\x02\x02\x02\u014F\u0151\x05\x1F\x0F\x02" + - "\u0150\u014F\x03\x02\x02\x02\u0151\u0152\x03\x02\x02\x02\u0152\u0150\x03" + - "\x02\x02\x02\u0152\u0153\x03\x02\x02\x02\u0153\u015B\x03\x02\x02\x02\u0154" + - "\u0158\x05;\x1D\x02\u0155\u0157\x05\x1F\x0F\x02\u0156\u0155\x03\x02\x02" + - "\x02\u0157\u015A\x03\x02\x02\x02\u0158\u0156\x03\x02\x02\x02\u0158\u0159" + - "\x03\x02\x02\x02\u0159\u015C\x03\x02\x02\x02\u015A\u0158\x03\x02\x02\x02" + - "\u015B\u0154\x03\x02\x02\x02\u015B\u015C\x03\x02\x02\x02\u015C\u015D\x03" + - "\x02\x02\x02\u015D\u015E\x05\'\x13\x02\u015E\u0168\x03\x02\x02\x02\u015F" + - "\u0161\x05;\x1D\x02\u0160\u0162\x05\x1F\x0F\x02\u0161\u0160\x03\x02\x02" + - "\x02\u0162\u0163\x03\x02\x02\x02\u0163\u0161\x03\x02\x02\x02\u0163\u0164" + - "\x03\x02\x02\x02\u0164\u0165\x03\x02\x02\x02\u0165\u0166\x05\'\x13\x02" + - "\u0166\u0168\x03\x02\x02\x02\u0167\u013E\x03\x02\x02\x02\u0167\u0149\x03" + - "\x02\x02\x02\u0167\u0150\x03\x02\x02\x02\u0167\u015F\x03\x02\x02\x02\u0168" + - ".\x03\x02\x02\x02\u0169\u016A\x07d\x02\x02\u016A\u016B\x07{\x02\x02\u016B" + - "0\x03\x02\x02\x02\u016C\u016D\x07c\x02\x02\u016D\u016E\x07p\x02\x02\u016E" + - "\u016F\x07f\x02\x02\u016F2\x03\x02\x02\x02\u0170\u0171\x07c\x02\x02\u0171" + - "\u0172\x07u\x02\x02\u0172\u0173\x07e\x02\x02\u01734\x03\x02\x02\x02\u0174" + - "\u0175\x07?\x02\x02\u01756\x03\x02\x02\x02\u0176\u0177\x07.\x02\x02\u0177" + - "8\x03\x02\x02\x02\u0178\u0179\x07f\x02\x02\u0179\u017A\x07g\x02\x02\u017A" + - "\u017B\x07u\x02\x02\u017B\u017C\x07e\x02\x02\u017C:\x03\x02\x02\x02\u017D" + - "\u017E\x070\x02\x02\u017E<\x03\x02\x02\x02\u017F\u0180\x07h\x02\x02\u0180" + - "\u0181\x07c\x02\x02\u0181\u0182\x07n\x02\x02\u0182\u0183\x07u\x02\x02" + - "\u0183\u0184\x07g\x02\x02\u0184>\x03\x02\x02\x02\u0185\u0186\x07h\x02" + - "\x02\u0186\u0187\x07k\x02\x02\u0187\u0188\x07t\x02\x02\u0188\u0189\x07" + - "u\x02\x02\u0189\u018A\x07v\x02\x02\u018A@\x03\x02\x02\x02\u018B\u018C" + - "\x07n\x02\x02\u018C\u018D\x07c\x02\x02\u018D\u018E\x07u\x02\x02\u018E" + - "\u018F\x07v\x02\x02\u018FB\x03\x02\x02\x02\u0190\u0191\x07*\x02\x02\u0191" + - "D\x03\x02\x02\x02\u0192\u0193\x07]\x02\x02\u0193\u0194\x03\x02\x02\x02" + - "\u0194\u0195\b\"\x06\x02\u0195F\x03\x02\x02\x02\u0196\u0197\x07_\x02\x02" + - "\u0197\u0198\x03\x02\x02\x02\u0198\u0199\b#\x05\x02\u0199\u019A\b#\x05" + - "\x02\u019AH\x03\x02\x02\x02\u019B\u019C\x07p\x02\x02\u019C\u019D\x07q" + - "\x02\x02\u019D\u019E\x07v\x02\x02\u019EJ\x03\x02\x02\x02\u019F\u01A0\x07" + - "p\x02\x02\u01A0\u01A1\x07w\x02\x02\u01A1\u01A2\x07n\x02\x02\u01A2\u01A3" + - "\x07n\x02\x02\u01A3L\x03\x02\x02\x02\u01A4\u01A5\x07p\x02\x02\u01A5\u01A6" + - "\x07w\x02\x02\u01A6\u01A7\x07n\x02\x02\u01A7\u01A8\x07n\x02\x02\u01A8" + - "\u01A9\x07u\x02\x02\u01A9N\x03\x02\x02\x02\u01AA\u01AB\x07q\x02\x02\u01AB" + - "\u01AC\x07t\x02\x02\u01ACP\x03\x02\x02\x02\u01AD\u01AE\x07+\x02\x02\u01AE" + - "R\x03\x02\x02\x02\u01AF\u01B0\x07v\x02\x02\u01B0\u01B1\x07t\x02\x02\u01B1" + - "\u01B2\x07w\x02\x02\u01B2\u01B3\x07g\x02\x02\u01B3T\x03\x02\x02\x02\u01B4" + - "\u01B5\x07?\x02\x02\u01B5\u01B6\x07?\x02\x02\u01B6V\x03\x02\x02\x02\u01B7" + - "\u01B8\x07#\x02\x02\u01B8\u01B9\x07?\x02\x02\u01B9X\x03\x02\x02\x02\u01BA" + - "\u01BB\x07>\x02\x02\u01BBZ\x03\x02\x02\x02\u01BC\u01BD\x07>\x02\x02\u01BD" + - "\u01BE\x07?\x02\x02\u01BE\\\x03\x02\x02\x02\u01BF\u01C0\x07@\x02\x02\u01C0" + - "^\x03\x02\x02\x02\u01C1\u01C2\x07@\x02\x02\u01C2\u01C3\x07?\x02\x02\u01C3" + - "`\x03\x02\x02\x02\u01C4\u01C5\x07-\x02\x02\u01C5b\x03\x02\x02\x02\u01C6" + - "\u01C7\x07/\x02\x02\u01C7d\x03\x02\x02\x02\u01C8\u01C9\x07,\x02\x02\u01C9" + - "f\x03\x02\x02\x02\u01CA\u01CB\x071\x02\x02\u01CBh\x03\x02\x02\x02\u01CC" + - "\u01CD\x07\'\x02\x02\u01CDj\x03\x02\x02\x02\u01CE\u01CF\x07t\x02\x02\u01CF" + - "\u01D0\x07q\x02\x02\u01D0\u01D1\x07w\x02\x02\u01D1\u01D2\x07p\x02\x02" + - "\u01D2\u01D3\x07f\x02\x02\u01D3l\x03\x02\x02\x02\u01D4\u01D5\x07c\x02" + - "\x02\u01D5\u01D6\x07x\x02\x02\u01D6\u01D7\x07i\x02\x02\u01D7n\x03\x02" + - "\x02\x02\u01D8\u01D9\x07u\x02\x02\u01D9\u01DA\x07w\x02\x02\u01DA\u01DB" + - "\x07o\x02\x02\u01DBp\x03\x02\x02\x02\u01DC\u01DD\x07o\x02\x02\u01DD\u01DE" + - "\x07k\x02\x02\u01DE\u01DF\x07p\x02\x02\u01DFr\x03\x02\x02\x02\u01E0\u01E1" + - "\x07o\x02\x02\u01E1\u01E2\x07c\x02\x02\u01E2\u01E3\x07z\x02\x02\u01E3" + - "t\x03\x02\x02\x02\u01E4\u01E7\x05!\x10\x02\u01E5\u01E7\x07a\x02\x02\u01E6" + - "\u01E4\x03\x02\x02\x02\u01E6\u01E5\x03\x02\x02\x02\u01E7\u01ED\x03\x02" + - "\x02\x02\u01E8\u01EC\x05!\x10\x02\u01E9\u01EC\x05\x1F\x0F\x02\u01EA\u01EC" + - "\x07a\x02\x02\u01EB\u01E8\x03\x02\x02\x02\u01EB\u01E9\x03\x02\x02\x02" + - "\u01EB\u01EA\x03\x02\x02\x02\u01EC\u01EF\x03\x02\x02\x02\u01ED\u01EB\x03" + - "\x02\x02\x02\u01ED\u01EE\x03\x02\x02\x02\u01EEv\x03\x02\x02\x02\u01EF" + - "\u01ED\x03\x02\x02\x02\u01F0\u01F6\x07b\x02\x02\u01F1\u01F5\n\n\x02\x02" + - "\u01F2\u01F3\x07b\x02\x02\u01F3\u01F5\x07b\x02\x02\u01F4\u01F1\x03\x02" + - "\x02\x02\u01F4\u01F2\x03\x02\x02\x02\u01F5\u01F8\x03\x02\x02\x02\u01F6" + - "\u01F4\x03\x02\x02\x02\u01F6\u01F7\x03\x02\x02\x02\u01F7\u01F9\x03\x02" + - "\x02\x02\u01F8\u01F6\x03\x02\x02\x02\u01F9\u01FA\x07b\x02\x02\u01FAx\x03" + - "\x02\x02\x02\u01FB\u01FC\x05\x17\v\x02\u01FC\u01FD\x03\x02\x02\x02\u01FD" + - "\u01FE\b<\x04\x02\u01FEz\x03\x02\x02\x02\u01FF\u0200\x05\x19\f\x02\u0200" + - "\u0201\x03\x02\x02\x02\u0201\u0202\b=\x04\x02\u0202|\x03\x02\x02\x02\u0203" + - "\u0204\x05\x1B\r\x02\u0204\u0205\x03\x02\x02\x02\u0205\u0206\b>\x04\x02" + - "\u0206~\x03\x02\x02\x02\u0207\u0208\x07~\x02\x02\u0208\u0209\x03\x02\x02" + - "\x02\u0209\u020A\b?\x07\x02\u020A\u020B\b?\x05\x02\u020B\x80\x03\x02\x02" + - "\x02\u020C\u020D\x07_\x02\x02\u020D\u020E\x03\x02\x02\x02\u020E\u020F" + - "\b@\x05\x02\u020F\u0210\b@\x05\x02\u0210\u0211\b@\b\x02\u0211\x82\x03" + - "\x02\x02\x02\u0212\u0213\x07.\x02\x02\u0213\u0214\x03\x02\x02\x02\u0214" + - "\u0215\bA\t\x02\u0215\x84\x03\x02\x02\x02\u0216\u0217\x07?\x02\x02\u0217" + - "\u0218\x03\x02\x02\x02\u0218\u0219\bB\n\x02\u0219\x86\x03\x02\x02\x02" + - "\u021A\u021C\x05\x89D\x02\u021B\u021A\x03\x02\x02\x02\u021C\u021D\x03" + - "\x02\x02\x02\u021D\u021B\x03\x02\x02\x02\u021D\u021E\x03\x02\x02\x02\u021E" + - "\x88\x03\x02\x02\x02\u021F\u0221\n\v\x02\x02\u0220\u021F\x03\x02\x02\x02" + - "\u0221\u0222\x03\x02\x02\x02\u0222\u0220\x03\x02\x02\x02\u0222\u0223\x03" + - "\x02\x02\x02\u0223\u0227\x03\x02\x02\x02\u0224\u0225\x071\x02\x02\u0225" + - "\u0227\n\f\x02\x02\u0226\u0220\x03\x02\x02\x02\u0226\u0224\x03\x02\x02" + - "\x02\u0227\x8A\x03\x02\x02\x02\u0228\u0229\x05w;\x02\u0229\x8C\x03\x02" + - "\x02\x02\u022A\u022B\x05\x17\v"; - private static readonly _serializedATNSegment1: string = - "\x02\u022B\u022C\x03\x02\x02\x02\u022C\u022D\bF\x04\x02\u022D\x8E\x03" + - "\x02\x02\x02\u022E\u022F\x05\x19\f\x02\u022F\u0230\x03\x02\x02\x02\u0230" + - "\u0231\bG\x04\x02\u0231\x90\x03\x02\x02\x02\u0232\u0233\x05\x1B\r\x02" + - "\u0233\u0234\x03\x02\x02\x02\u0234\u0235\bH\x04\x02\u0235\x92\x03\x02" + - "\x02\x02\u0236\u0238\n\r\x02\x02\u0237\u0236\x03\x02\x02\x02\u0238\u0239" + - "\x03\x02\x02\x02\u0239\u0237\x03\x02\x02\x02\u0239\u023A\x03\x02\x02\x02" + - "\u023A\u023B\x03\x02\x02\x02\u023B\u023C\bI\x02\x02\u023C\x94\x03\x02" + - "\x02\x02%\x02\x03\x04\xE2\xE6\xE9\xF2\xF4\xFF\u0112\u0117\u011C\u011E" + - "\u0129\u0131\u0134\u0136\u013B\u0140\u0146\u014D\u0152\u0158\u015B\u0163" + - "\u0167\u01E6\u01EB\u01ED\u01F4\u01F6\u021D\u0222\u0226\u0239\v\x07\x03" + - "\x02\x07\x04\x02\x02\x03\x02\x06\x02\x02\x07\x02\x02\t\x0F\x02\t\x1F\x02" + - "\t\x17\x02\t\x16\x02"; - public static readonly _serializedATN: string = Utils.join( - [ - esql_lexer._serializedATNSegment0, - esql_lexer._serializedATNSegment1, - ], - "", - ); + ";\t;\x04<\t<\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" + + "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" + + "\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03" + + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03" + + "\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" + + "\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03" + + "\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03" + + "\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x07\v\xC7\n\v\f\v\x0E" + + "\v\xCA\v\v\x03\v\x05\v\xCD\n\v\x03\v\x05\v\xD0\n\v\x03\v\x03\v\x03\f\x03" + + "\f\x03\f\x03\f\x03\f\x07\f\xD9\n\f\f\f\x0E\f\xDC\v\f\x03\f\x03\f\x03\f" + + "\x03\f\x03\f\x03\r\x06\r\xE4\n\r\r\r\x0E\r\xE5\x03\r\x03\r\x03\x0E\x03" + + "\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x11\x03\x11\x03" + + "\x11\x03\x12\x03\x12\x03\x13\x03\x13\x05\x13\xF9\n\x13\x03\x13\x06\x13" + + "\xFC\n\x13\r\x13\x0E\x13\xFD\x03\x14\x03\x14\x03\x14\x07\x14\u0103\n\x14" + + "\f\x14\x0E\x14\u0106\v\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03" + + "\x14\x07\x14\u010E\n\x14\f\x14\x0E\x14\u0111\v\x14\x03\x14\x03\x14\x03" + + "\x14\x03\x14\x03\x14\x05\x14\u0118\n\x14\x03\x14\x05\x14\u011B\n\x14\x05" + + "\x14\u011D\n\x14\x03\x15\x06\x15\u0120\n\x15\r\x15\x0E\x15\u0121\x03\x16" + + "\x06\x16\u0125\n\x16\r\x16\x0E\x16\u0126\x03\x16\x03\x16\x07\x16\u012B" + + "\n\x16\f\x16\x0E\x16\u012E\v\x16\x03\x16\x03\x16\x06\x16\u0132\n\x16\r" + + "\x16\x0E\x16\u0133\x03\x16\x06\x16\u0137\n\x16\r\x16\x0E\x16\u0138\x03" + + "\x16\x03\x16\x07\x16\u013D\n\x16\f\x16\x0E\x16\u0140\v\x16\x05\x16\u0142" + + "\n\x16\x03\x16\x03\x16\x03\x16\x03\x16\x06\x16\u0148\n\x16\r\x16\x0E\x16" + + "\u0149\x03\x16\x03\x16\x05\x16\u014E\n\x16\x03\x17\x03\x17\x03\x17\x03" + + "\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1B\x03" + + "\x1B\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03" + + "\x1E\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 \x03 \x03 \x03" + + " \x03 \x03!\x03!\x03!\x03\"\x03\"\x03#\x03#\x03#\x03#\x03#\x03#\x03#\x03" + + "#\x03#\x05#\u017F\n#\x03$\x03$\x03$\x03$\x03$\x03$\x03$\x03$\x03$\x03" + + "$\x05$\u018B\n$\x03%\x03%\x03&\x03&\x03\'\x03\'\x03(\x03(\x03)\x03)\x03" + + "*\x03*\x03*\x03*\x03*\x03*\x03*\x05*\u019E\n*\x03+\x03+\x03+\x03+\x03" + + "+\x03+\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x05,\u01AF\n,\x03" + + "-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03-\x03" + + "-\x03-\x03-\x05-\u01C2\n-\x03.\x03.\x05.\u01C6\n.\x03.\x03.\x03.\x07." + + "\u01CB\n.\f.\x0E.\u01CE\v.\x03/\x03/\x03/\x03/\x07/\u01D4\n/\f/\x0E/\u01D7" + + "\v/\x03/\x03/\x030\x030\x030\x030\x031\x031\x031\x031\x032\x032\x032\x03" + + "2\x033\x033\x033\x033\x033\x034\x034\x034\x034\x034\x034\x035\x035\x03" + + "5\x035\x036\x036\x036\x036\x037\x067\u01FB\n7\r7\x0E7\u01FC\x038\x068" + + "\u0200\n8\r8\x0E8\u0201\x038\x038\x058\u0206\n8\x039\x039\x03:\x03:\x03" + + ":\x03:\x03;\x03;\x03;\x03;\x03<\x03<\x03<\x03<\x04\xDA\u010F\x02\x02=" + + "\x05\x02\x03\x07\x02\x04\t\x02\x05\v\x02\x06\r\x02\x07\x0F\x02\b\x11\x02" + + "\t\x13\x02\n\x15\x02\v\x17\x02\f\x19\x02\r\x1B\x02\x0E\x1D\x02\x0F\x1F" + + "\x02\x02!\x02\x02#\x02\x02%\x02\x02\'\x02\x02)\x02\x10+\x02\x11-\x02\x12" + + "/\x02\x131\x02\x143\x02\x155\x02\x167\x02\x179\x02\x18;\x02\x19=\x02\x1A" + + "?\x02\x1BA\x02\x1CC\x02\x1DE\x02\x1EG\x02\x1FI\x02 K\x02!M\x02\"O\x02" + + "#Q\x02$S\x02%U\x02&W\x02\'Y\x02([\x02)]\x02*_\x02+a\x02,c\x02-e\x02.g" + + "\x02\x02i\x02\x02k\x02\x02m\x02\x02o\x02/q\x02\x02s\x020u\x021w\x022y" + + "\x023\x05\x02\x03\x04\r\x04\x02\f\f\x0F\x0F\x05\x02\v\f\x0F\x0F\"\"\x03" + + "\x022;\x04\x02C\\c|\x07\x02$$^^ppttvv\x06\x02\f\f\x0F\x0F$$^^\x04\x02" + + "GGgg\x04\x02--//\x03\x02bb\f\x02\v\f\x0F\x0F\"\"..11??]]__bb~~\x04\x02" + + ",,11\x02\u023A\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03" + + "\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02" + + "\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02" + + "\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02" + + "\x02\x02\x03\x1D\x03\x02\x02\x02\x03)\x03\x02\x02\x02\x03+\x03\x02\x02" + + "\x02\x03-\x03\x02\x02\x02\x03/\x03\x02\x02\x02\x031\x03\x02\x02\x02\x03" + + "3\x03\x02\x02\x02\x035\x03\x02\x02\x02\x037\x03\x02\x02\x02\x039\x03\x02" + + "\x02\x02\x03;\x03\x02\x02\x02\x03=\x03\x02\x02\x02\x03?\x03\x02\x02\x02" + + "\x03A\x03\x02\x02\x02\x03C\x03\x02\x02\x02\x03E\x03\x02\x02\x02\x03G\x03" + + "\x02\x02\x02\x03I\x03\x02\x02\x02\x03K\x03\x02\x02\x02\x03M\x03\x02\x02" + + "\x02\x03O\x03\x02\x02\x02\x03Q\x03\x02\x02\x02\x03S\x03\x02\x02\x02\x03" + + "U\x03\x02\x02\x02\x03W\x03\x02\x02\x02\x03Y\x03\x02\x02\x02\x03[\x03\x02" + + "\x02\x02\x03]\x03\x02\x02\x02\x03_\x03\x02\x02\x02\x03a\x03\x02\x02\x02" + + "\x03c\x03\x02\x02\x02\x03e\x03\x02\x02\x02\x04g\x03\x02\x02\x02\x04i\x03" + + "\x02\x02\x02\x04k\x03\x02\x02\x02\x04m\x03\x02\x02\x02\x04o\x03\x02\x02" + + "\x02\x04s\x03\x02\x02\x02\x04u\x03\x02\x02\x02\x04w\x03\x02\x02\x02\x04" + + "y\x03\x02\x02\x02\x05{\x03\x02\x02\x02\x07\x82\x03\x02\x02\x02\t\x8C\x03" + + "\x02\x02\x02\v\x93\x03\x02\x02\x02\r\x99\x03\x02\x02\x02\x0F\xA1\x03\x02" + + "\x02\x02\x11\xA9\x03\x02\x02\x02\x13\xB0\x03\x02\x02\x02\x15\xB8\x03\x02" + + "\x02\x02\x17\xC2\x03\x02\x02\x02\x19\xD3\x03\x02\x02\x02\x1B\xE3\x03\x02" + + "\x02\x02\x1D\xE9\x03\x02\x02\x02\x1F\xED\x03\x02\x02\x02!\xEF\x03\x02" + + "\x02\x02#\xF1\x03\x02\x02\x02%\xF4\x03\x02\x02\x02\'\xF6\x03\x02\x02\x02" + + ")\u011C\x03\x02\x02\x02+\u011F\x03\x02\x02\x02-\u014D\x03\x02\x02\x02" + + "/\u014F\x03\x02\x02\x021\u0152\x03\x02\x02\x023\u0156\x03\x02\x02\x02" + + "5\u0158\x03\x02\x02\x027\u015A\x03\x02\x02\x029\u015C\x03\x02\x02\x02" + + ";\u015E\x03\x02\x02\x02=\u0162\x03\x02\x02\x02?\u0167\x03\x02\x02\x02" + + "A\u016B\x03\x02\x02\x02C\u0170\x03\x02\x02\x02E\u0173\x03\x02\x02\x02" + + "G\u017E\x03\x02\x02\x02I\u018A\x03\x02\x02\x02K\u018C\x03\x02\x02\x02" + + "M\u018E\x03\x02\x02\x02O\u0190\x03\x02\x02\x02Q\u0192\x03\x02\x02\x02" + + "S\u0194\x03\x02\x02\x02U\u019D\x03\x02\x02\x02W\u019F\x03\x02\x02\x02" + + "Y\u01AE\x03\x02\x02\x02[\u01C1\x03\x02\x02\x02]\u01C5\x03\x02\x02\x02" + + "_\u01CF\x03\x02\x02\x02a\u01DA\x03\x02\x02\x02c\u01DE\x03\x02\x02\x02" + + "e\u01E2\x03\x02\x02\x02g\u01E6\x03\x02\x02\x02i\u01EB\x03\x02\x02\x02" + + "k\u01F1\x03\x02\x02\x02m\u01F5\x03\x02\x02\x02o\u01FA\x03\x02\x02\x02" + + "q\u0205\x03\x02\x02\x02s\u0207\x03\x02\x02\x02u\u0209\x03\x02\x02\x02" + + "w\u020D\x03\x02\x02\x02y\u0211\x03\x02\x02\x02{|\x07g\x02\x02|}\x07x\x02" + + "\x02}~\x07c\x02\x02~\x7F\x07n\x02\x02\x7F\x80\x03\x02\x02\x02\x80\x81" + + "\b\x02\x02\x02\x81\x06\x03\x02\x02\x02\x82\x83\x07g\x02\x02\x83\x84\x07" + + "z\x02\x02\x84\x85\x07r\x02\x02\x85\x86\x07n\x02\x02\x86\x87\x07c\x02\x02" + + "\x87\x88\x07k\x02\x02\x88\x89\x07p\x02\x02\x89\x8A\x03\x02\x02\x02\x8A" + + "\x8B\b\x03\x02\x02\x8B\b\x03\x02\x02\x02\x8C\x8D\x07h\x02\x02\x8D\x8E" + + "\x07t\x02\x02\x8E\x8F\x07q\x02\x02\x8F\x90\x07o\x02\x02\x90\x91\x03\x02" + + "\x02\x02\x91\x92\b\x04\x03\x02\x92\n\x03\x02\x02\x02\x93\x94\x07t\x02" + + "\x02\x94\x95\x07q\x02\x02\x95\x96\x07y\x02\x02\x96\x97\x03\x02\x02\x02" + + "\x97\x98\b\x05\x02\x02\x98\f\x03\x02\x02\x02\x99\x9A\x07u\x02\x02\x9A" + + "\x9B\x07v\x02\x02\x9B\x9C\x07c\x02\x02\x9C\x9D\x07v\x02\x02\x9D\x9E\x07" + + "u\x02\x02\x9E\x9F\x03\x02\x02\x02\x9F\xA0\b\x06\x02\x02\xA0\x0E\x03\x02" + + "\x02\x02\xA1\xA2\x07y\x02\x02\xA2\xA3\x07j\x02\x02\xA3\xA4\x07g\x02\x02" + + "\xA4\xA5\x07t\x02\x02\xA5\xA6\x07g\x02\x02\xA6\xA7\x03\x02\x02\x02\xA7" + + "\xA8\b\x07\x02\x02\xA8\x10\x03\x02\x02\x02\xA9\xAA\x07u\x02\x02\xAA\xAB" + + "\x07q\x02\x02\xAB\xAC\x07t\x02\x02\xAC\xAD\x07v\x02\x02\xAD\xAE\x03\x02" + + "\x02\x02\xAE\xAF\b\b\x02\x02\xAF\x12\x03\x02\x02\x02\xB0\xB1\x07n\x02" + + "\x02\xB1\xB2\x07k\x02\x02\xB2\xB3\x07o\x02\x02\xB3\xB4\x07k\x02\x02\xB4" + + "\xB5\x07v\x02\x02\xB5\xB6\x03\x02\x02\x02\xB6\xB7\b\t\x02\x02\xB7\x14" + + "\x03\x02\x02\x02\xB8\xB9\x07r\x02\x02\xB9\xBA\x07t\x02\x02\xBA\xBB\x07" + + "q\x02\x02\xBB\xBC\x07l\x02\x02\xBC\xBD\x07g\x02\x02\xBD\xBE\x07e\x02\x02" + + "\xBE\xBF\x07v\x02\x02\xBF\xC0\x03\x02\x02\x02\xC0\xC1\b\n\x03\x02\xC1" + + "\x16\x03\x02\x02\x02\xC2\xC3\x071\x02\x02\xC3\xC4\x071\x02\x02\xC4\xC8" + + "\x03\x02\x02\x02\xC5\xC7\n\x02\x02\x02\xC6\xC5\x03\x02\x02\x02\xC7\xCA" + + "\x03\x02\x02\x02\xC8\xC6\x03\x02\x02\x02\xC8\xC9\x03\x02\x02\x02\xC9\xCC" + + "\x03\x02\x02\x02\xCA\xC8\x03\x02\x02\x02\xCB\xCD\x07\x0F\x02\x02\xCC\xCB" + + "\x03\x02\x02\x02\xCC\xCD\x03\x02\x02\x02\xCD\xCF\x03\x02\x02\x02\xCE\xD0" + + "\x07\f\x02\x02\xCF\xCE\x03\x02\x02\x02\xCF\xD0\x03\x02\x02\x02\xD0\xD1" + + "\x03\x02\x02\x02\xD1\xD2\b\v\x04\x02\xD2\x18\x03\x02\x02\x02\xD3\xD4\x07" + + "1\x02\x02\xD4\xD5\x07,\x02\x02\xD5\xDA\x03\x02\x02\x02\xD6\xD9\x05\x19" + + "\f\x02\xD7\xD9\v\x02\x02\x02\xD8\xD6\x03\x02\x02\x02\xD8\xD7\x03\x02\x02" + + "\x02\xD9\xDC\x03\x02\x02\x02\xDA\xDB\x03\x02\x02\x02\xDA\xD8\x03\x02\x02" + + "\x02\xDB\xDD\x03\x02\x02\x02\xDC\xDA\x03\x02\x02\x02\xDD\xDE\x07,\x02" + + "\x02\xDE\xDF\x071\x02\x02\xDF\xE0\x03\x02\x02\x02\xE0\xE1\b\f\x04\x02" + + "\xE1\x1A\x03\x02\x02\x02\xE2\xE4\t\x03\x02\x02\xE3\xE2\x03\x02\x02\x02" + + "\xE4\xE5\x03\x02\x02\x02\xE5\xE3\x03\x02\x02\x02\xE5\xE6\x03\x02\x02\x02" + + "\xE6\xE7\x03\x02\x02\x02\xE7\xE8\b\r\x04\x02\xE8\x1C\x03\x02\x02\x02\xE9" + + "\xEA\x07~\x02\x02\xEA\xEB\x03\x02\x02\x02\xEB\xEC\b\x0E\x05\x02\xEC\x1E" + + "\x03\x02\x02\x02\xED\xEE\t\x04\x02\x02\xEE \x03\x02\x02\x02\xEF\xF0\t" + + "\x05\x02\x02\xF0\"\x03\x02\x02\x02\xF1\xF2\x07^\x02\x02\xF2\xF3\t\x06" + + "\x02\x02\xF3$\x03\x02\x02\x02\xF4\xF5\n\x07\x02\x02\xF5&\x03\x02\x02\x02" + + "\xF6\xF8\t\b\x02\x02\xF7\xF9\t\t\x02\x02\xF8\xF7\x03\x02\x02\x02\xF8\xF9" + + "\x03\x02\x02\x02\xF9\xFB\x03\x02\x02\x02\xFA\xFC\x05\x1F\x0F\x02\xFB\xFA" + + "\x03\x02\x02\x02\xFC\xFD\x03\x02\x02\x02\xFD\xFB\x03\x02\x02\x02\xFD\xFE" + + "\x03\x02\x02\x02\xFE(\x03\x02\x02\x02\xFF\u0104\x07$\x02\x02\u0100\u0103" + + "\x05#\x11\x02\u0101\u0103\x05%\x12\x02\u0102\u0100\x03\x02\x02\x02\u0102" + + "\u0101\x03\x02\x02\x02\u0103\u0106\x03\x02\x02\x02\u0104\u0102\x03\x02" + + "\x02\x02\u0104\u0105\x03\x02\x02\x02\u0105\u0107\x03\x02\x02\x02\u0106" + + "\u0104\x03\x02\x02\x02\u0107\u011D\x07$\x02\x02\u0108\u0109\x07$\x02\x02" + + "\u0109\u010A\x07$\x02\x02\u010A\u010B\x07$\x02\x02\u010B\u010F\x03\x02" + + "\x02\x02\u010C\u010E\n\x02\x02\x02\u010D\u010C\x03\x02\x02\x02\u010E\u0111" + + "\x03\x02\x02\x02\u010F\u0110\x03\x02\x02\x02\u010F\u010D\x03\x02\x02\x02" + + "\u0110\u0112\x03\x02\x02\x02\u0111\u010F\x03\x02\x02\x02\u0112\u0113\x07" + + "$\x02\x02\u0113\u0114\x07$\x02\x02\u0114\u0115\x07$\x02\x02\u0115\u0117" + + "\x03\x02\x02\x02\u0116\u0118\x07$\x02\x02\u0117\u0116\x03\x02\x02\x02" + + "\u0117\u0118\x03\x02\x02\x02\u0118\u011A\x03\x02\x02\x02\u0119\u011B\x07" + + "$\x02\x02\u011A\u0119\x03\x02\x02\x02\u011A\u011B\x03\x02\x02\x02\u011B" + + "\u011D\x03\x02\x02\x02\u011C\xFF\x03\x02\x02\x02\u011C\u0108\x03\x02\x02" + + "\x02\u011D*\x03\x02\x02\x02\u011E\u0120\x05\x1F\x0F\x02\u011F\u011E\x03" + + "\x02\x02\x02\u0120\u0121\x03\x02\x02\x02\u0121\u011F\x03\x02\x02\x02\u0121" + + "\u0122\x03\x02\x02\x02\u0122,\x03\x02\x02\x02\u0123\u0125\x05\x1F\x0F" + + "\x02\u0124\u0123\x03\x02\x02\x02\u0125\u0126\x03\x02\x02\x02\u0126\u0124" + + "\x03\x02\x02\x02\u0126\u0127\x03\x02\x02\x02\u0127\u0128\x03\x02\x02\x02" + + "\u0128\u012C\x057\x1B\x02\u0129\u012B\x05\x1F\x0F\x02\u012A\u0129\x03" + + "\x02\x02\x02\u012B\u012E\x03\x02\x02\x02\u012C\u012A\x03\x02\x02\x02\u012C" + + "\u012D\x03\x02\x02\x02\u012D\u014E\x03\x02\x02\x02\u012E\u012C\x03\x02" + + "\x02\x02\u012F\u0131\x057\x1B\x02\u0130\u0132\x05\x1F\x0F\x02\u0131\u0130" + + "\x03\x02\x02\x02\u0132\u0133\x03\x02\x02\x02\u0133\u0131\x03\x02\x02\x02" + + "\u0133\u0134\x03\x02\x02\x02\u0134\u014E\x03\x02\x02\x02\u0135\u0137\x05" + + "\x1F\x0F\x02\u0136\u0135\x03\x02\x02\x02\u0137\u0138\x03\x02\x02\x02\u0138" + + "\u0136\x03\x02\x02\x02\u0138\u0139\x03\x02\x02\x02\u0139\u0141\x03\x02" + + "\x02\x02\u013A\u013E\x057\x1B\x02\u013B\u013D\x05\x1F\x0F\x02\u013C\u013B" + + "\x03\x02\x02\x02\u013D\u0140\x03\x02\x02\x02\u013E\u013C\x03\x02\x02\x02" + + "\u013E\u013F\x03\x02\x02\x02\u013F\u0142\x03\x02\x02\x02\u0140\u013E\x03" + + "\x02\x02\x02\u0141\u013A\x03\x02\x02\x02\u0141\u0142\x03\x02\x02\x02\u0142" + + "\u0143\x03\x02\x02\x02\u0143\u0144\x05\'\x13\x02\u0144\u014E\x03\x02\x02" + + "\x02\u0145\u0147\x057\x1B\x02\u0146\u0148\x05\x1F\x0F\x02\u0147\u0146" + + "\x03\x02\x02\x02\u0148\u0149\x03\x02\x02\x02\u0149\u0147\x03\x02\x02\x02" + + "\u0149\u014A\x03\x02\x02\x02\u014A\u014B\x03\x02\x02\x02\u014B\u014C\x05" + + "\'\x13\x02\u014C\u014E\x03\x02\x02\x02\u014D\u0124\x03\x02\x02\x02\u014D" + + "\u012F\x03\x02\x02\x02\u014D\u0136\x03\x02\x02\x02\u014D\u0145\x03\x02" + + "\x02\x02\u014E.\x03\x02\x02\x02\u014F\u0150\x07d\x02\x02\u0150\u0151\x07" + + "{\x02\x02\u01510\x03\x02\x02\x02\u0152\u0153\x07c\x02\x02\u0153\u0154" + + "\x07p\x02\x02\u0154\u0155\x07f\x02\x02\u01552\x03\x02\x02\x02\u0156\u0157" + + "\x07?\x02\x02\u01574\x03\x02\x02\x02\u0158\u0159\x07.\x02\x02\u01596\x03" + + "\x02\x02\x02\u015A\u015B\x070\x02\x02\u015B8\x03\x02\x02\x02\u015C\u015D" + + "\x07*\x02\x02\u015D:\x03\x02\x02\x02\u015E\u015F\x07]\x02\x02\u015F\u0160" + + "\x03\x02\x02\x02\u0160\u0161\b\x1D\x06\x02\u0161<\x03\x02\x02\x02\u0162" + + "\u0163\x07_\x02\x02\u0163\u0164\x03\x02\x02\x02\u0164\u0165\b\x1E\x05" + + "\x02\u0165\u0166\b\x1E\x05\x02\u0166>\x03\x02\x02\x02\u0167\u0168\x07" + + "p\x02\x02\u0168\u0169\x07q\x02\x02\u0169\u016A\x07v\x02\x02\u016A@\x03" + + "\x02\x02\x02\u016B\u016C\x07p\x02\x02\u016C\u016D\x07w\x02\x02\u016D\u016E" + + "\x07n\x02\x02\u016E\u016F\x07n\x02\x02\u016FB\x03\x02\x02\x02\u0170\u0171" + + "\x07q\x02\x02\u0171\u0172\x07t\x02\x02\u0172D\x03\x02\x02\x02\u0173\u0174" + + "\x07+\x02\x02\u0174F\x03\x02\x02\x02\u0175\u0176\x07v\x02\x02\u0176\u0177" + + "\x07t\x02\x02\u0177\u0178\x07w\x02\x02\u0178\u017F\x07g\x02\x02\u0179" + + "\u017A\x07h\x02\x02\u017A\u017B\x07c\x02\x02\u017B\u017C\x07n\x02\x02" + + "\u017C\u017D\x07u\x02\x02\u017D\u017F\x07g\x02\x02\u017E\u0175\x03\x02" + + "\x02\x02\u017E\u0179\x03\x02\x02\x02\u017FH\x03\x02\x02\x02\u0180\u0181" + + "\x07?\x02\x02\u0181\u018B\x07?\x02\x02\u0182\u0183\x07#\x02\x02\u0183" + + "\u018B\x07?\x02\x02\u0184\u018B\x07>\x02\x02\u0185\u0186\x07>\x02\x02" + + "\u0186\u018B\x07?\x02\x02\u0187\u018B\x07@\x02\x02\u0188\u0189\x07@\x02" + + "\x02\u0189\u018B\x07?\x02\x02\u018A\u0180\x03\x02\x02\x02\u018A\u0182" + + "\x03\x02\x02\x02\u018A\u0184\x03\x02\x02\x02\u018A\u0185\x03\x02\x02\x02" + + "\u018A\u0187\x03\x02\x02\x02\u018A\u0188\x03\x02\x02\x02\u018BJ\x03\x02" + + "\x02\x02\u018C\u018D\x07-\x02\x02\u018DL\x03\x02\x02\x02\u018E\u018F\x07" + + "/\x02\x02\u018FN\x03\x02\x02\x02\u0190\u0191\x07,\x02\x02\u0191P\x03\x02" + + "\x02\x02\u0192\u0193\x071\x02\x02\u0193R\x03\x02\x02\x02\u0194\u0195\x07" + + "\'\x02\x02\u0195T\x03\x02\x02\x02\u0196\u0197\x07c\x02\x02\u0197\u0198" + + "\x07u\x02\x02\u0198\u019E\x07e\x02\x02\u0199\u019A\x07f\x02\x02\u019A" + + "\u019B\x07g\x02\x02\u019B\u019C\x07u\x02\x02\u019C\u019E\x07e\x02\x02" + + "\u019D\u0196\x03\x02\x02\x02\u019D\u0199\x03\x02\x02\x02\u019EV\x03\x02" + + "\x02\x02\u019F\u01A0\x07p\x02\x02\u01A0\u01A1\x07w\x02\x02\u01A1\u01A2" + + "\x07n\x02\x02\u01A2\u01A3\x07n\x02\x02\u01A3\u01A4\x07u\x02\x02\u01A4" + + "X\x03\x02\x02\x02\u01A5\u01A6\x07h\x02\x02\u01A6\u01A7\x07k\x02\x02\u01A7" + + "\u01A8\x07t\x02\x02\u01A8\u01A9\x07u\x02\x02\u01A9\u01AF\x07v\x02\x02" + + "\u01AA\u01AB\x07n\x02\x02\u01AB\u01AC\x07c\x02\x02\u01AC\u01AD\x07u\x02" + + "\x02\u01AD\u01AF\x07v\x02\x02\u01AE\u01A5\x03\x02\x02\x02\u01AE\u01AA" + + "\x03\x02\x02\x02\u01AFZ\x03\x02\x02\x02\u01B0\u01B1\x07t\x02\x02\u01B1" + + "\u01B2\x07q\x02\x02\u01B2\u01B3\x07w\x02\x02\u01B3\u01B4\x07p\x02\x02" + + "\u01B4\u01C2\x07f\x02\x02\u01B5\u01B6\x07c\x02\x02\u01B6\u01B7\x07x\x02" + + "\x02\u01B7\u01C2\x07i\x02\x02\u01B8\u01B9\x07o\x02\x02\u01B9\u01BA\x07" + + "k\x02\x02\u01BA\u01C2\x07p\x02\x02\u01BB\u01BC\x07o\x02\x02\u01BC\u01BD" + + "\x07c\x02\x02\u01BD\u01C2\x07z\x02\x02\u01BE\u01BF\x07u\x02\x02\u01BF" + + "\u01C0\x07w\x02\x02\u01C0\u01C2\x07o\x02\x02\u01C1\u01B0\x03\x02\x02\x02" + + "\u01C1\u01B5\x03\x02\x02\x02\u01C1\u01B8\x03\x02\x02\x02\u01C1\u01BB\x03" + + "\x02\x02\x02\u01C1\u01BE\x03\x02\x02\x02\u01C2\\\x03\x02\x02\x02\u01C3" + + "\u01C6\x05!\x10\x02\u01C4\u01C6\x07a\x02\x02\u01C5\u01C3\x03\x02\x02\x02" + + "\u01C5\u01C4\x03\x02\x02\x02\u01C6\u01CC\x03\x02\x02\x02\u01C7\u01CB\x05" + + "!\x10\x02\u01C8\u01CB\x05\x1F\x0F\x02\u01C9\u01CB\x07a\x02\x02\u01CA\u01C7" + + "\x03\x02\x02\x02\u01CA\u01C8\x03\x02\x02\x02\u01CA\u01C9\x03\x02\x02\x02" + + "\u01CB\u01CE\x03\x02\x02\x02\u01CC\u01CA\x03\x02\x02\x02\u01CC\u01CD\x03" + + "\x02\x02\x02\u01CD^\x03\x02\x02\x02\u01CE\u01CC\x03\x02\x02\x02\u01CF" + + "\u01D5\x07b\x02\x02\u01D0\u01D4\n\n\x02\x02\u01D1\u01D2\x07b\x02\x02\u01D2" + + "\u01D4\x07b\x02\x02\u01D3\u01D0\x03\x02\x02\x02\u01D3\u01D1\x03\x02\x02" + + "\x02\u01D4\u01D7\x03\x02\x02\x02\u01D5\u01D3\x03\x02\x02\x02\u01D5\u01D6" + + "\x03\x02\x02\x02\u01D6\u01D8\x03\x02\x02\x02\u01D7\u01D5\x03\x02\x02\x02" + + "\u01D8\u01D9\x07b\x02\x02\u01D9`\x03\x02\x02\x02\u01DA\u01DB\x05\x17\v" + + "\x02\u01DB\u01DC\x03\x02\x02\x02\u01DC\u01DD\b0\x04\x02\u01DDb\x03\x02" + + "\x02\x02\u01DE\u01DF\x05\x19\f\x02\u01DF\u01E0\x03\x02\x02\x02\u01E0\u01E1" + + "\b1\x04\x02\u01E1d\x03\x02\x02\x02\u01E2\u01E3\x05\x1B\r\x02\u01E3\u01E4" + + "\x03\x02\x02\x02\u01E4\u01E5\b2\x04\x02\u01E5f\x03\x02\x02\x02\u01E6\u01E7" + + "\x07~\x02\x02\u01E7\u01E8\x03\x02\x02\x02\u01E8\u01E9\b3\x07\x02\u01E9" + + "\u01EA\b3\x05\x02\u01EAh\x03\x02\x02\x02\u01EB\u01EC\x07_\x02\x02\u01EC" + + "\u01ED\x03\x02\x02\x02\u01ED\u01EE\b4\x05\x02\u01EE\u01EF\b4\x05\x02\u01EF" + + "\u01F0\b4\b\x02\u01F0j\x03\x02\x02\x02\u01F1\u01F2\x07.\x02\x02\u01F2" + + "\u01F3\x03\x02\x02\x02\u01F3\u01F4\b5\t\x02\u01F4l\x03\x02\x02\x02\u01F5" + + "\u01F6\x07?\x02\x02\u01F6\u01F7\x03\x02\x02\x02\u01F7\u01F8\b6\n\x02\u01F8" + + "n\x03\x02\x02\x02\u01F9\u01FB\x05q8\x02\u01FA\u01F9\x03\x02\x02\x02\u01FB" + + "\u01FC\x03\x02\x02\x02\u01FC\u01FA\x03\x02\x02\x02\u01FC\u01FD\x03\x02" + + "\x02\x02\u01FDp\x03\x02\x02\x02\u01FE\u0200\n\v\x02\x02\u01FF\u01FE\x03" + + "\x02\x02\x02\u0200\u0201\x03\x02\x02\x02\u0201\u01FF\x03\x02\x02\x02\u0201" + + "\u0202\x03\x02\x02\x02\u0202\u0206\x03\x02\x02\x02\u0203\u0204\x071\x02" + + "\x02\u0204\u0206\n\f\x02\x02\u0205\u01FF\x03\x02\x02\x02\u0205\u0203\x03" + + "\x02\x02\x02\u0206r\x03\x02\x02\x02\u0207\u0208\x05_/\x02\u0208t\x03\x02" + + "\x02\x02\u0209\u020A\x05\x17\v\x02\u020A\u020B\x03\x02\x02\x02\u020B\u020C" + + "\b:\x04\x02\u020Cv\x03\x02\x02\x02\u020D\u020E\x05\x19\f\x02\u020E\u020F" + + "\x03\x02\x02\x02\u020F\u0210\b;\x04\x02\u0210x\x03\x02\x02\x02\u0211\u0212" + + "\x05\x1B\r\x02\u0212\u0213\x03\x02\x02\x02\u0213\u0214\b<\x04\x02\u0214" + + "z\x03\x02\x02\x02)\x02\x03\x04\xC8\xCC\xCF\xD8\xDA\xE5\xF8\xFD\u0102\u0104" + + "\u010F\u0117\u011A\u011C\u0121\u0126\u012C\u0133\u0138\u013E\u0141\u0149" + + "\u014D\u017E\u018A\u019D\u01AE\u01C1\u01C5\u01CA\u01CC\u01D3\u01D5\u01FC" + + "\u0201\u0205\v\x07\x03\x02\x07\x04\x02\x02\x03\x02\x06\x02\x02\x07\x02" + + "\x02\t\x0F\x02\t\x1A\x02\t\x16\x02\t\x15\x02"; public static __ATN: ATN; public static get _ATN(): ATN { if (!esql_lexer.__ATN) { diff --git a/packages/kbn-monaco/src/esql/antlr/esql_parser.g4 b/packages/kbn-monaco/src/esql/antlr/esql_parser.g4 index f3141d22c5c8b..6196874af91bd 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_parser.g4 +++ b/packages/kbn-monaco/src/esql/antlr/esql_parser.g4 @@ -39,30 +39,38 @@ whereCommand ; booleanExpression - : NOT booleanExpression #logicalNot - | valueExpression #booleanDefault - | left=booleanExpression operator=AND right=booleanExpression #logicalBinary - | left=booleanExpression operator=OR right=booleanExpression #logicalBinary + : NOT booleanExpression + | valueExpression + | left=booleanExpression operator=AND right=booleanExpression + | left=booleanExpression operator=OR right=booleanExpression ; valueExpression - : functionIdentifier LP (functionExpressionArgument (COMMA functionExpressionArgument)*)? RP #valueFunctionExpression - | operatorExpression #valueExpressionDefault - | left=operatorExpression comparisonOperator right=operatorExpression #comparison + : operatorExpression + | comparison + ; + +comparison + : left=operatorExpression comparisonOperator right=operatorExpression + ; + +mathFn + : functionIdentifier LP (functionExpressionArgument (COMMA functionExpressionArgument)*)? RP ; operatorExpression - : primaryExpression #operatorExpressionDefault - | operator=(MINUS | PLUS) operatorExpression #arithmeticUnary - | left=operatorExpression operator=(ASTERISK | SLASH | PERCENT) right=operatorExpression #arithmeticBinary - | left=operatorExpression operator=(PLUS | MINUS) right=operatorExpression #arithmeticBinary + : primaryExpression + | mathFn + | operator=(MINUS | PLUS) operatorExpression + | left=operatorExpression operator=(ASTERISK | SLASH | PERCENT) right=operatorExpression + | left=operatorExpression operator=(PLUS | MINUS) right=operatorExpression ; primaryExpression - : constant #constantDefault - | qualifiedName #dereference - | LP booleanExpression RP #parenthesizedExpression - | identifier LP (booleanExpression (COMMA booleanExpression)*)? RP #functionExpression + : constant + | qualifiedName + | LP booleanExpression RP + | identifier LP (booleanExpression (COMMA booleanExpression)*)? RP ; rowCommand @@ -74,11 +82,14 @@ fields ; field - : qualifiedName ASSIGN valueExpression - | booleanExpression - | qualifiedName ASSIGN booleanExpression + : booleanExpression + | userVariable ASSIGN booleanExpression ; +userVariable + : identifier + ; + fromCommand : FROM sourceIdentifier (COMMA sourceIdentifier)* ; @@ -115,14 +126,9 @@ identifier ; functionIdentifier - : ROUND_FUNCTION_MATH - | AVG_FUNCTION_MATH - | SUM_FUNCTION_MATH - | MIN_FUNCTION_MATH - | MAX_FUNCTION_MATH + : UNARY_FUNCTION ; - constant : NULL #nullLiteral | number #numericLiteral @@ -139,7 +145,7 @@ sortCommand ; orderExpression - : booleanExpression ordering=(ASC | DESC)? (NULLS nullOrdering=(FIRST | LAST))? + : booleanExpression (ORDERING)? (NULLS_ORDERING (NULLS_ORDERING_DIRECTION))? ; projectCommand @@ -152,7 +158,7 @@ projectClause ; booleanValue - : TRUE | FALSE + : BOOLEAN_VALUE ; number @@ -165,7 +171,7 @@ string ; comparisonOperator - : EQ | NEQ | LT | LTE | GT | GTE + : COMPARISON_OPERATOR ; explainCommand diff --git a/packages/kbn-monaco/src/esql/antlr/esql_parser.interp b/packages/kbn-monaco/src/esql/antlr/esql_parser.interp index 8355a7acb9fb0..39dc1a09fb8ba 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_parser.interp +++ b/packages/kbn-monaco/src/esql/antlr/esql_parser.interp @@ -18,39 +18,26 @@ null null 'by' 'and' -'asc' null null -'desc' '.' -'false' -'first' -'last' '(' '[' ']' 'not' 'null' -'nulls' 'or' ')' -'true' -'==' -'!=' -'<' -'<=' -'>' -'>=' +null +null '+' '-' '*' '/' '%' -'round' -'avg' -'sum' -'min' -'max' +null +'nulls' +null null null null @@ -83,39 +70,27 @@ INTEGER_LITERAL DECIMAL_LITERAL BY AND -ASC ASSIGN COMMA -DESC DOT -FALSE -FIRST -LAST LP OPENING_BRACKET CLOSING_BRACKET NOT NULL -NULLS OR RP -TRUE -EQ -NEQ -LT -LTE -GT -GTE +BOOLEAN_VALUE +COMPARISON_OPERATOR PLUS MINUS ASTERISK SLASH PERCENT -ROUND_FUNCTION_MATH -AVG_FUNCTION_MATH -SUM_FUNCTION_MATH -MIN_FUNCTION_MATH -MAX_FUNCTION_MATH +ORDERING +NULLS_ORDERING +NULLS_ORDERING_DIRECTION +UNARY_FUNCTION UNQUOTED_IDENTIFIER QUOTED_IDENTIFIER EXPR_LINE_COMMENT @@ -126,7 +101,6 @@ SRC_QUOTED_IDENTIFIER SRC_LINE_COMMENT SRC_MULTILINE_COMMENT SRC_WS -UNKNOWN_CMD rule names: singleStatement @@ -136,11 +110,14 @@ processingCommand whereCommand booleanExpression valueExpression +comparison +mathFn operatorExpression primaryExpression rowCommand fields field +userVariable fromCommand evalCommand statsCommand @@ -165,4 +142,4 @@ subqueryExpression atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 64, 301, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 78, 10, 3, 12, 3, 14, 3, 81, 11, 3, 3, 4, 3, 4, 3, 4, 5, 4, 86, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 94, 10, 5, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 103, 10, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 111, 10, 7, 12, 7, 14, 7, 114, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 7, 8, 121, 10, 8, 12, 8, 14, 8, 124, 11, 8, 5, 8, 126, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 135, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 141, 10, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 7, 9, 149, 10, 9, 12, 9, 14, 9, 152, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 7, 10, 165, 10, 10, 12, 10, 14, 10, 168, 11, 10, 5, 10, 170, 10, 10, 3, 10, 3, 10, 5, 10, 174, 10, 10, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 182, 10, 12, 12, 12, 14, 12, 185, 11, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 196, 10, 13, 3, 14, 3, 14, 3, 14, 3, 14, 7, 14, 202, 10, 14, 12, 14, 14, 14, 205, 11, 14, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 214, 10, 16, 3, 17, 3, 17, 3, 18, 3, 18, 5, 18, 220, 10, 18, 3, 19, 3, 19, 3, 19, 7, 19, 225, 10, 19, 12, 19, 14, 19, 228, 11, 19, 3, 20, 3, 20, 3, 20, 7, 20, 233, 10, 20, 12, 20, 14, 20, 236, 11, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 246, 10, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 255, 10, 25, 12, 25, 14, 25, 258, 11, 25, 3, 26, 3, 26, 5, 26, 262, 10, 26, 3, 26, 3, 26, 5, 26, 266, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 7, 27, 272, 10, 27, 12, 27, 14, 27, 275, 11, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 282, 10, 28, 3, 29, 3, 29, 3, 30, 3, 30, 5, 30, 288, 10, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 2, 2, 5, 4, 12, 16, 35, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 46, 2, 48, 2, 50, 2, 52, 2, 54, 2, 56, 2, 58, 2, 60, 2, 62, 2, 64, 2, 66, 2, 2, 11, 3, 2, 44, 45, 3, 2, 46, 48, 3, 2, 59, 60, 3, 2, 54, 55, 3, 2, 49, 53, 4, 2, 21, 21, 24, 24, 3, 2, 27, 28, 4, 2, 26, 26, 37, 37, 3, 2, 38, 43, 2, 307, 2, 68, 3, 2, 2, 2, 4, 71, 3, 2, 2, 2, 6, 85, 3, 2, 2, 2, 8, 93, 3, 2, 2, 2, 10, 95, 3, 2, 2, 2, 12, 102, 3, 2, 2, 2, 14, 134, 3, 2, 2, 2, 16, 140, 3, 2, 2, 2, 18, 173, 3, 2, 2, 2, 20, 175, 3, 2, 2, 2, 22, 178, 3, 2, 2, 2, 24, 195, 3, 2, 2, 2, 26, 197, 3, 2, 2, 2, 28, 206, 3, 2, 2, 2, 30, 209, 3, 2, 2, 2, 32, 215, 3, 2, 2, 2, 34, 219, 3, 2, 2, 2, 36, 221, 3, 2, 2, 2, 38, 229, 3, 2, 2, 2, 40, 237, 3, 2, 2, 2, 42, 239, 3, 2, 2, 2, 44, 245, 3, 2, 2, 2, 46, 247, 3, 2, 2, 2, 48, 250, 3, 2, 2, 2, 50, 259, 3, 2, 2, 2, 52, 267, 3, 2, 2, 2, 54, 281, 3, 2, 2, 2, 56, 283, 3, 2, 2, 2, 58, 287, 3, 2, 2, 2, 60, 289, 3, 2, 2, 2, 62, 291, 3, 2, 2, 2, 64, 293, 3, 2, 2, 2, 66, 296, 3, 2, 2, 2, 68, 69, 5, 4, 3, 2, 69, 70, 7, 2, 2, 3, 70, 3, 3, 2, 2, 2, 71, 72, 8, 3, 1, 2, 72, 73, 5, 6, 4, 2, 73, 79, 3, 2, 2, 2, 74, 75, 12, 3, 2, 2, 75, 76, 7, 15, 2, 2, 76, 78, 5, 8, 5, 2, 77, 74, 3, 2, 2, 2, 78, 81, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 5, 3, 2, 2, 2, 81, 79, 3, 2, 2, 2, 82, 86, 5, 64, 33, 2, 83, 86, 5, 26, 14, 2, 84, 86, 5, 20, 11, 2, 85, 82, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 84, 3, 2, 2, 2, 86, 7, 3, 2, 2, 2, 87, 94, 5, 28, 15, 2, 88, 94, 5, 46, 24, 2, 89, 94, 5, 52, 27, 2, 90, 94, 5, 48, 25, 2, 91, 94, 5, 30, 16, 2, 92, 94, 5, 10, 6, 2, 93, 87, 3, 2, 2, 2, 93, 88, 3, 2, 2, 2, 93, 89, 3, 2, 2, 2, 93, 90, 3, 2, 2, 2, 93, 91, 3, 2, 2, 2, 93, 92, 3, 2, 2, 2, 94, 9, 3, 2, 2, 2, 95, 96, 7, 8, 2, 2, 96, 97, 5, 12, 7, 2, 97, 11, 3, 2, 2, 2, 98, 99, 8, 7, 1, 2, 99, 100, 7, 32, 2, 2, 100, 103, 5, 12, 7, 6, 101, 103, 5, 14, 8, 2, 102, 98, 3, 2, 2, 2, 102, 101, 3, 2, 2, 2, 103, 112, 3, 2, 2, 2, 104, 105, 12, 4, 2, 2, 105, 106, 7, 20, 2, 2, 106, 111, 5, 12, 7, 5, 107, 108, 12, 3, 2, 2, 108, 109, 7, 35, 2, 2, 109, 111, 5, 12, 7, 4, 110, 104, 3, 2, 2, 2, 110, 107, 3, 2, 2, 2, 111, 114, 3, 2, 2, 2, 112, 110, 3, 2, 2, 2, 112, 113, 3, 2, 2, 2, 113, 13, 3, 2, 2, 2, 114, 112, 3, 2, 2, 2, 115, 116, 5, 42, 22, 2, 116, 125, 7, 29, 2, 2, 117, 122, 5, 34, 18, 2, 118, 119, 7, 23, 2, 2, 119, 121, 5, 34, 18, 2, 120, 118, 3, 2, 2, 2, 121, 124, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 122, 123, 3, 2, 2, 2, 123, 126, 3, 2, 2, 2, 124, 122, 3, 2, 2, 2, 125, 117, 3, 2, 2, 2, 125, 126, 3, 2, 2, 2, 126, 127, 3, 2, 2, 2, 127, 128, 7, 36, 2, 2, 128, 135, 3, 2, 2, 2, 129, 135, 5, 16, 9, 2, 130, 131, 5, 16, 9, 2, 131, 132, 5, 62, 32, 2, 132, 133, 5, 16, 9, 2, 133, 135, 3, 2, 2, 2, 134, 115, 3, 2, 2, 2, 134, 129, 3, 2, 2, 2, 134, 130, 3, 2, 2, 2, 135, 15, 3, 2, 2, 2, 136, 137, 8, 9, 1, 2, 137, 141, 5, 18, 10, 2, 138, 139, 9, 2, 2, 2, 139, 141, 5, 16, 9, 5, 140, 136, 3, 2, 2, 2, 140, 138, 3, 2, 2, 2, 141, 150, 3, 2, 2, 2, 142, 143, 12, 4, 2, 2, 143, 144, 9, 3, 2, 2, 144, 149, 5, 16, 9, 5, 145, 146, 12, 3, 2, 2, 146, 147, 9, 2, 2, 2, 147, 149, 5, 16, 9, 4, 148, 142, 3, 2, 2, 2, 148, 145, 3, 2, 2, 2, 149, 152, 3, 2, 2, 2, 150, 148, 3, 2, 2, 2, 150, 151, 3, 2, 2, 2, 151, 17, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 153, 174, 5, 44, 23, 2, 154, 174, 5, 36, 19, 2, 155, 156, 7, 29, 2, 2, 156, 157, 5, 12, 7, 2, 157, 158, 7, 36, 2, 2, 158, 174, 3, 2, 2, 2, 159, 160, 5, 40, 21, 2, 160, 169, 7, 29, 2, 2, 161, 166, 5, 12, 7, 2, 162, 163, 7, 23, 2, 2, 163, 165, 5, 12, 7, 2, 164, 162, 3, 2, 2, 2, 165, 168, 3, 2, 2, 2, 166, 164, 3, 2, 2, 2, 166, 167, 3, 2, 2, 2, 167, 170, 3, 2, 2, 2, 168, 166, 3, 2, 2, 2, 169, 161, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 171, 3, 2, 2, 2, 171, 172, 7, 36, 2, 2, 172, 174, 3, 2, 2, 2, 173, 153, 3, 2, 2, 2, 173, 154, 3, 2, 2, 2, 173, 155, 3, 2, 2, 2, 173, 159, 3, 2, 2, 2, 174, 19, 3, 2, 2, 2, 175, 176, 7, 6, 2, 2, 176, 177, 5, 22, 12, 2, 177, 21, 3, 2, 2, 2, 178, 183, 5, 24, 13, 2, 179, 180, 7, 23, 2, 2, 180, 182, 5, 24, 13, 2, 181, 179, 3, 2, 2, 2, 182, 185, 3, 2, 2, 2, 183, 181, 3, 2, 2, 2, 183, 184, 3, 2, 2, 2, 184, 23, 3, 2, 2, 2, 185, 183, 3, 2, 2, 2, 186, 187, 5, 36, 19, 2, 187, 188, 7, 22, 2, 2, 188, 189, 5, 14, 8, 2, 189, 196, 3, 2, 2, 2, 190, 196, 5, 12, 7, 2, 191, 192, 5, 36, 19, 2, 192, 193, 7, 22, 2, 2, 193, 194, 5, 12, 7, 2, 194, 196, 3, 2, 2, 2, 195, 186, 3, 2, 2, 2, 195, 190, 3, 2, 2, 2, 195, 191, 3, 2, 2, 2, 196, 25, 3, 2, 2, 2, 197, 198, 7, 5, 2, 2, 198, 203, 5, 32, 17, 2, 199, 200, 7, 23, 2, 2, 200, 202, 5, 32, 17, 2, 201, 199, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 27, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 7, 3, 2, 2, 207, 208, 5, 22, 12, 2, 208, 29, 3, 2, 2, 2, 209, 210, 7, 7, 2, 2, 210, 213, 5, 22, 12, 2, 211, 212, 7, 19, 2, 2, 212, 214, 5, 38, 20, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 31, 3, 2, 2, 2, 215, 216, 9, 4, 2, 2, 216, 33, 3, 2, 2, 2, 217, 220, 5, 36, 19, 2, 218, 220, 5, 60, 31, 2, 219, 217, 3, 2, 2, 2, 219, 218, 3, 2, 2, 2, 220, 35, 3, 2, 2, 2, 221, 226, 5, 40, 21, 2, 222, 223, 7, 25, 2, 2, 223, 225, 5, 40, 21, 2, 224, 222, 3, 2, 2, 2, 225, 228, 3, 2, 2, 2, 226, 224, 3, 2, 2, 2, 226, 227, 3, 2, 2, 2, 227, 37, 3, 2, 2, 2, 228, 226, 3, 2, 2, 2, 229, 234, 5, 36, 19, 2, 230, 231, 7, 23, 2, 2, 231, 233, 5, 36, 19, 2, 232, 230, 3, 2, 2, 2, 233, 236, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 234, 235, 3, 2, 2, 2, 235, 39, 3, 2, 2, 2, 236, 234, 3, 2, 2, 2, 237, 238, 9, 5, 2, 2, 238, 41, 3, 2, 2, 2, 239, 240, 9, 6, 2, 2, 240, 43, 3, 2, 2, 2, 241, 246, 7, 33, 2, 2, 242, 246, 5, 58, 30, 2, 243, 246, 5, 56, 29, 2, 244, 246, 5, 60, 31, 2, 245, 241, 3, 2, 2, 2, 245, 242, 3, 2, 2, 2, 245, 243, 3, 2, 2, 2, 245, 244, 3, 2, 2, 2, 246, 45, 3, 2, 2, 2, 247, 248, 7, 10, 2, 2, 248, 249, 7, 17, 2, 2, 249, 47, 3, 2, 2, 2, 250, 251, 7, 9, 2, 2, 251, 256, 5, 50, 26, 2, 252, 253, 7, 23, 2, 2, 253, 255, 5, 50, 26, 2, 254, 252, 3, 2, 2, 2, 255, 258, 3, 2, 2, 2, 256, 254, 3, 2, 2, 2, 256, 257, 3, 2, 2, 2, 257, 49, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 259, 261, 5, 12, 7, 2, 260, 262, 9, 7, 2, 2, 261, 260, 3, 2, 2, 2, 261, 262, 3, 2, 2, 2, 262, 265, 3, 2, 2, 2, 263, 264, 7, 34, 2, 2, 264, 266, 9, 8, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 51, 3, 2, 2, 2, 267, 268, 7, 11, 2, 2, 268, 273, 5, 54, 28, 2, 269, 270, 7, 23, 2, 2, 270, 272, 5, 54, 28, 2, 271, 269, 3, 2, 2, 2, 272, 275, 3, 2, 2, 2, 273, 271, 3, 2, 2, 2, 273, 274, 3, 2, 2, 2, 274, 53, 3, 2, 2, 2, 275, 273, 3, 2, 2, 2, 276, 282, 5, 32, 17, 2, 277, 278, 5, 32, 17, 2, 278, 279, 7, 22, 2, 2, 279, 280, 5, 32, 17, 2, 280, 282, 3, 2, 2, 2, 281, 276, 3, 2, 2, 2, 281, 277, 3, 2, 2, 2, 282, 55, 3, 2, 2, 2, 283, 284, 9, 9, 2, 2, 284, 57, 3, 2, 2, 2, 285, 288, 7, 18, 2, 2, 286, 288, 7, 17, 2, 2, 287, 285, 3, 2, 2, 2, 287, 286, 3, 2, 2, 2, 288, 59, 3, 2, 2, 2, 289, 290, 7, 16, 2, 2, 290, 61, 3, 2, 2, 2, 291, 292, 9, 10, 2, 2, 292, 63, 3, 2, 2, 2, 293, 294, 7, 4, 2, 2, 294, 295, 5, 66, 34, 2, 295, 65, 3, 2, 2, 2, 296, 297, 7, 30, 2, 2, 297, 298, 5, 4, 3, 2, 298, 299, 7, 31, 2, 2, 299, 67, 3, 2, 2, 2, 31, 79, 85, 93, 102, 110, 112, 122, 125, 134, 140, 148, 150, 166, 169, 173, 183, 195, 203, 213, 219, 226, 234, 245, 256, 261, 265, 273, 281, 287] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 51, 307, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 84, 10, 3, 12, 3, 14, 3, 87, 11, 3, 3, 4, 3, 4, 3, 4, 5, 4, 92, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 100, 10, 5, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 109, 10, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 117, 10, 7, 12, 7, 14, 7, 120, 11, 7, 3, 8, 3, 8, 5, 8, 124, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 7, 10, 135, 10, 10, 12, 10, 14, 10, 138, 11, 10, 5, 10, 140, 10, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 149, 10, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 157, 10, 11, 12, 11, 14, 11, 160, 11, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 7, 12, 173, 10, 12, 12, 12, 14, 12, 176, 11, 12, 5, 12, 178, 10, 12, 3, 12, 3, 12, 5, 12, 182, 10, 12, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 7, 14, 190, 10, 14, 12, 14, 14, 14, 193, 11, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 200, 10, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 7, 17, 208, 10, 17, 12, 17, 14, 17, 211, 11, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 220, 10, 19, 3, 20, 3, 20, 3, 21, 3, 21, 5, 21, 226, 10, 21, 3, 22, 3, 22, 3, 22, 7, 22, 231, 10, 22, 12, 22, 14, 22, 234, 11, 22, 3, 23, 3, 23, 3, 23, 7, 23, 239, 10, 23, 12, 23, 14, 23, 242, 11, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 5, 26, 252, 10, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 7, 28, 261, 10, 28, 12, 28, 14, 28, 264, 11, 28, 3, 29, 3, 29, 5, 29, 268, 10, 29, 3, 29, 3, 29, 5, 29, 272, 10, 29, 3, 30, 3, 30, 3, 30, 3, 30, 7, 30, 278, 10, 30, 12, 30, 14, 30, 281, 11, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 5, 31, 288, 10, 31, 3, 32, 3, 32, 3, 33, 3, 33, 5, 33, 294, 10, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 2, 2, 5, 4, 12, 20, 38, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 46, 2, 48, 2, 50, 2, 52, 2, 54, 2, 56, 2, 58, 2, 60, 2, 62, 2, 64, 2, 66, 2, 68, 2, 70, 2, 72, 2, 2, 6, 3, 2, 33, 34, 3, 2, 35, 37, 3, 2, 47, 48, 3, 2, 42, 43, 2, 309, 2, 74, 3, 2, 2, 2, 4, 77, 3, 2, 2, 2, 6, 91, 3, 2, 2, 2, 8, 99, 3, 2, 2, 2, 10, 101, 3, 2, 2, 2, 12, 108, 3, 2, 2, 2, 14, 123, 3, 2, 2, 2, 16, 125, 3, 2, 2, 2, 18, 129, 3, 2, 2, 2, 20, 148, 3, 2, 2, 2, 22, 181, 3, 2, 2, 2, 24, 183, 3, 2, 2, 2, 26, 186, 3, 2, 2, 2, 28, 199, 3, 2, 2, 2, 30, 201, 3, 2, 2, 2, 32, 203, 3, 2, 2, 2, 34, 212, 3, 2, 2, 2, 36, 215, 3, 2, 2, 2, 38, 221, 3, 2, 2, 2, 40, 225, 3, 2, 2, 2, 42, 227, 3, 2, 2, 2, 44, 235, 3, 2, 2, 2, 46, 243, 3, 2, 2, 2, 48, 245, 3, 2, 2, 2, 50, 251, 3, 2, 2, 2, 52, 253, 3, 2, 2, 2, 54, 256, 3, 2, 2, 2, 56, 265, 3, 2, 2, 2, 58, 273, 3, 2, 2, 2, 60, 287, 3, 2, 2, 2, 62, 289, 3, 2, 2, 2, 64, 293, 3, 2, 2, 2, 66, 295, 3, 2, 2, 2, 68, 297, 3, 2, 2, 2, 70, 299, 3, 2, 2, 2, 72, 302, 3, 2, 2, 2, 74, 75, 5, 4, 3, 2, 75, 76, 7, 2, 2, 3, 76, 3, 3, 2, 2, 2, 77, 78, 8, 3, 1, 2, 78, 79, 5, 6, 4, 2, 79, 85, 3, 2, 2, 2, 80, 81, 12, 3, 2, 2, 81, 82, 7, 15, 2, 2, 82, 84, 5, 8, 5, 2, 83, 80, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 5, 3, 2, 2, 2, 87, 85, 3, 2, 2, 2, 88, 92, 5, 70, 36, 2, 89, 92, 5, 32, 17, 2, 90, 92, 5, 24, 13, 2, 91, 88, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 91, 90, 3, 2, 2, 2, 92, 7, 3, 2, 2, 2, 93, 100, 5, 34, 18, 2, 94, 100, 5, 52, 27, 2, 95, 100, 5, 58, 30, 2, 96, 100, 5, 54, 28, 2, 97, 100, 5, 36, 19, 2, 98, 100, 5, 10, 6, 2, 99, 93, 3, 2, 2, 2, 99, 94, 3, 2, 2, 2, 99, 95, 3, 2, 2, 2, 99, 96, 3, 2, 2, 2, 99, 97, 3, 2, 2, 2, 99, 98, 3, 2, 2, 2, 100, 9, 3, 2, 2, 2, 101, 102, 7, 8, 2, 2, 102, 103, 5, 12, 7, 2, 103, 11, 3, 2, 2, 2, 104, 105, 8, 7, 1, 2, 105, 106, 7, 27, 2, 2, 106, 109, 5, 12, 7, 6, 107, 109, 5, 14, 8, 2, 108, 104, 3, 2, 2, 2, 108, 107, 3, 2, 2, 2, 109, 118, 3, 2, 2, 2, 110, 111, 12, 4, 2, 2, 111, 112, 7, 20, 2, 2, 112, 117, 5, 12, 7, 5, 113, 114, 12, 3, 2, 2, 114, 115, 7, 29, 2, 2, 115, 117, 5, 12, 7, 4, 116, 110, 3, 2, 2, 2, 116, 113, 3, 2, 2, 2, 117, 120, 3, 2, 2, 2, 118, 116, 3, 2, 2, 2, 118, 119, 3, 2, 2, 2, 119, 13, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 121, 124, 5, 20, 11, 2, 122, 124, 5, 16, 9, 2, 123, 121, 3, 2, 2, 2, 123, 122, 3, 2, 2, 2, 124, 15, 3, 2, 2, 2, 125, 126, 5, 20, 11, 2, 126, 127, 5, 68, 35, 2, 127, 128, 5, 20, 11, 2, 128, 17, 3, 2, 2, 2, 129, 130, 5, 48, 25, 2, 130, 139, 7, 24, 2, 2, 131, 136, 5, 40, 21, 2, 132, 133, 7, 22, 2, 2, 133, 135, 5, 40, 21, 2, 134, 132, 3, 2, 2, 2, 135, 138, 3, 2, 2, 2, 136, 134, 3, 2, 2, 2, 136, 137, 3, 2, 2, 2, 137, 140, 3, 2, 2, 2, 138, 136, 3, 2, 2, 2, 139, 131, 3, 2, 2, 2, 139, 140, 3, 2, 2, 2, 140, 141, 3, 2, 2, 2, 141, 142, 7, 30, 2, 2, 142, 19, 3, 2, 2, 2, 143, 144, 8, 11, 1, 2, 144, 149, 5, 22, 12, 2, 145, 149, 5, 18, 10, 2, 146, 147, 9, 2, 2, 2, 147, 149, 5, 20, 11, 5, 148, 143, 3, 2, 2, 2, 148, 145, 3, 2, 2, 2, 148, 146, 3, 2, 2, 2, 149, 158, 3, 2, 2, 2, 150, 151, 12, 4, 2, 2, 151, 152, 9, 3, 2, 2, 152, 157, 5, 20, 11, 5, 153, 154, 12, 3, 2, 2, 154, 155, 9, 2, 2, 2, 155, 157, 5, 20, 11, 4, 156, 150, 3, 2, 2, 2, 156, 153, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 159, 21, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 182, 5, 50, 26, 2, 162, 182, 5, 42, 22, 2, 163, 164, 7, 24, 2, 2, 164, 165, 5, 12, 7, 2, 165, 166, 7, 30, 2, 2, 166, 182, 3, 2, 2, 2, 167, 168, 5, 46, 24, 2, 168, 177, 7, 24, 2, 2, 169, 174, 5, 12, 7, 2, 170, 171, 7, 22, 2, 2, 171, 173, 5, 12, 7, 2, 172, 170, 3, 2, 2, 2, 173, 176, 3, 2, 2, 2, 174, 172, 3, 2, 2, 2, 174, 175, 3, 2, 2, 2, 175, 178, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 177, 169, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 180, 7, 30, 2, 2, 180, 182, 3, 2, 2, 2, 181, 161, 3, 2, 2, 2, 181, 162, 3, 2, 2, 2, 181, 163, 3, 2, 2, 2, 181, 167, 3, 2, 2, 2, 182, 23, 3, 2, 2, 2, 183, 184, 7, 6, 2, 2, 184, 185, 5, 26, 14, 2, 185, 25, 3, 2, 2, 2, 186, 191, 5, 28, 15, 2, 187, 188, 7, 22, 2, 2, 188, 190, 5, 28, 15, 2, 189, 187, 3, 2, 2, 2, 190, 193, 3, 2, 2, 2, 191, 189, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 27, 3, 2, 2, 2, 193, 191, 3, 2, 2, 2, 194, 200, 5, 12, 7, 2, 195, 196, 5, 30, 16, 2, 196, 197, 7, 21, 2, 2, 197, 198, 5, 12, 7, 2, 198, 200, 3, 2, 2, 2, 199, 194, 3, 2, 2, 2, 199, 195, 3, 2, 2, 2, 200, 29, 3, 2, 2, 2, 201, 202, 5, 46, 24, 2, 202, 31, 3, 2, 2, 2, 203, 204, 7, 5, 2, 2, 204, 209, 5, 38, 20, 2, 205, 206, 7, 22, 2, 2, 206, 208, 5, 38, 20, 2, 207, 205, 3, 2, 2, 2, 208, 211, 3, 2, 2, 2, 209, 207, 3, 2, 2, 2, 209, 210, 3, 2, 2, 2, 210, 33, 3, 2, 2, 2, 211, 209, 3, 2, 2, 2, 212, 213, 7, 3, 2, 2, 213, 214, 5, 26, 14, 2, 214, 35, 3, 2, 2, 2, 215, 216, 7, 7, 2, 2, 216, 219, 5, 26, 14, 2, 217, 218, 7, 19, 2, 2, 218, 220, 5, 44, 23, 2, 219, 217, 3, 2, 2, 2, 219, 220, 3, 2, 2, 2, 220, 37, 3, 2, 2, 2, 221, 222, 9, 4, 2, 2, 222, 39, 3, 2, 2, 2, 223, 226, 5, 42, 22, 2, 224, 226, 5, 66, 34, 2, 225, 223, 3, 2, 2, 2, 225, 224, 3, 2, 2, 2, 226, 41, 3, 2, 2, 2, 227, 232, 5, 46, 24, 2, 228, 229, 7, 23, 2, 2, 229, 231, 5, 46, 24, 2, 230, 228, 3, 2, 2, 2, 231, 234, 3, 2, 2, 2, 232, 230, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 43, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 235, 240, 5, 42, 22, 2, 236, 237, 7, 22, 2, 2, 237, 239, 5, 42, 22, 2, 238, 236, 3, 2, 2, 2, 239, 242, 3, 2, 2, 2, 240, 238, 3, 2, 2, 2, 240, 241, 3, 2, 2, 2, 241, 45, 3, 2, 2, 2, 242, 240, 3, 2, 2, 2, 243, 244, 9, 5, 2, 2, 244, 47, 3, 2, 2, 2, 245, 246, 7, 41, 2, 2, 246, 49, 3, 2, 2, 2, 247, 252, 7, 28, 2, 2, 248, 252, 5, 64, 33, 2, 249, 252, 5, 62, 32, 2, 250, 252, 5, 66, 34, 2, 251, 247, 3, 2, 2, 2, 251, 248, 3, 2, 2, 2, 251, 249, 3, 2, 2, 2, 251, 250, 3, 2, 2, 2, 252, 51, 3, 2, 2, 2, 253, 254, 7, 10, 2, 2, 254, 255, 7, 17, 2, 2, 255, 53, 3, 2, 2, 2, 256, 257, 7, 9, 2, 2, 257, 262, 5, 56, 29, 2, 258, 259, 7, 22, 2, 2, 259, 261, 5, 56, 29, 2, 260, 258, 3, 2, 2, 2, 261, 264, 3, 2, 2, 2, 262, 260, 3, 2, 2, 2, 262, 263, 3, 2, 2, 2, 263, 55, 3, 2, 2, 2, 264, 262, 3, 2, 2, 2, 265, 267, 5, 12, 7, 2, 266, 268, 7, 38, 2, 2, 267, 266, 3, 2, 2, 2, 267, 268, 3, 2, 2, 2, 268, 271, 3, 2, 2, 2, 269, 270, 7, 39, 2, 2, 270, 272, 7, 40, 2, 2, 271, 269, 3, 2, 2, 2, 271, 272, 3, 2, 2, 2, 272, 57, 3, 2, 2, 2, 273, 274, 7, 11, 2, 2, 274, 279, 5, 60, 31, 2, 275, 276, 7, 22, 2, 2, 276, 278, 5, 60, 31, 2, 277, 275, 3, 2, 2, 2, 278, 281, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 59, 3, 2, 2, 2, 281, 279, 3, 2, 2, 2, 282, 288, 5, 38, 20, 2, 283, 284, 5, 38, 20, 2, 284, 285, 7, 21, 2, 2, 285, 286, 5, 38, 20, 2, 286, 288, 3, 2, 2, 2, 287, 282, 3, 2, 2, 2, 287, 283, 3, 2, 2, 2, 288, 61, 3, 2, 2, 2, 289, 290, 7, 31, 2, 2, 290, 63, 3, 2, 2, 2, 291, 294, 7, 18, 2, 2, 292, 294, 7, 17, 2, 2, 293, 291, 3, 2, 2, 2, 293, 292, 3, 2, 2, 2, 294, 65, 3, 2, 2, 2, 295, 296, 7, 16, 2, 2, 296, 67, 3, 2, 2, 2, 297, 298, 7, 32, 2, 2, 298, 69, 3, 2, 2, 2, 299, 300, 7, 4, 2, 2, 300, 301, 5, 72, 37, 2, 301, 71, 3, 2, 2, 2, 302, 303, 7, 25, 2, 2, 303, 304, 5, 4, 3, 2, 304, 305, 7, 26, 2, 2, 305, 73, 3, 2, 2, 2, 31, 85, 91, 99, 108, 116, 118, 123, 136, 139, 148, 156, 158, 174, 177, 181, 191, 199, 209, 219, 225, 232, 240, 251, 262, 267, 271, 279, 287, 293] \ No newline at end of file diff --git a/packages/kbn-monaco/src/esql/antlr/esql_parser.tokens b/packages/kbn-monaco/src/esql/antlr/esql_parser.tokens index b39004ce4ce32..c2dafff2f222c 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_parser.tokens +++ b/packages/kbn-monaco/src/esql/antlr/esql_parser.tokens @@ -16,50 +16,37 @@ INTEGER_LITERAL=15 DECIMAL_LITERAL=16 BY=17 AND=18 -ASC=19 -ASSIGN=20 -COMMA=21 -DESC=22 -DOT=23 -FALSE=24 -FIRST=25 -LAST=26 -LP=27 -OPENING_BRACKET=28 -CLOSING_BRACKET=29 -NOT=30 -NULL=31 -NULLS=32 -OR=33 -RP=34 -TRUE=35 -EQ=36 -NEQ=37 -LT=38 -LTE=39 -GT=40 -GTE=41 -PLUS=42 -MINUS=43 -ASTERISK=44 -SLASH=45 -PERCENT=46 -ROUND_FUNCTION_MATH=47 -AVG_FUNCTION_MATH=48 -SUM_FUNCTION_MATH=49 -MIN_FUNCTION_MATH=50 -MAX_FUNCTION_MATH=51 -UNQUOTED_IDENTIFIER=52 -QUOTED_IDENTIFIER=53 -EXPR_LINE_COMMENT=54 -EXPR_MULTILINE_COMMENT=55 -EXPR_WS=56 -SRC_UNQUOTED_IDENTIFIER=57 -SRC_QUOTED_IDENTIFIER=58 -SRC_LINE_COMMENT=59 -SRC_MULTILINE_COMMENT=60 -SRC_WS=61 -UNKNOWN_CMD=62 +ASSIGN=19 +COMMA=20 +DOT=21 +LP=22 +OPENING_BRACKET=23 +CLOSING_BRACKET=24 +NOT=25 +NULL=26 +OR=27 +RP=28 +BOOLEAN_VALUE=29 +COMPARISON_OPERATOR=30 +PLUS=31 +MINUS=32 +ASTERISK=33 +SLASH=34 +PERCENT=35 +ORDERING=36 +NULLS_ORDERING=37 +NULLS_ORDERING_DIRECTION=38 +UNARY_FUNCTION=39 +UNQUOTED_IDENTIFIER=40 +QUOTED_IDENTIFIER=41 +EXPR_LINE_COMMENT=42 +EXPR_MULTILINE_COMMENT=43 +EXPR_WS=44 +SRC_UNQUOTED_IDENTIFIER=45 +SRC_QUOTED_IDENTIFIER=46 +SRC_LINE_COMMENT=47 +SRC_MULTILINE_COMMENT=48 +SRC_WS=49 'eval'=1 'explain'=2 'from'=3 @@ -71,34 +58,17 @@ UNKNOWN_CMD=62 'project'=9 'by'=17 'and'=18 -'asc'=19 -'desc'=22 -'.'=23 -'false'=24 -'first'=25 -'last'=26 -'('=27 -'['=28 -']'=29 -'not'=30 -'null'=31 -'nulls'=32 -'or'=33 -')'=34 -'true'=35 -'=='=36 -'!='=37 -'<'=38 -'<='=39 -'>'=40 -'>='=41 -'+'=42 -'-'=43 -'*'=44 -'/'=45 -'%'=46 -'round'=47 -'avg'=48 -'sum'=49 -'min'=50 -'max'=51 +'.'=21 +'('=22 +'['=23 +']'=24 +'not'=25 +'null'=26 +'or'=27 +')'=28 +'+'=31 +'-'=32 +'*'=33 +'/'=34 +'%'=35 +'nulls'=37 diff --git a/packages/kbn-monaco/src/esql/antlr/esql_parser.ts b/packages/kbn-monaco/src/esql/antlr/esql_parser.ts index e913ccde441b1..de825a0b3698e 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_parser.ts +++ b/packages/kbn-monaco/src/esql/antlr/esql_parser.ts @@ -45,50 +45,37 @@ export class esql_parser extends Parser { public static readonly DECIMAL_LITERAL = 16; public static readonly BY = 17; public static readonly AND = 18; - public static readonly ASC = 19; - public static readonly ASSIGN = 20; - public static readonly COMMA = 21; - public static readonly DESC = 22; - public static readonly DOT = 23; - public static readonly FALSE = 24; - public static readonly FIRST = 25; - public static readonly LAST = 26; - public static readonly LP = 27; - public static readonly OPENING_BRACKET = 28; - public static readonly CLOSING_BRACKET = 29; - public static readonly NOT = 30; - public static readonly NULL = 31; - public static readonly NULLS = 32; - public static readonly OR = 33; - public static readonly RP = 34; - public static readonly TRUE = 35; - public static readonly EQ = 36; - public static readonly NEQ = 37; - public static readonly LT = 38; - public static readonly LTE = 39; - public static readonly GT = 40; - public static readonly GTE = 41; - public static readonly PLUS = 42; - public static readonly MINUS = 43; - public static readonly ASTERISK = 44; - public static readonly SLASH = 45; - public static readonly PERCENT = 46; - public static readonly ROUND_FUNCTION_MATH = 47; - public static readonly AVG_FUNCTION_MATH = 48; - public static readonly SUM_FUNCTION_MATH = 49; - public static readonly MIN_FUNCTION_MATH = 50; - public static readonly MAX_FUNCTION_MATH = 51; - public static readonly UNQUOTED_IDENTIFIER = 52; - public static readonly QUOTED_IDENTIFIER = 53; - public static readonly EXPR_LINE_COMMENT = 54; - public static readonly EXPR_MULTILINE_COMMENT = 55; - public static readonly EXPR_WS = 56; - public static readonly SRC_UNQUOTED_IDENTIFIER = 57; - public static readonly SRC_QUOTED_IDENTIFIER = 58; - public static readonly SRC_LINE_COMMENT = 59; - public static readonly SRC_MULTILINE_COMMENT = 60; - public static readonly SRC_WS = 61; - public static readonly UNKNOWN_CMD = 62; + public static readonly ASSIGN = 19; + public static readonly COMMA = 20; + public static readonly DOT = 21; + public static readonly LP = 22; + public static readonly OPENING_BRACKET = 23; + public static readonly CLOSING_BRACKET = 24; + public static readonly NOT = 25; + public static readonly NULL = 26; + public static readonly OR = 27; + public static readonly RP = 28; + public static readonly BOOLEAN_VALUE = 29; + public static readonly COMPARISON_OPERATOR = 30; + public static readonly PLUS = 31; + public static readonly MINUS = 32; + public static readonly ASTERISK = 33; + public static readonly SLASH = 34; + public static readonly PERCENT = 35; + public static readonly ORDERING = 36; + public static readonly NULLS_ORDERING = 37; + public static readonly NULLS_ORDERING_DIRECTION = 38; + public static readonly UNARY_FUNCTION = 39; + public static readonly UNQUOTED_IDENTIFIER = 40; + public static readonly QUOTED_IDENTIFIER = 41; + public static readonly EXPR_LINE_COMMENT = 42; + public static readonly EXPR_MULTILINE_COMMENT = 43; + public static readonly EXPR_WS = 44; + public static readonly SRC_UNQUOTED_IDENTIFIER = 45; + public static readonly SRC_QUOTED_IDENTIFIER = 46; + public static readonly SRC_LINE_COMMENT = 47; + public static readonly SRC_MULTILINE_COMMENT = 48; + public static readonly SRC_WS = 49; public static readonly RULE_singleStatement = 0; public static readonly RULE_query = 1; public static readonly RULE_sourceCommand = 2; @@ -96,63 +83,64 @@ export class esql_parser extends Parser { public static readonly RULE_whereCommand = 4; public static readonly RULE_booleanExpression = 5; public static readonly RULE_valueExpression = 6; - public static readonly RULE_operatorExpression = 7; - public static readonly RULE_primaryExpression = 8; - public static readonly RULE_rowCommand = 9; - public static readonly RULE_fields = 10; - public static readonly RULE_field = 11; - public static readonly RULE_fromCommand = 12; - public static readonly RULE_evalCommand = 13; - public static readonly RULE_statsCommand = 14; - public static readonly RULE_sourceIdentifier = 15; - public static readonly RULE_functionExpressionArgument = 16; - public static readonly RULE_qualifiedName = 17; - public static readonly RULE_qualifiedNames = 18; - public static readonly RULE_identifier = 19; - public static readonly RULE_functionIdentifier = 20; - public static readonly RULE_constant = 21; - public static readonly RULE_limitCommand = 22; - public static readonly RULE_sortCommand = 23; - public static readonly RULE_orderExpression = 24; - public static readonly RULE_projectCommand = 25; - public static readonly RULE_projectClause = 26; - public static readonly RULE_booleanValue = 27; - public static readonly RULE_number = 28; - public static readonly RULE_string = 29; - public static readonly RULE_comparisonOperator = 30; - public static readonly RULE_explainCommand = 31; - public static readonly RULE_subqueryExpression = 32; + public static readonly RULE_comparison = 7; + public static readonly RULE_mathFn = 8; + public static readonly RULE_operatorExpression = 9; + public static readonly RULE_primaryExpression = 10; + public static readonly RULE_rowCommand = 11; + public static readonly RULE_fields = 12; + public static readonly RULE_field = 13; + public static readonly RULE_userVariable = 14; + public static readonly RULE_fromCommand = 15; + public static readonly RULE_evalCommand = 16; + public static readonly RULE_statsCommand = 17; + public static readonly RULE_sourceIdentifier = 18; + public static readonly RULE_functionExpressionArgument = 19; + public static readonly RULE_qualifiedName = 20; + public static readonly RULE_qualifiedNames = 21; + public static readonly RULE_identifier = 22; + public static readonly RULE_functionIdentifier = 23; + public static readonly RULE_constant = 24; + public static readonly RULE_limitCommand = 25; + public static readonly RULE_sortCommand = 26; + public static readonly RULE_orderExpression = 27; + public static readonly RULE_projectCommand = 28; + public static readonly RULE_projectClause = 29; + public static readonly RULE_booleanValue = 30; + public static readonly RULE_number = 31; + public static readonly RULE_string = 32; + public static readonly RULE_comparisonOperator = 33; + public static readonly RULE_explainCommand = 34; + public static readonly RULE_subqueryExpression = 35; // tslint:disable:no-trailing-whitespace public static readonly ruleNames: string[] = [ "singleStatement", "query", "sourceCommand", "processingCommand", "whereCommand", - "booleanExpression", "valueExpression", "operatorExpression", "primaryExpression", - "rowCommand", "fields", "field", "fromCommand", "evalCommand", "statsCommand", - "sourceIdentifier", "functionExpressionArgument", "qualifiedName", "qualifiedNames", - "identifier", "functionIdentifier", "constant", "limitCommand", "sortCommand", - "orderExpression", "projectCommand", "projectClause", "booleanValue", - "number", "string", "comparisonOperator", "explainCommand", "subqueryExpression", + "booleanExpression", "valueExpression", "comparison", "mathFn", "operatorExpression", + "primaryExpression", "rowCommand", "fields", "field", "userVariable", + "fromCommand", "evalCommand", "statsCommand", "sourceIdentifier", "functionExpressionArgument", + "qualifiedName", "qualifiedNames", "identifier", "functionIdentifier", + "constant", "limitCommand", "sortCommand", "orderExpression", "projectCommand", + "projectClause", "booleanValue", "number", "string", "comparisonOperator", + "explainCommand", "subqueryExpression", ]; private static readonly _LITERAL_NAMES: Array = [ undefined, "'eval'", "'explain'", "'from'", "'row'", "'stats'", "'where'", "'sort'", "'limit'", "'project'", undefined, undefined, undefined, undefined, - undefined, undefined, undefined, "'by'", "'and'", "'asc'", undefined, - undefined, "'desc'", "'.'", "'false'", "'first'", "'last'", "'('", "'['", - "']'", "'not'", "'null'", "'nulls'", "'or'", "')'", "'true'", "'=='", - "'!='", "'<'", "'<='", "'>'", "'>='", "'+'", "'-'", "'*'", "'/'", "'%'", - "'round'", "'avg'", "'sum'", "'min'", "'max'", + undefined, undefined, undefined, "'by'", "'and'", undefined, undefined, + "'.'", "'('", "'['", "']'", "'not'", "'null'", "'or'", "')'", undefined, + undefined, "'+'", "'-'", "'*'", "'/'", "'%'", undefined, "'nulls'", ]; private static readonly _SYMBOLIC_NAMES: Array = [ undefined, "EVAL", "EXPLAIN", "FROM", "ROW", "STATS", "WHERE", "SORT", "LIMIT", "PROJECT", "LINE_COMMENT", "MULTILINE_COMMENT", "WS", "PIPE", - "STRING", "INTEGER_LITERAL", "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", - "COMMA", "DESC", "DOT", "FALSE", "FIRST", "LAST", "LP", "OPENING_BRACKET", - "CLOSING_BRACKET", "NOT", "NULL", "NULLS", "OR", "RP", "TRUE", "EQ", "NEQ", - "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", - "ROUND_FUNCTION_MATH", "AVG_FUNCTION_MATH", "SUM_FUNCTION_MATH", "MIN_FUNCTION_MATH", - "MAX_FUNCTION_MATH", "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", + "STRING", "INTEGER_LITERAL", "DECIMAL_LITERAL", "BY", "AND", "ASSIGN", + "COMMA", "DOT", "LP", "OPENING_BRACKET", "CLOSING_BRACKET", "NOT", "NULL", + "OR", "RP", "BOOLEAN_VALUE", "COMPARISON_OPERATOR", "PLUS", "MINUS", "ASTERISK", + "SLASH", "PERCENT", "ORDERING", "NULLS_ORDERING", "NULLS_ORDERING_DIRECTION", + "UNARY_FUNCTION", "UNQUOTED_IDENTIFIER", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", "EXPR_MULTILINE_COMMENT", "EXPR_WS", "SRC_UNQUOTED_IDENTIFIER", "SRC_QUOTED_IDENTIFIER", - "SRC_LINE_COMMENT", "SRC_MULTILINE_COMMENT", "SRC_WS", "UNKNOWN_CMD", + "SRC_LINE_COMMENT", "SRC_MULTILINE_COMMENT", "SRC_WS", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(esql_parser._LITERAL_NAMES, esql_parser._SYMBOLIC_NAMES, []); @@ -183,9 +171,9 @@ export class esql_parser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 66; + this.state = 72; this.query(0); - this.state = 67; + this.state = 73; this.match(esql_parser.EOF); } } @@ -227,11 +215,11 @@ export class esql_parser extends Parser { this._ctx = _localctx; _prevctx = _localctx; - this.state = 70; + this.state = 76; this.sourceCommand(); } this._ctx._stop = this._input.tryLT(-1); - this.state = 77; + this.state = 83; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 0, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -244,18 +232,18 @@ export class esql_parser extends Parser { { _localctx = new CompositeQueryContext(new QueryContext(_parentctx, _parentState)); this.pushNewRecursionContext(_localctx, _startState, esql_parser.RULE_query); - this.state = 72; + this.state = 78; if (!(this.precpred(this._ctx, 1))) { throw new FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } - this.state = 73; + this.state = 79; this.match(esql_parser.PIPE); - this.state = 74; + this.state = 80; this.processingCommand(); } } } - this.state = 79; + this.state = 85; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 0, this._ctx); } @@ -280,27 +268,27 @@ export class esql_parser extends Parser { let _localctx: SourceCommandContext = new SourceCommandContext(this._ctx, this.state); this.enterRule(_localctx, 4, esql_parser.RULE_sourceCommand); try { - this.state = 83; + this.state = 89; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.EXPLAIN: this.enterOuterAlt(_localctx, 1); { - this.state = 80; + this.state = 86; this.explainCommand(); } break; case esql_parser.FROM: this.enterOuterAlt(_localctx, 2); { - this.state = 81; + this.state = 87; this.fromCommand(); } break; case esql_parser.ROW: this.enterOuterAlt(_localctx, 3); { - this.state = 82; + this.state = 88; this.rowCommand(); } break; @@ -327,48 +315,48 @@ export class esql_parser extends Parser { let _localctx: ProcessingCommandContext = new ProcessingCommandContext(this._ctx, this.state); this.enterRule(_localctx, 6, esql_parser.RULE_processingCommand); try { - this.state = 91; + this.state = 97; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.EVAL: this.enterOuterAlt(_localctx, 1); { - this.state = 85; + this.state = 91; this.evalCommand(); } break; case esql_parser.LIMIT: this.enterOuterAlt(_localctx, 2); { - this.state = 86; + this.state = 92; this.limitCommand(); } break; case esql_parser.PROJECT: this.enterOuterAlt(_localctx, 3); { - this.state = 87; + this.state = 93; this.projectCommand(); } break; case esql_parser.SORT: this.enterOuterAlt(_localctx, 4); { - this.state = 88; + this.state = 94; this.sortCommand(); } break; case esql_parser.STATS: this.enterOuterAlt(_localctx, 5); { - this.state = 89; + this.state = 95; this.statsCommand(); } break; case esql_parser.WHERE: this.enterOuterAlt(_localctx, 6); { - this.state = 90; + this.state = 96; this.whereCommand(); } break; @@ -397,9 +385,9 @@ export class esql_parser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 93; + this.state = 99; this.match(esql_parser.WHERE); - this.state = 94; + this.state = 100; this.booleanExpression(0); } } @@ -436,42 +424,30 @@ export class esql_parser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 100; + this.state = 106; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.NOT: { - _localctx = new LogicalNotContext(_localctx); - this._ctx = _localctx; - _prevctx = _localctx; - - this.state = 97; + this.state = 103; this.match(esql_parser.NOT); - this.state = 98; + this.state = 104; this.booleanExpression(4); } break; case esql_parser.STRING: case esql_parser.INTEGER_LITERAL: case esql_parser.DECIMAL_LITERAL: - case esql_parser.FALSE: case esql_parser.LP: case esql_parser.NULL: - case esql_parser.TRUE: + case esql_parser.BOOLEAN_VALUE: case esql_parser.PLUS: case esql_parser.MINUS: - case esql_parser.ROUND_FUNCTION_MATH: - case esql_parser.AVG_FUNCTION_MATH: - case esql_parser.SUM_FUNCTION_MATH: - case esql_parser.MIN_FUNCTION_MATH: - case esql_parser.MAX_FUNCTION_MATH: + case esql_parser.UNARY_FUNCTION: case esql_parser.UNQUOTED_IDENTIFIER: case esql_parser.QUOTED_IDENTIFIER: { - _localctx = new BooleanDefaultContext(_localctx); - this._ctx = _localctx; - _prevctx = _localctx; - this.state = 99; + this.state = 105; this.valueExpression(); } break; @@ -479,7 +455,7 @@ export class esql_parser extends Parser { throw new NoViableAltException(this); } this._ctx._stop = this._input.tryLT(-1); - this.state = 110; + this.state = 116; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -489,44 +465,44 @@ export class esql_parser extends Parser { } _prevctx = _localctx; { - this.state = 108; + this.state = 114; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 4, this._ctx) ) { case 1: { - _localctx = new LogicalBinaryContext(new BooleanExpressionContext(_parentctx, _parentState)); - (_localctx as LogicalBinaryContext)._left = _prevctx; + _localctx = new BooleanExpressionContext(_parentctx, _parentState); + _localctx._left = _prevctx; this.pushNewRecursionContext(_localctx, _startState, esql_parser.RULE_booleanExpression); - this.state = 102; + this.state = 108; if (!(this.precpred(this._ctx, 2))) { throw new FailedPredicateException(this, "this.precpred(this._ctx, 2)"); } - this.state = 103; - (_localctx as LogicalBinaryContext)._operator = this.match(esql_parser.AND); - this.state = 104; - (_localctx as LogicalBinaryContext)._right = this.booleanExpression(3); + this.state = 109; + _localctx._operator = this.match(esql_parser.AND); + this.state = 110; + _localctx._right = this.booleanExpression(3); } break; case 2: { - _localctx = new LogicalBinaryContext(new BooleanExpressionContext(_parentctx, _parentState)); - (_localctx as LogicalBinaryContext)._left = _prevctx; + _localctx = new BooleanExpressionContext(_parentctx, _parentState); + _localctx._left = _prevctx; this.pushNewRecursionContext(_localctx, _startState, esql_parser.RULE_booleanExpression); - this.state = 105; + this.state = 111; if (!(this.precpred(this._ctx, 1))) { throw new FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } - this.state = 106; - (_localctx as LogicalBinaryContext)._operator = this.match(esql_parser.OR); - this.state = 107; - (_localctx as LogicalBinaryContext)._right = this.booleanExpression(2); + this.state = 112; + _localctx._operator = this.match(esql_parser.OR); + this.state = 113; + _localctx._right = this.booleanExpression(2); } break; } } } - this.state = 112; + this.state = 118; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); } @@ -550,71 +526,110 @@ export class esql_parser extends Parser { public valueExpression(): ValueExpressionContext { let _localctx: ValueExpressionContext = new ValueExpressionContext(this._ctx, this.state); this.enterRule(_localctx, 12, esql_parser.RULE_valueExpression); - let _la: number; try { - this.state = 132; + this.state = 121; this._errHandler.sync(this); - switch ( this.interpreter.adaptivePredict(this._input, 8, this._ctx) ) { + switch ( this.interpreter.adaptivePredict(this._input, 6, this._ctx) ) { case 1: - _localctx = new ValueFunctionExpressionContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 113; - this.functionIdentifier(); - this.state = 114; - this.match(esql_parser.LP); - this.state = 123; - this._errHandler.sync(this); - _la = this._input.LA(1); - if (_la === esql_parser.STRING || _la === esql_parser.UNQUOTED_IDENTIFIER || _la === esql_parser.QUOTED_IDENTIFIER) { - { - this.state = 115; - this.functionExpressionArgument(); - this.state = 120; - this._errHandler.sync(this); - _la = this._input.LA(1); - while (_la === esql_parser.COMMA) { - { - { - this.state = 116; - this.match(esql_parser.COMMA); - this.state = 117; - this.functionExpressionArgument(); - } - } - this.state = 122; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - } - - this.state = 125; - this.match(esql_parser.RP); + this.state = 119; + this.operatorExpression(0); } break; case 2: - _localctx = new ValueExpressionDefaultContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 127; - this.operatorExpression(0); + this.state = 120; + this.comparison(); } break; - - case 3: - _localctx = new ComparisonContext(_localctx); - this.enterOuterAlt(_localctx, 3); + } + } + catch (re) { + if (re instanceof RecognitionException) { + _localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return _localctx; + } + // @RuleVersion(0) + public comparison(): ComparisonContext { + let _localctx: ComparisonContext = new ComparisonContext(this._ctx, this.state); + this.enterRule(_localctx, 14, esql_parser.RULE_comparison); + try { + this.enterOuterAlt(_localctx, 1); + { + this.state = 123; + _localctx._left = this.operatorExpression(0); + this.state = 124; + this.comparisonOperator(); + this.state = 125; + _localctx._right = this.operatorExpression(0); + } + } + catch (re) { + if (re instanceof RecognitionException) { + _localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return _localctx; + } + // @RuleVersion(0) + public mathFn(): MathFnContext { + let _localctx: MathFnContext = new MathFnContext(this._ctx, this.state); + this.enterRule(_localctx, 16, esql_parser.RULE_mathFn); + let _la: number; + try { + this.enterOuterAlt(_localctx, 1); + { + this.state = 127; + this.functionIdentifier(); + this.state = 128; + this.match(esql_parser.LP); + this.state = 137; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (((((_la - 14)) & ~0x1F) === 0 && ((1 << (_la - 14)) & ((1 << (esql_parser.STRING - 14)) | (1 << (esql_parser.UNQUOTED_IDENTIFIER - 14)) | (1 << (esql_parser.QUOTED_IDENTIFIER - 14)))) !== 0)) { { - this.state = 128; - (_localctx as ComparisonContext)._left = this.operatorExpression(0); this.state = 129; - this.comparisonOperator(); - this.state = 130; - (_localctx as ComparisonContext)._right = this.operatorExpression(0); + this.functionExpressionArgument(); + this.state = 134; + this._errHandler.sync(this); + _la = this._input.LA(1); + while (_la === esql_parser.COMMA) { + { + { + this.state = 130; + this.match(esql_parser.COMMA); + this.state = 131; + this.functionExpressionArgument(); + } + } + this.state = 136; + this._errHandler.sync(this); + _la = this._input.LA(1); } - break; + } + } + + this.state = 139; + this.match(esql_parser.RP); } } catch (re) { @@ -644,45 +659,43 @@ export class esql_parser extends Parser { let _parentState: number = this.state; let _localctx: OperatorExpressionContext = new OperatorExpressionContext(this._ctx, _parentState); let _prevctx: OperatorExpressionContext = _localctx; - let _startState: number = 14; - this.enterRecursionRule(_localctx, 14, esql_parser.RULE_operatorExpression, _p); + let _startState: number = 18; + this.enterRecursionRule(_localctx, 18, esql_parser.RULE_operatorExpression, _p); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 138; + this.state = 146; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.STRING: case esql_parser.INTEGER_LITERAL: case esql_parser.DECIMAL_LITERAL: - case esql_parser.FALSE: case esql_parser.LP: case esql_parser.NULL: - case esql_parser.TRUE: + case esql_parser.BOOLEAN_VALUE: case esql_parser.UNQUOTED_IDENTIFIER: case esql_parser.QUOTED_IDENTIFIER: { - _localctx = new OperatorExpressionDefaultContext(_localctx); - this._ctx = _localctx; - _prevctx = _localctx; - - this.state = 135; + this.state = 142; this.primaryExpression(); } break; + case esql_parser.UNARY_FUNCTION: + { + this.state = 143; + this.mathFn(); + } + break; case esql_parser.PLUS: case esql_parser.MINUS: { - _localctx = new ArithmeticUnaryContext(_localctx); - this._ctx = _localctx; - _prevctx = _localctx; - this.state = 136; - (_localctx as ArithmeticUnaryContext)._operator = this._input.LT(1); + this.state = 144; + _localctx._operator = this._input.LT(1); _la = this._input.LA(1); if (!(_la === esql_parser.PLUS || _la === esql_parser.MINUS)) { - (_localctx as ArithmeticUnaryContext)._operator = this._errHandler.recoverInline(this); + _localctx._operator = this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; @@ -691,7 +704,7 @@ export class esql_parser extends Parser { this._errHandler.reportMatch(this); this.consume(); } - this.state = 137; + this.state = 145; this.operatorExpression(3); } break; @@ -699,7 +712,7 @@ export class esql_parser extends Parser { throw new NoViableAltException(this); } this._ctx._stop = this._input.tryLT(-1); - this.state = 148; + this.state = 156; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -709,23 +722,23 @@ export class esql_parser extends Parser { } _prevctx = _localctx; { - this.state = 146; + this.state = 154; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 10, this._ctx) ) { case 1: { - _localctx = new ArithmeticBinaryContext(new OperatorExpressionContext(_parentctx, _parentState)); - (_localctx as ArithmeticBinaryContext)._left = _prevctx; + _localctx = new OperatorExpressionContext(_parentctx, _parentState); + _localctx._left = _prevctx; this.pushNewRecursionContext(_localctx, _startState, esql_parser.RULE_operatorExpression); - this.state = 140; + this.state = 148; if (!(this.precpred(this._ctx, 2))) { throw new FailedPredicateException(this, "this.precpred(this._ctx, 2)"); } - this.state = 141; - (_localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); + this.state = 149; + _localctx._operator = this._input.LT(1); _la = this._input.LA(1); - if (!(((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & ((1 << (esql_parser.ASTERISK - 44)) | (1 << (esql_parser.SLASH - 44)) | (1 << (esql_parser.PERCENT - 44)))) !== 0))) { - (_localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); + if (!(((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (esql_parser.ASTERISK - 33)) | (1 << (esql_parser.SLASH - 33)) | (1 << (esql_parser.PERCENT - 33)))) !== 0))) { + _localctx._operator = this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; @@ -734,25 +747,25 @@ export class esql_parser extends Parser { this._errHandler.reportMatch(this); this.consume(); } - this.state = 142; - (_localctx as ArithmeticBinaryContext)._right = this.operatorExpression(3); + this.state = 150; + _localctx._right = this.operatorExpression(3); } break; case 2: { - _localctx = new ArithmeticBinaryContext(new OperatorExpressionContext(_parentctx, _parentState)); - (_localctx as ArithmeticBinaryContext)._left = _prevctx; + _localctx = new OperatorExpressionContext(_parentctx, _parentState); + _localctx._left = _prevctx; this.pushNewRecursionContext(_localctx, _startState, esql_parser.RULE_operatorExpression); - this.state = 143; + this.state = 151; if (!(this.precpred(this._ctx, 1))) { throw new FailedPredicateException(this, "this.precpred(this._ctx, 1)"); } - this.state = 144; - (_localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); + this.state = 152; + _localctx._operator = this._input.LT(1); _la = this._input.LA(1); if (!(_la === esql_parser.PLUS || _la === esql_parser.MINUS)) { - (_localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); + _localctx._operator = this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; @@ -761,14 +774,14 @@ export class esql_parser extends Parser { this._errHandler.reportMatch(this); this.consume(); } - this.state = 145; - (_localctx as ArithmeticBinaryContext)._right = this.operatorExpression(2); + this.state = 153; + _localctx._right = this.operatorExpression(2); } break; } } } - this.state = 150; + this.state = 158; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); } @@ -791,78 +804,74 @@ export class esql_parser extends Parser { // @RuleVersion(0) public primaryExpression(): PrimaryExpressionContext { let _localctx: PrimaryExpressionContext = new PrimaryExpressionContext(this._ctx, this.state); - this.enterRule(_localctx, 16, esql_parser.RULE_primaryExpression); + this.enterRule(_localctx, 20, esql_parser.RULE_primaryExpression); let _la: number; try { - this.state = 171; + this.state = 179; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 14, this._ctx) ) { case 1: - _localctx = new ConstantDefaultContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 151; + this.state = 159; this.constant(); } break; case 2: - _localctx = new DereferenceContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 152; + this.state = 160; this.qualifiedName(); } break; case 3: - _localctx = new ParenthesizedExpressionContext(_localctx); this.enterOuterAlt(_localctx, 3); { - this.state = 153; + this.state = 161; this.match(esql_parser.LP); - this.state = 154; + this.state = 162; this.booleanExpression(0); - this.state = 155; + this.state = 163; this.match(esql_parser.RP); } break; case 4: - _localctx = new FunctionExpressionContext(_localctx); this.enterOuterAlt(_localctx, 4); { - this.state = 157; + this.state = 165; this.identifier(); - this.state = 158; + this.state = 166; this.match(esql_parser.LP); - this.state = 167; + this.state = 175; this._errHandler.sync(this); _la = this._input.LA(1); - if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << esql_parser.STRING) | (1 << esql_parser.INTEGER_LITERAL) | (1 << esql_parser.DECIMAL_LITERAL) | (1 << esql_parser.FALSE) | (1 << esql_parser.LP) | (1 << esql_parser.NOT) | (1 << esql_parser.NULL))) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & ((1 << (esql_parser.TRUE - 35)) | (1 << (esql_parser.PLUS - 35)) | (1 << (esql_parser.MINUS - 35)) | (1 << (esql_parser.ROUND_FUNCTION_MATH - 35)) | (1 << (esql_parser.AVG_FUNCTION_MATH - 35)) | (1 << (esql_parser.SUM_FUNCTION_MATH - 35)) | (1 << (esql_parser.MIN_FUNCTION_MATH - 35)) | (1 << (esql_parser.MAX_FUNCTION_MATH - 35)) | (1 << (esql_parser.UNQUOTED_IDENTIFIER - 35)) | (1 << (esql_parser.QUOTED_IDENTIFIER - 35)))) !== 0)) { + if (((((_la - 14)) & ~0x1F) === 0 && ((1 << (_la - 14)) & ((1 << (esql_parser.STRING - 14)) | (1 << (esql_parser.INTEGER_LITERAL - 14)) | (1 << (esql_parser.DECIMAL_LITERAL - 14)) | (1 << (esql_parser.LP - 14)) | (1 << (esql_parser.NOT - 14)) | (1 << (esql_parser.NULL - 14)) | (1 << (esql_parser.BOOLEAN_VALUE - 14)) | (1 << (esql_parser.PLUS - 14)) | (1 << (esql_parser.MINUS - 14)) | (1 << (esql_parser.UNARY_FUNCTION - 14)) | (1 << (esql_parser.UNQUOTED_IDENTIFIER - 14)) | (1 << (esql_parser.QUOTED_IDENTIFIER - 14)))) !== 0)) { { - this.state = 159; + this.state = 167; this.booleanExpression(0); - this.state = 164; + this.state = 172; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === esql_parser.COMMA) { { { - this.state = 160; + this.state = 168; this.match(esql_parser.COMMA); - this.state = 161; + this.state = 169; this.booleanExpression(0); } } - this.state = 166; + this.state = 174; this._errHandler.sync(this); _la = this._input.LA(1); } } } - this.state = 169; + this.state = 177; this.match(esql_parser.RP); } break; @@ -885,13 +894,13 @@ export class esql_parser extends Parser { // @RuleVersion(0) public rowCommand(): RowCommandContext { let _localctx: RowCommandContext = new RowCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 18, esql_parser.RULE_rowCommand); + this.enterRule(_localctx, 22, esql_parser.RULE_rowCommand); try { this.enterOuterAlt(_localctx, 1); { - this.state = 173; + this.state = 181; this.match(esql_parser.ROW); - this.state = 174; + this.state = 182; this.fields(); } } @@ -912,28 +921,28 @@ export class esql_parser extends Parser { // @RuleVersion(0) public fields(): FieldsContext { let _localctx: FieldsContext = new FieldsContext(this._ctx, this.state); - this.enterRule(_localctx, 20, esql_parser.RULE_fields); + this.enterRule(_localctx, 24, esql_parser.RULE_fields); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 176; + this.state = 184; this.field(); - this.state = 181; + this.state = 189; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 15, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 177; + this.state = 185; this.match(esql_parser.COMMA); - this.state = 178; + this.state = 186; this.field(); } } } - this.state = 183; + this.state = 191; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 15, this._ctx); } @@ -956,39 +965,27 @@ export class esql_parser extends Parser { // @RuleVersion(0) public field(): FieldContext { let _localctx: FieldContext = new FieldContext(this._ctx, this.state); - this.enterRule(_localctx, 22, esql_parser.RULE_field); + this.enterRule(_localctx, 26, esql_parser.RULE_field); try { - this.state = 193; + this.state = 197; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 16, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { - this.state = 184; - this.qualifiedName(); - this.state = 185; - this.match(esql_parser.ASSIGN); - this.state = 186; - this.valueExpression(); + this.state = 192; + this.booleanExpression(0); } break; case 2: this.enterOuterAlt(_localctx, 2); { - this.state = 188; - this.booleanExpression(0); - } - break; - - case 3: - this.enterOuterAlt(_localctx, 3); - { - this.state = 189; - this.qualifiedName(); - this.state = 190; + this.state = 193; + this.userVariable(); + this.state = 194; this.match(esql_parser.ASSIGN); - this.state = 191; + this.state = 195; this.booleanExpression(0); } break; @@ -1009,32 +1006,57 @@ export class esql_parser extends Parser { return _localctx; } // @RuleVersion(0) + public userVariable(): UserVariableContext { + let _localctx: UserVariableContext = new UserVariableContext(this._ctx, this.state); + this.enterRule(_localctx, 28, esql_parser.RULE_userVariable); + try { + this.enterOuterAlt(_localctx, 1); + { + this.state = 199; + this.identifier(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + _localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return _localctx; + } + // @RuleVersion(0) public fromCommand(): FromCommandContext { let _localctx: FromCommandContext = new FromCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 24, esql_parser.RULE_fromCommand); + this.enterRule(_localctx, 30, esql_parser.RULE_fromCommand); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 195; + this.state = 201; this.match(esql_parser.FROM); - this.state = 196; + this.state = 202; this.sourceIdentifier(); - this.state = 201; + this.state = 207; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 17, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 197; + this.state = 203; this.match(esql_parser.COMMA); - this.state = 198; + this.state = 204; this.sourceIdentifier(); } } } - this.state = 203; + this.state = 209; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 17, this._ctx); } @@ -1057,13 +1079,13 @@ export class esql_parser extends Parser { // @RuleVersion(0) public evalCommand(): EvalCommandContext { let _localctx: EvalCommandContext = new EvalCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 26, esql_parser.RULE_evalCommand); + this.enterRule(_localctx, 32, esql_parser.RULE_evalCommand); try { this.enterOuterAlt(_localctx, 1); { - this.state = 204; + this.state = 210; this.match(esql_parser.EVAL); - this.state = 205; + this.state = 211; this.fields(); } } @@ -1084,22 +1106,22 @@ export class esql_parser extends Parser { // @RuleVersion(0) public statsCommand(): StatsCommandContext { let _localctx: StatsCommandContext = new StatsCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 28, esql_parser.RULE_statsCommand); + this.enterRule(_localctx, 34, esql_parser.RULE_statsCommand); try { this.enterOuterAlt(_localctx, 1); { - this.state = 207; + this.state = 213; this.match(esql_parser.STATS); - this.state = 208; + this.state = 214; this.fields(); - this.state = 211; + this.state = 217; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 18, this._ctx) ) { case 1: { - this.state = 209; + this.state = 215; this.match(esql_parser.BY); - this.state = 210; + this.state = 216; this.qualifiedNames(); } break; @@ -1123,12 +1145,12 @@ export class esql_parser extends Parser { // @RuleVersion(0) public sourceIdentifier(): SourceIdentifierContext { let _localctx: SourceIdentifierContext = new SourceIdentifierContext(this._ctx, this.state); - this.enterRule(_localctx, 30, esql_parser.RULE_sourceIdentifier); + this.enterRule(_localctx, 36, esql_parser.RULE_sourceIdentifier); let _la: number; try { this.enterOuterAlt(_localctx, 1); { - this.state = 213; + this.state = 219; _la = this._input.LA(1); if (!(_la === esql_parser.SRC_UNQUOTED_IDENTIFIER || _la === esql_parser.SRC_QUOTED_IDENTIFIER)) { this._errHandler.recoverInline(this); @@ -1159,23 +1181,23 @@ export class esql_parser extends Parser { // @RuleVersion(0) public functionExpressionArgument(): FunctionExpressionArgumentContext { let _localctx: FunctionExpressionArgumentContext = new FunctionExpressionArgumentContext(this._ctx, this.state); - this.enterRule(_localctx, 32, esql_parser.RULE_functionExpressionArgument); + this.enterRule(_localctx, 38, esql_parser.RULE_functionExpressionArgument); try { - this.state = 217; + this.state = 223; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.UNQUOTED_IDENTIFIER: case esql_parser.QUOTED_IDENTIFIER: this.enterOuterAlt(_localctx, 1); { - this.state = 215; + this.state = 221; this.qualifiedName(); } break; case esql_parser.STRING: this.enterOuterAlt(_localctx, 2); { - this.state = 216; + this.state = 222; this.string(); } break; @@ -1200,28 +1222,28 @@ export class esql_parser extends Parser { // @RuleVersion(0) public qualifiedName(): QualifiedNameContext { let _localctx: QualifiedNameContext = new QualifiedNameContext(this._ctx, this.state); - this.enterRule(_localctx, 34, esql_parser.RULE_qualifiedName); + this.enterRule(_localctx, 40, esql_parser.RULE_qualifiedName); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 219; + this.state = 225; this.identifier(); - this.state = 224; + this.state = 230; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 220; + this.state = 226; this.match(esql_parser.DOT); - this.state = 221; + this.state = 227; this.identifier(); } } } - this.state = 226; + this.state = 232; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx); } @@ -1244,28 +1266,28 @@ export class esql_parser extends Parser { // @RuleVersion(0) public qualifiedNames(): QualifiedNamesContext { let _localctx: QualifiedNamesContext = new QualifiedNamesContext(this._ctx, this.state); - this.enterRule(_localctx, 36, esql_parser.RULE_qualifiedNames); + this.enterRule(_localctx, 42, esql_parser.RULE_qualifiedNames); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 227; + this.state = 233; this.qualifiedName(); - this.state = 232; + this.state = 238; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 228; + this.state = 234; this.match(esql_parser.COMMA); - this.state = 229; + this.state = 235; this.qualifiedName(); } } } - this.state = 234; + this.state = 240; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx); } @@ -1288,12 +1310,12 @@ export class esql_parser extends Parser { // @RuleVersion(0) public identifier(): IdentifierContext { let _localctx: IdentifierContext = new IdentifierContext(this._ctx, this.state); - this.enterRule(_localctx, 38, esql_parser.RULE_identifier); + this.enterRule(_localctx, 44, esql_parser.RULE_identifier); let _la: number; try { this.enterOuterAlt(_localctx, 1); { - this.state = 235; + this.state = 241; _la = this._input.LA(1); if (!(_la === esql_parser.UNQUOTED_IDENTIFIER || _la === esql_parser.QUOTED_IDENTIFIER)) { this._errHandler.recoverInline(this); @@ -1324,23 +1346,12 @@ export class esql_parser extends Parser { // @RuleVersion(0) public functionIdentifier(): FunctionIdentifierContext { let _localctx: FunctionIdentifierContext = new FunctionIdentifierContext(this._ctx, this.state); - this.enterRule(_localctx, 40, esql_parser.RULE_functionIdentifier); - let _la: number; + this.enterRule(_localctx, 46, esql_parser.RULE_functionIdentifier); try { this.enterOuterAlt(_localctx, 1); { - this.state = 237; - _la = this._input.LA(1); - if (!(((((_la - 47)) & ~0x1F) === 0 && ((1 << (_la - 47)) & ((1 << (esql_parser.ROUND_FUNCTION_MATH - 47)) | (1 << (esql_parser.AVG_FUNCTION_MATH - 47)) | (1 << (esql_parser.SUM_FUNCTION_MATH - 47)) | (1 << (esql_parser.MIN_FUNCTION_MATH - 47)) | (1 << (esql_parser.MAX_FUNCTION_MATH - 47)))) !== 0))) { - this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; - } - - this._errHandler.reportMatch(this); - this.consume(); - } + this.state = 243; + this.match(esql_parser.UNARY_FUNCTION); } } catch (re) { @@ -1360,16 +1371,16 @@ export class esql_parser extends Parser { // @RuleVersion(0) public constant(): ConstantContext { let _localctx: ConstantContext = new ConstantContext(this._ctx, this.state); - this.enterRule(_localctx, 42, esql_parser.RULE_constant); + this.enterRule(_localctx, 48, esql_parser.RULE_constant); try { - this.state = 243; + this.state = 249; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.NULL: _localctx = new NullLiteralContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 239; + this.state = 245; this.match(esql_parser.NULL); } break; @@ -1378,16 +1389,15 @@ export class esql_parser extends Parser { _localctx = new NumericLiteralContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 240; + this.state = 246; this.number(); } break; - case esql_parser.FALSE: - case esql_parser.TRUE: + case esql_parser.BOOLEAN_VALUE: _localctx = new BooleanLiteralContext(_localctx); this.enterOuterAlt(_localctx, 3); { - this.state = 241; + this.state = 247; this.booleanValue(); } break; @@ -1395,7 +1405,7 @@ export class esql_parser extends Parser { _localctx = new StringLiteralContext(_localctx); this.enterOuterAlt(_localctx, 4); { - this.state = 242; + this.state = 248; this.string(); } break; @@ -1420,13 +1430,13 @@ export class esql_parser extends Parser { // @RuleVersion(0) public limitCommand(): LimitCommandContext { let _localctx: LimitCommandContext = new LimitCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 44, esql_parser.RULE_limitCommand); + this.enterRule(_localctx, 50, esql_parser.RULE_limitCommand); try { this.enterOuterAlt(_localctx, 1); { - this.state = 245; + this.state = 251; this.match(esql_parser.LIMIT); - this.state = 246; + this.state = 252; this.match(esql_parser.INTEGER_LITERAL); } } @@ -1447,30 +1457,30 @@ export class esql_parser extends Parser { // @RuleVersion(0) public sortCommand(): SortCommandContext { let _localctx: SortCommandContext = new SortCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 46, esql_parser.RULE_sortCommand); + this.enterRule(_localctx, 52, esql_parser.RULE_sortCommand); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 248; + this.state = 254; this.match(esql_parser.SORT); - this.state = 249; + this.state = 255; this.orderExpression(); - this.state = 254; + this.state = 260; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 23, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 250; + this.state = 256; this.match(esql_parser.COMMA); - this.state = 251; + this.state = 257; this.orderExpression(); } } } - this.state = 256; + this.state = 262; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 23, this._ctx); } @@ -1493,53 +1503,32 @@ export class esql_parser extends Parser { // @RuleVersion(0) public orderExpression(): OrderExpressionContext { let _localctx: OrderExpressionContext = new OrderExpressionContext(this._ctx, this.state); - this.enterRule(_localctx, 48, esql_parser.RULE_orderExpression); - let _la: number; + this.enterRule(_localctx, 54, esql_parser.RULE_orderExpression); try { this.enterOuterAlt(_localctx, 1); { - this.state = 257; + this.state = 263; this.booleanExpression(0); - this.state = 259; + this.state = 265; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 24, this._ctx) ) { case 1: { - this.state = 258; - _localctx._ordering = this._input.LT(1); - _la = this._input.LA(1); - if (!(_la === esql_parser.ASC || _la === esql_parser.DESC)) { - _localctx._ordering = this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; - } - - this._errHandler.reportMatch(this); - this.consume(); - } + this.state = 264; + this.match(esql_parser.ORDERING); } break; } - this.state = 263; + this.state = 269; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 25, this._ctx) ) { case 1: { - this.state = 261; - this.match(esql_parser.NULLS); - this.state = 262; - _localctx._nullOrdering = this._input.LT(1); - _la = this._input.LA(1); - if (!(_la === esql_parser.FIRST || _la === esql_parser.LAST)) { - _localctx._nullOrdering = this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; - } - - this._errHandler.reportMatch(this); - this.consume(); + this.state = 267; + this.match(esql_parser.NULLS_ORDERING); + { + this.state = 268; + this.match(esql_parser.NULLS_ORDERING_DIRECTION); } } break; @@ -1563,30 +1552,30 @@ export class esql_parser extends Parser { // @RuleVersion(0) public projectCommand(): ProjectCommandContext { let _localctx: ProjectCommandContext = new ProjectCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 50, esql_parser.RULE_projectCommand); + this.enterRule(_localctx, 56, esql_parser.RULE_projectCommand); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 265; + this.state = 271; this.match(esql_parser.PROJECT); - this.state = 266; + this.state = 272; this.projectClause(); - this.state = 271; + this.state = 277; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 26, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 267; + this.state = 273; this.match(esql_parser.COMMA); - this.state = 268; + this.state = 274; this.projectClause(); } } } - this.state = 273; + this.state = 279; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 26, this._ctx); } @@ -1609,15 +1598,15 @@ export class esql_parser extends Parser { // @RuleVersion(0) public projectClause(): ProjectClauseContext { let _localctx: ProjectClauseContext = new ProjectClauseContext(this._ctx, this.state); - this.enterRule(_localctx, 52, esql_parser.RULE_projectClause); + this.enterRule(_localctx, 58, esql_parser.RULE_projectClause); try { - this.state = 279; + this.state = 285; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 27, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { - this.state = 274; + this.state = 280; this.sourceIdentifier(); } break; @@ -1625,11 +1614,11 @@ export class esql_parser extends Parser { case 2: this.enterOuterAlt(_localctx, 2); { - this.state = 275; + this.state = 281; _localctx._newName = this.sourceIdentifier(); - this.state = 276; + this.state = 282; this.match(esql_parser.ASSIGN); - this.state = 277; + this.state = 283; _localctx._oldName = this.sourceIdentifier(); } break; @@ -1652,23 +1641,12 @@ export class esql_parser extends Parser { // @RuleVersion(0) public booleanValue(): BooleanValueContext { let _localctx: BooleanValueContext = new BooleanValueContext(this._ctx, this.state); - this.enterRule(_localctx, 54, esql_parser.RULE_booleanValue); - let _la: number; + this.enterRule(_localctx, 60, esql_parser.RULE_booleanValue); try { this.enterOuterAlt(_localctx, 1); { - this.state = 281; - _la = this._input.LA(1); - if (!(_la === esql_parser.FALSE || _la === esql_parser.TRUE)) { - this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; - } - - this._errHandler.reportMatch(this); - this.consume(); - } + this.state = 287; + this.match(esql_parser.BOOLEAN_VALUE); } } catch (re) { @@ -1688,16 +1666,16 @@ export class esql_parser extends Parser { // @RuleVersion(0) public number(): NumberContext { let _localctx: NumberContext = new NumberContext(this._ctx, this.state); - this.enterRule(_localctx, 56, esql_parser.RULE_number); + this.enterRule(_localctx, 62, esql_parser.RULE_number); try { - this.state = 285; + this.state = 291; this._errHandler.sync(this); switch (this._input.LA(1)) { case esql_parser.DECIMAL_LITERAL: _localctx = new DecimalLiteralContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 283; + this.state = 289; this.match(esql_parser.DECIMAL_LITERAL); } break; @@ -1705,7 +1683,7 @@ export class esql_parser extends Parser { _localctx = new IntegerLiteralContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 284; + this.state = 290; this.match(esql_parser.INTEGER_LITERAL); } break; @@ -1730,11 +1708,11 @@ export class esql_parser extends Parser { // @RuleVersion(0) public string(): StringContext { let _localctx: StringContext = new StringContext(this._ctx, this.state); - this.enterRule(_localctx, 58, esql_parser.RULE_string); + this.enterRule(_localctx, 64, esql_parser.RULE_string); try { this.enterOuterAlt(_localctx, 1); { - this.state = 287; + this.state = 293; this.match(esql_parser.STRING); } } @@ -1755,23 +1733,12 @@ export class esql_parser extends Parser { // @RuleVersion(0) public comparisonOperator(): ComparisonOperatorContext { let _localctx: ComparisonOperatorContext = new ComparisonOperatorContext(this._ctx, this.state); - this.enterRule(_localctx, 60, esql_parser.RULE_comparisonOperator); - let _la: number; + this.enterRule(_localctx, 66, esql_parser.RULE_comparisonOperator); try { this.enterOuterAlt(_localctx, 1); { - this.state = 289; - _la = this._input.LA(1); - if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & ((1 << (esql_parser.EQ - 36)) | (1 << (esql_parser.NEQ - 36)) | (1 << (esql_parser.LT - 36)) | (1 << (esql_parser.LTE - 36)) | (1 << (esql_parser.GT - 36)) | (1 << (esql_parser.GTE - 36)))) !== 0))) { - this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; - } - - this._errHandler.reportMatch(this); - this.consume(); - } + this.state = 295; + this.match(esql_parser.COMPARISON_OPERATOR); } } catch (re) { @@ -1791,13 +1758,13 @@ export class esql_parser extends Parser { // @RuleVersion(0) public explainCommand(): ExplainCommandContext { let _localctx: ExplainCommandContext = new ExplainCommandContext(this._ctx, this.state); - this.enterRule(_localctx, 62, esql_parser.RULE_explainCommand); + this.enterRule(_localctx, 68, esql_parser.RULE_explainCommand); try { this.enterOuterAlt(_localctx, 1); { - this.state = 291; + this.state = 297; this.match(esql_parser.EXPLAIN); - this.state = 292; + this.state = 298; this.subqueryExpression(); } } @@ -1818,15 +1785,15 @@ export class esql_parser extends Parser { // @RuleVersion(0) public subqueryExpression(): SubqueryExpressionContext { let _localctx: SubqueryExpressionContext = new SubqueryExpressionContext(this._ctx, this.state); - this.enterRule(_localctx, 64, esql_parser.RULE_subqueryExpression); + this.enterRule(_localctx, 70, esql_parser.RULE_subqueryExpression); try { this.enterOuterAlt(_localctx, 1); { - this.state = 294; + this.state = 300; this.match(esql_parser.OPENING_BRACKET); - this.state = 295; + this.state = 301; this.query(0); - this.state = 296; + this.state = 302; this.match(esql_parser.CLOSING_BRACKET); } } @@ -1853,7 +1820,7 @@ export class esql_parser extends Parser { case 5: return this.booleanExpression_sempred(_localctx as BooleanExpressionContext, predIndex); - case 7: + case 9: return this.operatorExpression_sempred(_localctx as OperatorExpressionContext, predIndex); } return true; @@ -1887,140 +1854,141 @@ export class esql_parser extends Parser { } public static readonly _serializedATN: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03@\u012D\x04\x02" + + "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x033\u0133\x04\x02" + "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" + "\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04" + "\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04" + "\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04" + "\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C\x04" + - "\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t\"\x03\x02" + - "\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x07\x03" + - "N\n\x03\f\x03\x0E\x03Q\v\x03\x03\x04\x03\x04\x03\x04\x05\x04V\n\x04\x03" + - "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x05\x05^\n\x05\x03\x06\x03" + - "\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07g\n\x07\x03\x07\x03" + - "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x07\x07o\n\x07\f\x07\x0E\x07r\v\x07" + - "\x03\b\x03\b\x03\b\x03\b\x03\b\x07\by\n\b\f\b\x0E\b|\v\b\x05\b~\n\b\x03" + - "\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x05\b\x87\n\b\x03\t\x03\t\x03\t" + - "\x03\t\x05\t\x8D\n\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x07\t\x95\n\t" + - "\f\t\x0E\t\x98\v\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03" + - "\n\x03\n\x03\n\x07\n\xA5\n\n\f\n\x0E\n\xA8\v\n\x05\n\xAA\n\n\x03\n\x03" + - "\n\x05\n\xAE\n\n\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x07\f\xB6\n\f\f\f" + - "\x0E\f\xB9\v\f\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x05" + - "\r\xC4\n\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x07\x0E\xCA\n\x0E\f\x0E\x0E" + - "\x0E\xCD\v\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10" + - "\x05\x10\xD6\n\x10\x03\x11\x03\x11\x03\x12\x03\x12\x05\x12\xDC\n\x12\x03" + - "\x13\x03\x13\x03\x13\x07\x13\xE1\n\x13\f\x13\x0E\x13\xE4\v\x13\x03\x14" + - "\x03\x14\x03\x14\x07\x14\xE9\n\x14\f\x14\x0E\x14\xEC\v\x14\x03\x15\x03" + - "\x15\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x05\x17\xF6\n\x17" + - "\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x19\x03\x19\x07\x19\xFF\n" + - "\x19\f\x19\x0E\x19\u0102\v\x19\x03\x1A\x03\x1A\x05\x1A\u0106\n\x1A\x03" + - "\x1A\x03\x1A\x05\x1A\u010A\n\x1A\x03\x1B\x03\x1B\x03\x1B\x03\x1B\x07\x1B" + - "\u0110\n\x1B\f\x1B\x0E\x1B\u0113\v\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C" + - "\x03\x1C\x05\x1C\u011A\n\x1C\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x05\x1E\u0120" + - "\n\x1E\x03\x1F\x03\x1F\x03 \x03 \x03!\x03!\x03!\x03\"\x03\"\x03\"\x03" + - "\"\x03\"\x02\x02\x05\x04\f\x10#\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f" + - "\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E" + - "\x02 \x02\"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x028\x02" + - ":\x02<\x02>\x02@\x02B\x02\x02\v\x03\x02,-\x03\x02.0\x03\x02;<\x03\x02" + - "67\x03\x0215\x04\x02\x15\x15\x18\x18\x03\x02\x1B\x1C\x04\x02\x1A\x1A%" + - "%\x03\x02&+\x02\u0133\x02D\x03\x02\x02\x02\x04G\x03\x02\x02\x02\x06U\x03" + - "\x02\x02\x02\b]\x03\x02\x02\x02\n_\x03\x02\x02\x02\ff\x03\x02\x02\x02" + - "\x0E\x86\x03\x02\x02\x02\x10\x8C\x03\x02\x02\x02\x12\xAD\x03\x02\x02\x02" + - "\x14\xAF\x03\x02\x02\x02\x16\xB2\x03\x02\x02\x02\x18\xC3\x03\x02\x02\x02" + - "\x1A\xC5\x03\x02\x02\x02\x1C\xCE\x03\x02\x02\x02\x1E\xD1\x03\x02\x02\x02" + - " \xD7\x03\x02\x02\x02\"\xDB\x03\x02\x02\x02$\xDD\x03\x02\x02\x02&\xE5" + - "\x03\x02\x02\x02(\xED\x03\x02\x02\x02*\xEF\x03\x02\x02\x02,\xF5\x03\x02" + - "\x02\x02.\xF7\x03\x02\x02\x020\xFA\x03\x02\x02\x022\u0103\x03\x02\x02" + - "\x024\u010B\x03\x02\x02\x026\u0119\x03\x02\x02\x028\u011B\x03\x02\x02" + - "\x02:\u011F\x03\x02\x02\x02<\u0121\x03\x02\x02\x02>\u0123\x03\x02\x02" + - "\x02@\u0125\x03\x02\x02\x02B\u0128\x03\x02\x02\x02DE\x05\x04\x03\x02E" + - "F\x07\x02\x02\x03F\x03\x03\x02\x02\x02GH\b\x03\x01\x02HI\x05\x06\x04\x02" + - "IO\x03\x02\x02\x02JK\f\x03\x02\x02KL\x07\x0F\x02\x02LN\x05\b\x05\x02M" + - "J\x03\x02\x02\x02NQ\x03\x02\x02\x02OM\x03\x02\x02\x02OP\x03\x02\x02\x02" + - "P\x05\x03\x02\x02\x02QO\x03\x02\x02\x02RV\x05@!\x02SV\x05\x1A\x0E\x02" + - "TV\x05\x14\v\x02UR\x03\x02\x02\x02US\x03\x02\x02\x02UT\x03\x02\x02\x02" + - "V\x07\x03\x02\x02\x02W^\x05\x1C\x0F\x02X^\x05.\x18\x02Y^\x054\x1B\x02" + - "Z^\x050\x19\x02[^\x05\x1E\x10\x02\\^\x05\n\x06\x02]W\x03\x02\x02\x02]" + - "X\x03\x02\x02\x02]Y\x03\x02\x02\x02]Z\x03\x02\x02\x02][\x03\x02\x02\x02" + - "]\\\x03\x02\x02\x02^\t\x03\x02\x02\x02_`\x07\b\x02\x02`a\x05\f\x07\x02" + - "a\v\x03\x02\x02\x02bc\b\x07\x01\x02cd\x07 \x02\x02dg\x05\f\x07\x06eg\x05" + - "\x0E\b\x02fb\x03\x02\x02\x02fe\x03\x02\x02\x02gp\x03\x02\x02\x02hi\f\x04" + - "\x02\x02ij\x07\x14\x02\x02jo\x05\f\x07\x05kl\f\x03\x02\x02lm\x07#\x02" + - "\x02mo\x05\f\x07\x04nh\x03\x02\x02\x02nk\x03\x02\x02\x02or\x03\x02\x02" + - "\x02pn\x03\x02\x02\x02pq\x03\x02\x02\x02q\r\x03\x02\x02\x02rp\x03\x02" + - "\x02\x02st\x05*\x16\x02t}\x07\x1D\x02\x02uz\x05\"\x12\x02vw\x07\x17\x02" + - "\x02wy\x05\"\x12\x02xv\x03\x02\x02\x02y|\x03\x02\x02\x02zx\x03\x02\x02" + - "\x02z{\x03\x02\x02\x02{~\x03\x02\x02\x02|z\x03\x02\x02\x02}u\x03\x02\x02" + - "\x02}~\x03\x02\x02\x02~\x7F\x03\x02\x02\x02\x7F\x80\x07$\x02\x02\x80\x87" + - "\x03\x02\x02\x02\x81\x87\x05\x10\t\x02\x82\x83\x05\x10\t\x02\x83\x84\x05" + - "> \x02\x84\x85\x05\x10\t\x02\x85\x87\x03\x02\x02\x02\x86s\x03\x02\x02" + - "\x02\x86\x81\x03\x02\x02\x02\x86\x82\x03\x02\x02\x02\x87\x0F\x03\x02\x02" + - "\x02\x88\x89\b\t\x01\x02\x89\x8D\x05\x12\n\x02\x8A\x8B\t\x02\x02\x02\x8B" + - "\x8D\x05\x10\t\x05\x8C\x88\x03\x02\x02\x02\x8C\x8A\x03\x02\x02\x02\x8D" + - "\x96\x03\x02\x02\x02\x8E\x8F\f\x04\x02\x02\x8F\x90\t\x03\x02\x02\x90\x95" + - "\x05\x10\t\x05\x91\x92\f\x03\x02\x02\x92\x93\t\x02\x02\x02\x93\x95\x05" + - "\x10\t\x04\x94\x8E\x03\x02\x02\x02\x94\x91\x03\x02\x02\x02\x95\x98\x03" + - "\x02\x02\x02\x96\x94\x03\x02\x02\x02\x96\x97\x03\x02\x02\x02\x97\x11\x03" + - "\x02\x02\x02\x98\x96\x03\x02\x02\x02\x99\xAE\x05,\x17\x02\x9A\xAE\x05" + - "$\x13\x02\x9B\x9C\x07\x1D\x02\x02\x9C\x9D\x05\f\x07\x02\x9D\x9E\x07$\x02" + - "\x02\x9E\xAE\x03\x02\x02\x02\x9F\xA0\x05(\x15\x02\xA0\xA9\x07\x1D\x02" + - "\x02\xA1\xA6\x05\f\x07\x02\xA2\xA3\x07\x17\x02\x02\xA3\xA5\x05\f\x07\x02" + - "\xA4\xA2\x03\x02\x02\x02\xA5\xA8\x03\x02\x02\x02\xA6\xA4\x03\x02\x02\x02" + - "\xA6\xA7\x03\x02\x02\x02\xA7\xAA\x03\x02\x02\x02\xA8\xA6\x03\x02\x02\x02" + - "\xA9\xA1\x03\x02\x02\x02\xA9\xAA\x03\x02\x02\x02\xAA\xAB\x03\x02\x02\x02" + - "\xAB\xAC\x07$\x02\x02\xAC\xAE\x03\x02\x02\x02\xAD\x99\x03\x02\x02\x02" + - "\xAD\x9A\x03\x02\x02\x02\xAD\x9B\x03\x02\x02\x02\xAD\x9F\x03\x02\x02\x02" + - "\xAE\x13\x03\x02\x02\x02\xAF\xB0\x07\x06\x02\x02\xB0\xB1\x05\x16\f\x02" + - "\xB1\x15\x03\x02\x02\x02\xB2\xB7\x05\x18\r\x02\xB3\xB4\x07\x17\x02\x02" + - "\xB4\xB6\x05\x18\r\x02\xB5\xB3\x03\x02\x02\x02\xB6\xB9\x03\x02\x02\x02" + - "\xB7\xB5\x03\x02\x02\x02\xB7\xB8\x03\x02\x02\x02\xB8\x17\x03\x02\x02\x02" + - "\xB9\xB7\x03\x02\x02\x02\xBA\xBB\x05$\x13\x02\xBB\xBC\x07\x16\x02\x02" + - "\xBC\xBD\x05\x0E\b\x02\xBD\xC4\x03\x02\x02\x02\xBE\xC4\x05\f\x07\x02\xBF" + - "\xC0\x05$\x13\x02\xC0\xC1\x07\x16\x02\x02\xC1\xC2\x05\f\x07\x02\xC2\xC4" + - "\x03\x02\x02\x02\xC3\xBA\x03\x02\x02\x02\xC3\xBE\x03\x02\x02\x02\xC3\xBF" + - "\x03\x02\x02\x02\xC4\x19\x03\x02\x02\x02\xC5\xC6\x07\x05\x02\x02\xC6\xCB" + - "\x05 \x11\x02\xC7\xC8\x07\x17\x02\x02\xC8\xCA\x05 \x11\x02\xC9\xC7\x03" + - "\x02\x02\x02\xCA\xCD\x03\x02\x02\x02\xCB\xC9\x03\x02\x02\x02\xCB\xCC\x03" + - "\x02\x02\x02\xCC\x1B\x03\x02\x02\x02\xCD\xCB\x03\x02\x02\x02\xCE\xCF\x07" + - "\x03\x02\x02\xCF\xD0\x05\x16\f\x02\xD0\x1D\x03\x02\x02\x02\xD1\xD2\x07" + - "\x07\x02\x02\xD2\xD5\x05\x16\f\x02\xD3\xD4\x07\x13\x02\x02\xD4\xD6\x05" + - "&\x14\x02\xD5\xD3\x03\x02\x02\x02\xD5\xD6\x03\x02\x02\x02\xD6\x1F\x03" + - "\x02\x02\x02\xD7\xD8\t\x04\x02\x02\xD8!\x03\x02\x02\x02\xD9\xDC\x05$\x13" + - "\x02\xDA\xDC\x05<\x1F\x02\xDB\xD9\x03\x02\x02\x02\xDB\xDA\x03\x02\x02" + - "\x02\xDC#\x03\x02\x02\x02\xDD\xE2\x05(\x15\x02\xDE\xDF\x07\x19\x02\x02" + - "\xDF\xE1\x05(\x15\x02\xE0\xDE\x03\x02\x02\x02\xE1\xE4\x03\x02\x02\x02" + - "\xE2\xE0\x03\x02\x02\x02\xE2\xE3\x03\x02\x02\x02\xE3%\x03\x02\x02\x02" + - "\xE4\xE2\x03\x02\x02\x02\xE5\xEA\x05$\x13\x02\xE6\xE7\x07\x17\x02\x02" + - "\xE7\xE9\x05$\x13\x02\xE8\xE6\x03\x02\x02\x02\xE9\xEC\x03\x02\x02\x02" + - "\xEA\xE8\x03\x02\x02\x02\xEA\xEB\x03\x02\x02\x02\xEB\'\x03\x02\x02\x02" + - "\xEC\xEA\x03\x02\x02\x02\xED\xEE\t\x05\x02\x02\xEE)\x03\x02\x02\x02\xEF" + - "\xF0\t\x06\x02\x02\xF0+\x03\x02\x02\x02\xF1\xF6\x07!\x02\x02\xF2\xF6\x05" + - ":\x1E\x02\xF3\xF6\x058\x1D\x02\xF4\xF6\x05<\x1F\x02\xF5\xF1\x03\x02\x02" + - "\x02\xF5\xF2\x03\x02\x02\x02\xF5\xF3\x03\x02\x02\x02\xF5\xF4\x03\x02\x02" + - "\x02\xF6-\x03\x02\x02\x02\xF7\xF8\x07\n\x02\x02\xF8\xF9\x07\x11\x02\x02" + - "\xF9/\x03\x02\x02\x02\xFA\xFB\x07\t\x02\x02\xFB\u0100\x052\x1A\x02\xFC" + - "\xFD\x07\x17\x02\x02\xFD\xFF\x052\x1A\x02\xFE\xFC\x03\x02\x02\x02\xFF" + - "\u0102\x03\x02\x02\x02\u0100\xFE\x03\x02\x02\x02\u0100\u0101\x03\x02\x02" + - "\x02\u01011\x03\x02\x02\x02\u0102\u0100\x03\x02\x02\x02\u0103\u0105\x05" + - "\f\x07\x02\u0104\u0106\t\x07\x02\x02\u0105\u0104\x03\x02\x02\x02\u0105" + - "\u0106\x03\x02\x02\x02\u0106\u0109\x03\x02\x02\x02\u0107\u0108\x07\"\x02" + - "\x02\u0108\u010A\t\b\x02\x02\u0109\u0107\x03\x02\x02\x02\u0109\u010A\x03" + - "\x02\x02\x02\u010A3\x03\x02\x02\x02\u010B\u010C\x07\v\x02\x02\u010C\u0111" + - "\x056\x1C\x02\u010D\u010E\x07\x17\x02\x02\u010E\u0110\x056\x1C\x02\u010F" + - "\u010D\x03\x02\x02\x02\u0110\u0113\x03\x02\x02\x02\u0111\u010F\x03\x02" + - "\x02\x02\u0111\u0112\x03\x02\x02\x02\u01125\x03\x02\x02\x02\u0113\u0111" + - "\x03\x02\x02\x02\u0114\u011A\x05 \x11\x02\u0115\u0116\x05 \x11\x02\u0116" + - "\u0117\x07\x16\x02\x02\u0117\u0118\x05 \x11\x02\u0118\u011A\x03\x02\x02" + - "\x02\u0119\u0114\x03\x02\x02\x02\u0119\u0115\x03\x02\x02\x02\u011A7\x03" + - "\x02\x02\x02\u011B\u011C\t\t\x02\x02\u011C9\x03\x02\x02\x02\u011D\u0120" + - "\x07\x12\x02\x02\u011E\u0120\x07\x11\x02\x02\u011F\u011D\x03\x02\x02\x02" + - "\u011F\u011E\x03\x02\x02\x02\u0120;\x03\x02\x02\x02\u0121\u0122\x07\x10" + - "\x02\x02\u0122=\x03\x02\x02\x02\u0123\u0124\t\n\x02\x02\u0124?\x03\x02" + - "\x02\x02\u0125\u0126\x07\x04\x02\x02\u0126\u0127\x05B\"\x02\u0127A\x03" + - "\x02\x02\x02\u0128\u0129\x07\x1E\x02\x02\u0129\u012A\x05\x04\x03\x02\u012A" + - "\u012B\x07\x1F\x02\x02\u012BC\x03\x02\x02\x02\x1FOU]fnpz}\x86\x8C\x94" + - "\x96\xA6\xA9\xAD\xB7\xC3\xCB\xD5\xDB\xE2\xEA\xF5\u0100\u0105\u0109\u0111" + - "\u0119\u011F"; + "\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t\"\x04#" + + "\t#\x04$\t$\x04%\t%\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03" + + "\x03\x03\x03\x03\x03\x07\x03T\n\x03\f\x03\x0E\x03W\v\x03\x03\x04\x03\x04" + + "\x03\x04\x05\x04\\\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05" + + "\x05\x05d\n\x05\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07" + + "\x05\x07m\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x07\x07" + + "u\n\x07\f\x07\x0E\x07x\v\x07\x03\b\x03\b\x05\b|\n\b\x03\t\x03\t\x03\t" + + "\x03\t\x03\n\x03\n\x03\n\x03\n\x03\n\x07\n\x87\n\n\f\n\x0E\n\x8A\v\n\x05" + + "\n\x8C\n\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x03\v\x05\v\x95\n\v\x03" + + "\v\x03\v\x03\v\x03\v\x03\v\x03\v\x07\v\x9D\n\v\f\v\x0E\v\xA0\v\v\x03\f" + + "\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x07\f\xAD" + + "\n\f\f\f\x0E\f\xB0\v\f\x05\f\xB2\n\f\x03\f\x03\f\x05\f\xB6\n\f\x03\r\x03" + + "\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x07\x0E\xBE\n\x0E\f\x0E\x0E\x0E\xC1\v" + + "\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x05\x0F\xC8\n\x0F\x03\x10" + + "\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x07\x11\xD0\n\x11\f\x11\x0E\x11" + + "\xD3\v\x11\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x05" + + "\x13\xDC\n\x13\x03\x14\x03\x14\x03\x15\x03\x15\x05\x15\xE2\n\x15\x03\x16" + + "\x03\x16\x03\x16\x07\x16\xE7\n\x16\f\x16\x0E\x16\xEA\v\x16\x03\x17\x03" + + "\x17\x03\x17\x07\x17\xEF\n\x17\f\x17\x0E\x17\xF2\v\x17\x03\x18\x03\x18" + + "\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x05\x1A\xFC\n\x1A\x03" + + "\x1B\x03\x1B\x03\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x07\x1C\u0105\n\x1C" + + "\f\x1C\x0E\x1C\u0108\v\x1C\x03\x1D\x03\x1D\x05\x1D\u010C\n\x1D\x03\x1D" + + "\x03\x1D\x05\x1D\u0110\n\x1D\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x07\x1E\u0116" + + "\n\x1E\f\x1E\x0E\x1E\u0119\v\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F" + + "\x05\x1F\u0120\n\x1F\x03 \x03 \x03!\x03!\x05!\u0126\n!\x03\"\x03\"\x03" + + "#\x03#\x03$\x03$\x03$\x03%\x03%\x03%\x03%\x03%\x02\x02\x05\x04\f\x14&" + + "\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14" + + "\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E\x02 \x02\"\x02$\x02&\x02(\x02" + + "*\x02,\x02.\x020\x022\x024\x026\x028\x02:\x02<\x02>\x02@\x02B\x02D\x02" + + "F\x02H\x02\x02\x06\x03\x02!\"\x03\x02#%\x03\x02/0\x03\x02*+\x02\u0135" + + "\x02J\x03\x02\x02\x02\x04M\x03\x02\x02\x02\x06[\x03\x02\x02\x02\bc\x03" + + "\x02\x02\x02\ne\x03\x02\x02\x02\fl\x03\x02\x02\x02\x0E{\x03\x02\x02\x02" + + "\x10}\x03\x02\x02\x02\x12\x81\x03\x02\x02\x02\x14\x94\x03\x02\x02\x02" + + "\x16\xB5\x03\x02\x02\x02\x18\xB7\x03\x02\x02\x02\x1A\xBA\x03\x02\x02\x02" + + "\x1C\xC7\x03\x02\x02\x02\x1E\xC9\x03\x02\x02\x02 \xCB\x03\x02\x02\x02" + + "\"\xD4\x03\x02\x02\x02$\xD7\x03\x02\x02\x02&\xDD\x03\x02\x02\x02(\xE1" + + "\x03\x02\x02\x02*\xE3\x03\x02\x02\x02,\xEB\x03\x02\x02\x02.\xF3\x03\x02" + + "\x02\x020\xF5\x03\x02\x02\x022\xFB\x03\x02\x02\x024\xFD\x03\x02\x02\x02" + + "6\u0100\x03\x02\x02\x028\u0109\x03\x02\x02\x02:\u0111\x03\x02\x02\x02" + + "<\u011F\x03\x02\x02\x02>\u0121\x03\x02\x02\x02@\u0125\x03\x02\x02\x02" + + "B\u0127\x03\x02\x02\x02D\u0129\x03\x02\x02\x02F\u012B\x03\x02\x02\x02" + + "H\u012E\x03\x02\x02\x02JK\x05\x04\x03\x02KL\x07\x02\x02\x03L\x03\x03\x02" + + "\x02\x02MN\b\x03\x01\x02NO\x05\x06\x04\x02OU\x03\x02\x02\x02PQ\f\x03\x02" + + "\x02QR\x07\x0F\x02\x02RT\x05\b\x05\x02SP\x03\x02\x02\x02TW\x03\x02\x02" + + "\x02US\x03\x02\x02\x02UV\x03\x02\x02\x02V\x05\x03\x02\x02\x02WU\x03\x02" + + "\x02\x02X\\\x05F$\x02Y\\\x05 \x11\x02Z\\\x05\x18\r\x02[X\x03\x02\x02\x02" + + "[Y\x03\x02\x02\x02[Z\x03\x02\x02\x02\\\x07\x03\x02\x02\x02]d\x05\"\x12" + + "\x02^d\x054\x1B\x02_d\x05:\x1E\x02`d\x056\x1C\x02ad\x05$\x13\x02bd\x05" + + "\n\x06\x02c]\x03\x02\x02\x02c^\x03\x02\x02\x02c_\x03\x02\x02\x02c`\x03" + + "\x02\x02\x02ca\x03\x02\x02\x02cb\x03\x02\x02\x02d\t\x03\x02\x02\x02ef" + + "\x07\b\x02\x02fg\x05\f\x07\x02g\v\x03\x02\x02\x02hi\b\x07\x01\x02ij\x07" + + "\x1B\x02\x02jm\x05\f\x07\x06km\x05\x0E\b\x02lh\x03\x02\x02\x02lk\x03\x02" + + "\x02\x02mv\x03\x02\x02\x02no\f\x04\x02\x02op\x07\x14\x02\x02pu\x05\f\x07" + + "\x05qr\f\x03\x02\x02rs\x07\x1D\x02\x02su\x05\f\x07\x04tn\x03\x02\x02\x02" + + "tq\x03\x02\x02\x02ux\x03\x02\x02\x02vt\x03\x02\x02\x02vw\x03\x02\x02\x02" + + "w\r\x03\x02\x02\x02xv\x03\x02\x02\x02y|\x05\x14\v\x02z|\x05\x10\t\x02" + + "{y\x03\x02\x02\x02{z\x03\x02\x02\x02|\x0F\x03\x02\x02\x02}~\x05\x14\v" + + "\x02~\x7F\x05D#\x02\x7F\x80\x05\x14\v\x02\x80\x11\x03\x02\x02\x02\x81" + + "\x82\x050\x19\x02\x82\x8B\x07\x18\x02\x02\x83\x88\x05(\x15\x02\x84\x85" + + "\x07\x16\x02\x02\x85\x87\x05(\x15\x02\x86\x84\x03\x02\x02\x02\x87\x8A" + + "\x03\x02\x02\x02\x88\x86\x03\x02\x02\x02\x88\x89\x03\x02\x02\x02\x89\x8C" + + "\x03\x02\x02\x02\x8A\x88\x03\x02\x02\x02\x8B\x83\x03\x02\x02\x02\x8B\x8C" + + "\x03\x02\x02\x02\x8C\x8D\x03\x02\x02\x02\x8D\x8E\x07\x1E\x02\x02\x8E\x13" + + "\x03\x02\x02\x02\x8F\x90\b\v\x01\x02\x90\x95\x05\x16\f\x02\x91\x95\x05" + + "\x12\n\x02\x92\x93\t\x02\x02\x02\x93\x95\x05\x14\v\x05\x94\x8F\x03\x02" + + "\x02\x02\x94\x91\x03\x02\x02\x02\x94\x92\x03\x02\x02\x02\x95\x9E\x03\x02" + + "\x02\x02\x96\x97\f\x04\x02\x02\x97\x98\t\x03\x02\x02\x98\x9D\x05\x14\v" + + "\x05\x99\x9A\f\x03\x02\x02\x9A\x9B\t\x02\x02\x02\x9B\x9D\x05\x14\v\x04" + + "\x9C\x96\x03\x02\x02\x02\x9C\x99\x03\x02\x02\x02\x9D\xA0\x03\x02\x02\x02" + + "\x9E\x9C\x03\x02\x02\x02\x9E\x9F\x03\x02\x02\x02\x9F\x15\x03\x02\x02\x02" + + "\xA0\x9E\x03\x02\x02\x02\xA1\xB6\x052\x1A\x02\xA2\xB6\x05*\x16\x02\xA3" + + "\xA4\x07\x18\x02\x02\xA4\xA5\x05\f\x07\x02\xA5\xA6\x07\x1E\x02\x02\xA6" + + "\xB6\x03\x02\x02\x02\xA7\xA8\x05.\x18\x02\xA8\xB1\x07\x18\x02\x02\xA9" + + "\xAE\x05\f\x07\x02\xAA\xAB\x07\x16\x02\x02\xAB\xAD\x05\f\x07\x02\xAC\xAA" + + "\x03\x02\x02\x02\xAD\xB0\x03\x02\x02\x02\xAE\xAC\x03\x02\x02\x02\xAE\xAF" + + "\x03\x02\x02\x02\xAF\xB2\x03\x02\x02\x02\xB0\xAE\x03\x02\x02\x02\xB1\xA9" + + "\x03\x02\x02\x02\xB1\xB2\x03\x02\x02\x02\xB2\xB3\x03\x02\x02\x02\xB3\xB4" + + "\x07\x1E\x02\x02\xB4\xB6\x03\x02\x02\x02\xB5\xA1\x03\x02\x02\x02\xB5\xA2" + + "\x03\x02\x02\x02\xB5\xA3\x03\x02\x02\x02\xB5\xA7\x03\x02\x02\x02\xB6\x17" + + "\x03\x02\x02\x02\xB7\xB8\x07\x06\x02\x02\xB8\xB9\x05\x1A\x0E\x02\xB9\x19" + + "\x03\x02\x02\x02\xBA\xBF\x05\x1C\x0F\x02\xBB\xBC\x07\x16\x02\x02\xBC\xBE" + + "\x05\x1C\x0F\x02\xBD\xBB\x03\x02\x02\x02\xBE\xC1\x03\x02\x02\x02\xBF\xBD" + + "\x03\x02\x02\x02\xBF\xC0\x03\x02\x02\x02\xC0\x1B\x03\x02\x02\x02\xC1\xBF" + + "\x03\x02\x02\x02\xC2\xC8\x05\f\x07\x02\xC3\xC4\x05\x1E\x10\x02\xC4\xC5" + + "\x07\x15\x02\x02\xC5\xC6\x05\f\x07\x02\xC6\xC8\x03\x02\x02\x02\xC7\xC2" + + "\x03\x02\x02\x02\xC7\xC3\x03\x02\x02\x02\xC8\x1D\x03\x02\x02\x02\xC9\xCA" + + "\x05.\x18\x02\xCA\x1F\x03\x02\x02\x02\xCB\xCC\x07\x05\x02\x02\xCC\xD1" + + "\x05&\x14\x02\xCD\xCE\x07\x16\x02\x02\xCE\xD0\x05&\x14\x02\xCF\xCD\x03" + + "\x02\x02\x02\xD0\xD3\x03\x02\x02\x02\xD1\xCF\x03\x02\x02\x02\xD1\xD2\x03" + + "\x02\x02\x02\xD2!\x03\x02\x02\x02\xD3\xD1\x03\x02\x02\x02\xD4\xD5\x07" + + "\x03\x02\x02\xD5\xD6\x05\x1A\x0E\x02\xD6#\x03\x02\x02\x02\xD7\xD8\x07" + + "\x07\x02\x02\xD8\xDB\x05\x1A\x0E\x02\xD9\xDA\x07\x13\x02\x02\xDA\xDC\x05" + + ",\x17\x02\xDB\xD9\x03\x02\x02\x02\xDB\xDC\x03\x02\x02\x02\xDC%\x03\x02" + + "\x02\x02\xDD\xDE\t\x04\x02\x02\xDE\'\x03\x02\x02\x02\xDF\xE2\x05*\x16" + + "\x02\xE0\xE2\x05B\"\x02\xE1\xDF\x03\x02\x02\x02\xE1\xE0\x03\x02\x02\x02" + + "\xE2)\x03\x02\x02\x02\xE3\xE8\x05.\x18\x02\xE4\xE5\x07\x17\x02\x02\xE5" + + "\xE7\x05.\x18\x02\xE6\xE4\x03\x02\x02\x02\xE7\xEA\x03\x02\x02\x02\xE8" + + "\xE6\x03\x02\x02\x02\xE8\xE9\x03\x02\x02\x02\xE9+\x03\x02\x02\x02\xEA" + + "\xE8\x03\x02\x02\x02\xEB\xF0\x05*\x16\x02\xEC\xED\x07\x16\x02\x02\xED" + + "\xEF\x05*\x16\x02\xEE\xEC\x03\x02\x02\x02\xEF\xF2\x03\x02\x02\x02\xF0" + + "\xEE\x03\x02\x02\x02\xF0\xF1\x03\x02\x02\x02\xF1-\x03\x02\x02\x02\xF2" + + "\xF0\x03\x02\x02\x02\xF3\xF4\t\x05\x02\x02\xF4/\x03\x02\x02\x02\xF5\xF6" + + "\x07)\x02\x02\xF61\x03\x02\x02\x02\xF7\xFC\x07\x1C\x02\x02\xF8\xFC\x05" + + "@!\x02\xF9\xFC\x05> \x02\xFA\xFC\x05B\"\x02\xFB\xF7\x03\x02\x02\x02\xFB" + + "\xF8\x03\x02\x02\x02\xFB\xF9\x03\x02\x02\x02\xFB\xFA\x03\x02\x02\x02\xFC" + + "3\x03\x02\x02\x02\xFD\xFE\x07\n\x02\x02\xFE\xFF\x07\x11\x02\x02\xFF5\x03" + + "\x02\x02\x02\u0100\u0101\x07\t\x02\x02\u0101\u0106\x058\x1D\x02\u0102" + + "\u0103\x07\x16\x02\x02\u0103\u0105\x058\x1D\x02\u0104\u0102\x03\x02\x02" + + "\x02\u0105\u0108\x03\x02\x02\x02\u0106\u0104\x03\x02\x02\x02\u0106\u0107" + + "\x03\x02\x02\x02\u01077\x03\x02\x02\x02\u0108\u0106\x03\x02\x02\x02\u0109" + + "\u010B\x05\f\x07\x02\u010A\u010C\x07&\x02\x02\u010B\u010A\x03\x02\x02" + + "\x02\u010B\u010C\x03\x02\x02\x02\u010C\u010F\x03\x02\x02\x02\u010D\u010E" + + "\x07\'\x02\x02\u010E\u0110\x07(\x02\x02\u010F\u010D\x03\x02\x02\x02\u010F" + + "\u0110\x03\x02\x02\x02\u01109\x03\x02\x02\x02\u0111\u0112\x07\v\x02\x02" + + "\u0112\u0117\x05<\x1F\x02\u0113\u0114\x07\x16\x02\x02\u0114\u0116\x05" + + "<\x1F\x02\u0115\u0113\x03\x02\x02\x02\u0116\u0119\x03\x02\x02\x02\u0117" + + "\u0115\x03\x02\x02\x02\u0117\u0118\x03\x02\x02\x02\u0118;\x03\x02\x02" + + "\x02\u0119\u0117\x03\x02\x02\x02\u011A\u0120\x05&\x14\x02\u011B\u011C" + + "\x05&\x14\x02\u011C\u011D\x07\x15\x02\x02\u011D\u011E\x05&\x14\x02\u011E" + + "\u0120\x03\x02\x02\x02\u011F\u011A\x03\x02\x02\x02\u011F\u011B\x03\x02" + + "\x02\x02\u0120=\x03\x02\x02\x02\u0121\u0122\x07\x1F\x02\x02\u0122?\x03" + + "\x02\x02\x02\u0123\u0126\x07\x12\x02\x02\u0124\u0126\x07\x11\x02\x02\u0125" + + "\u0123\x03\x02\x02\x02\u0125\u0124\x03\x02\x02\x02\u0126A\x03\x02\x02" + + "\x02\u0127\u0128\x07\x10\x02\x02\u0128C\x03\x02\x02\x02\u0129\u012A\x07" + + " \x02\x02\u012AE\x03\x02\x02\x02\u012B\u012C\x07\x04\x02\x02\u012C\u012D" + + "\x05H%\x02\u012DG\x03\x02\x02\x02\u012E\u012F\x07\x19\x02\x02\u012F\u0130" + + "\x05\x04\x03\x02\u0130\u0131\x07\x1A\x02\x02\u0131I\x03\x02\x02\x02\x1F" + + "U[cltv{\x88\x8B\x94\x9C\x9E\xAE\xB1\xB5\xBF\xC7\xD1\xDB\xE1\xE8\xF0\xFB" + + "\u0106\u010B\u010F\u0117\u011F\u0125"; public static __ATN: ATN; public static get _ATN(): ATN { if (!esql_parser.__ATN) { @@ -2210,62 +2178,10 @@ export class WhereCommandContext extends ParserRuleContext { export class BooleanExpressionContext extends ParserRuleContext { - constructor(parent: ParserRuleContext | undefined, invokingState: number) { - super(parent, invokingState); - } - // @Override - public get ruleIndex(): number { return esql_parser.RULE_booleanExpression; } - public copyFrom(ctx: BooleanExpressionContext): void { - super.copyFrom(ctx); - } -} -export class LogicalNotContext extends BooleanExpressionContext { - public NOT(): TerminalNode { return this.getToken(esql_parser.NOT, 0); } - public booleanExpression(): BooleanExpressionContext { - return this.getRuleContext(0, BooleanExpressionContext); - } - constructor(ctx: BooleanExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterLogicalNot) { - listener.enterLogicalNot(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitLogicalNot) { - listener.exitLogicalNot(this); - } - } -} -export class BooleanDefaultContext extends BooleanExpressionContext { - public valueExpression(): ValueExpressionContext { - return this.getRuleContext(0, ValueExpressionContext); - } - constructor(ctx: BooleanExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterBooleanDefault) { - listener.enterBooleanDefault(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitBooleanDefault) { - listener.exitBooleanDefault(this); - } - } -} -export class LogicalBinaryContext extends BooleanExpressionContext { public _left: BooleanExpressionContext; public _operator: Token; public _right: BooleanExpressionContext; + public NOT(): TerminalNode | undefined { return this.tryGetToken(esql_parser.NOT, 0); } public booleanExpression(): BooleanExpressionContext[]; public booleanExpression(i: number): BooleanExpressionContext; public booleanExpression(i?: number): BooleanExpressionContext | BooleanExpressionContext[] { @@ -2275,100 +2191,59 @@ export class LogicalBinaryContext extends BooleanExpressionContext { return this.getRuleContext(i, BooleanExpressionContext); } } + public valueExpression(): ValueExpressionContext | undefined { + return this.tryGetRuleContext(0, ValueExpressionContext); + } public AND(): TerminalNode | undefined { return this.tryGetToken(esql_parser.AND, 0); } public OR(): TerminalNode | undefined { return this.tryGetToken(esql_parser.OR, 0); } - constructor(ctx: BooleanExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); + constructor(parent: ParserRuleContext | undefined, invokingState: number) { + super(parent, invokingState); } // @Override + public get ruleIndex(): number { return esql_parser.RULE_booleanExpression; } + // @Override public enterRule(listener: esql_parserListener): void { - if (listener.enterLogicalBinary) { - listener.enterLogicalBinary(this); + if (listener.enterBooleanExpression) { + listener.enterBooleanExpression(this); } } // @Override public exitRule(listener: esql_parserListener): void { - if (listener.exitLogicalBinary) { - listener.exitLogicalBinary(this); + if (listener.exitBooleanExpression) { + listener.exitBooleanExpression(this); } } } export class ValueExpressionContext extends ParserRuleContext { + public operatorExpression(): OperatorExpressionContext | undefined { + return this.tryGetRuleContext(0, OperatorExpressionContext); + } + public comparison(): ComparisonContext | undefined { + return this.tryGetRuleContext(0, ComparisonContext); + } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return esql_parser.RULE_valueExpression; } - public copyFrom(ctx: ValueExpressionContext): void { - super.copyFrom(ctx); - } -} -export class ValueFunctionExpressionContext extends ValueExpressionContext { - public functionIdentifier(): FunctionIdentifierContext { - return this.getRuleContext(0, FunctionIdentifierContext); - } - public LP(): TerminalNode { return this.getToken(esql_parser.LP, 0); } - public RP(): TerminalNode { return this.getToken(esql_parser.RP, 0); } - public functionExpressionArgument(): FunctionExpressionArgumentContext[]; - public functionExpressionArgument(i: number): FunctionExpressionArgumentContext; - public functionExpressionArgument(i?: number): FunctionExpressionArgumentContext | FunctionExpressionArgumentContext[] { - if (i === undefined) { - return this.getRuleContexts(FunctionExpressionArgumentContext); - } else { - return this.getRuleContext(i, FunctionExpressionArgumentContext); - } - } - public COMMA(): TerminalNode[]; - public COMMA(i: number): TerminalNode; - public COMMA(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(esql_parser.COMMA); - } else { - return this.getToken(esql_parser.COMMA, i); - } - } - constructor(ctx: ValueExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterValueFunctionExpression) { - listener.enterValueFunctionExpression(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitValueFunctionExpression) { - listener.exitValueFunctionExpression(this); - } - } -} -export class ValueExpressionDefaultContext extends ValueExpressionContext { - public operatorExpression(): OperatorExpressionContext { - return this.getRuleContext(0, OperatorExpressionContext); - } - constructor(ctx: ValueExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } // @Override public enterRule(listener: esql_parserListener): void { - if (listener.enterValueExpressionDefault) { - listener.enterValueExpressionDefault(this); + if (listener.enterValueExpression) { + listener.enterValueExpression(this); } } // @Override public exitRule(listener: esql_parserListener): void { - if (listener.exitValueExpressionDefault) { - listener.exitValueExpressionDefault(this); + if (listener.exitValueExpression) { + listener.exitValueExpression(this); } } } -export class ComparisonContext extends ValueExpressionContext { + + +export class ComparisonContext extends ParserRuleContext { public _left: OperatorExpressionContext; public _right: OperatorExpressionContext; public comparisonOperator(): ComparisonOperatorContext { @@ -2383,11 +2258,12 @@ export class ComparisonContext extends ValueExpressionContext { return this.getRuleContext(i, OperatorExpressionContext); } } - constructor(ctx: ValueExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); + constructor(parent: ParserRuleContext | undefined, invokingState: number) { + super(parent, invokingState); } // @Override + public get ruleIndex(): number { return esql_parser.RULE_comparison; } + // @Override public enterRule(listener: esql_parserListener): void { if (listener.enterComparison) { listener.enterComparison(this); @@ -2402,65 +2278,60 @@ export class ComparisonContext extends ValueExpressionContext { } -export class OperatorExpressionContext extends ParserRuleContext { - constructor(parent: ParserRuleContext | undefined, invokingState: number) { - super(parent, invokingState); - } - // @Override - public get ruleIndex(): number { return esql_parser.RULE_operatorExpression; } - public copyFrom(ctx: OperatorExpressionContext): void { - super.copyFrom(ctx); - } -} -export class OperatorExpressionDefaultContext extends OperatorExpressionContext { - public primaryExpression(): PrimaryExpressionContext { - return this.getRuleContext(0, PrimaryExpressionContext); - } - constructor(ctx: OperatorExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); +export class MathFnContext extends ParserRuleContext { + public functionIdentifier(): FunctionIdentifierContext { + return this.getRuleContext(0, FunctionIdentifierContext); } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterOperatorExpressionDefault) { - listener.enterOperatorExpressionDefault(this); + public LP(): TerminalNode { return this.getToken(esql_parser.LP, 0); } + public RP(): TerminalNode { return this.getToken(esql_parser.RP, 0); } + public functionExpressionArgument(): FunctionExpressionArgumentContext[]; + public functionExpressionArgument(i: number): FunctionExpressionArgumentContext; + public functionExpressionArgument(i?: number): FunctionExpressionArgumentContext | FunctionExpressionArgumentContext[] { + if (i === undefined) { + return this.getRuleContexts(FunctionExpressionArgumentContext); + } else { + return this.getRuleContext(i, FunctionExpressionArgumentContext); } } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitOperatorExpressionDefault) { - listener.exitOperatorExpressionDefault(this); + public COMMA(): TerminalNode[]; + public COMMA(i: number): TerminalNode; + public COMMA(i?: number): TerminalNode | TerminalNode[] { + if (i === undefined) { + return this.getTokens(esql_parser.COMMA); + } else { + return this.getToken(esql_parser.COMMA, i); } } -} -export class ArithmeticUnaryContext extends OperatorExpressionContext { - public _operator: Token; - public operatorExpression(): OperatorExpressionContext { - return this.getRuleContext(0, OperatorExpressionContext); - } - public MINUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.MINUS, 0); } - public PLUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.PLUS, 0); } - constructor(ctx: OperatorExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); + constructor(parent: ParserRuleContext | undefined, invokingState: number) { + super(parent, invokingState); } // @Override + public get ruleIndex(): number { return esql_parser.RULE_mathFn; } + // @Override public enterRule(listener: esql_parserListener): void { - if (listener.enterArithmeticUnary) { - listener.enterArithmeticUnary(this); + if (listener.enterMathFn) { + listener.enterMathFn(this); } } // @Override public exitRule(listener: esql_parserListener): void { - if (listener.exitArithmeticUnary) { - listener.exitArithmeticUnary(this); + if (listener.exitMathFn) { + listener.exitMathFn(this); } } } -export class ArithmeticBinaryContext extends OperatorExpressionContext { + + +export class OperatorExpressionContext extends ParserRuleContext { public _left: OperatorExpressionContext; public _operator: Token; public _right: OperatorExpressionContext; + public primaryExpression(): PrimaryExpressionContext | undefined { + return this.tryGetRuleContext(0, PrimaryExpressionContext); + } + public mathFn(): MathFnContext | undefined { + return this.tryGetRuleContext(0, MathFnContext); + } public operatorExpression(): OperatorExpressionContext[]; public operatorExpression(i: number): OperatorExpressionContext; public operatorExpression(i?: number): OperatorExpressionContext | OperatorExpressionContext[] { @@ -2470,111 +2341,39 @@ export class ArithmeticBinaryContext extends OperatorExpressionContext { return this.getRuleContext(i, OperatorExpressionContext); } } + public MINUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.MINUS, 0); } + public PLUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.PLUS, 0); } public ASTERISK(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ASTERISK, 0); } public SLASH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.SLASH, 0); } public PERCENT(): TerminalNode | undefined { return this.tryGetToken(esql_parser.PERCENT, 0); } - public PLUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.PLUS, 0); } - public MINUS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.MINUS, 0); } - constructor(ctx: OperatorExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterArithmeticBinary) { - listener.enterArithmeticBinary(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitArithmeticBinary) { - listener.exitArithmeticBinary(this); - } - } -} - - -export class PrimaryExpressionContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override - public get ruleIndex(): number { return esql_parser.RULE_primaryExpression; } - public copyFrom(ctx: PrimaryExpressionContext): void { - super.copyFrom(ctx); - } -} -export class ConstantDefaultContext extends PrimaryExpressionContext { - public constant(): ConstantContext { - return this.getRuleContext(0, ConstantContext); - } - constructor(ctx: PrimaryExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterConstantDefault) { - listener.enterConstantDefault(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitConstantDefault) { - listener.exitConstantDefault(this); - } - } -} -export class DereferenceContext extends PrimaryExpressionContext { - public qualifiedName(): QualifiedNameContext { - return this.getRuleContext(0, QualifiedNameContext); - } - constructor(ctx: PrimaryExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } + public get ruleIndex(): number { return esql_parser.RULE_operatorExpression; } // @Override public enterRule(listener: esql_parserListener): void { - if (listener.enterDereference) { - listener.enterDereference(this); + if (listener.enterOperatorExpression) { + listener.enterOperatorExpression(this); } } // @Override public exitRule(listener: esql_parserListener): void { - if (listener.exitDereference) { - listener.exitDereference(this); + if (listener.exitOperatorExpression) { + listener.exitOperatorExpression(this); } } } -export class ParenthesizedExpressionContext extends PrimaryExpressionContext { - public LP(): TerminalNode { return this.getToken(esql_parser.LP, 0); } - public booleanExpression(): BooleanExpressionContext { - return this.getRuleContext(0, BooleanExpressionContext); - } - public RP(): TerminalNode { return this.getToken(esql_parser.RP, 0); } - constructor(ctx: PrimaryExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); - } - // @Override - public enterRule(listener: esql_parserListener): void { - if (listener.enterParenthesizedExpression) { - listener.enterParenthesizedExpression(this); - } - } - // @Override - public exitRule(listener: esql_parserListener): void { - if (listener.exitParenthesizedExpression) { - listener.exitParenthesizedExpression(this); - } + + +export class PrimaryExpressionContext extends ParserRuleContext { + public constant(): ConstantContext | undefined { + return this.tryGetRuleContext(0, ConstantContext); } -} -export class FunctionExpressionContext extends PrimaryExpressionContext { - public identifier(): IdentifierContext { - return this.getRuleContext(0, IdentifierContext); + public qualifiedName(): QualifiedNameContext | undefined { + return this.tryGetRuleContext(0, QualifiedNameContext); } - public LP(): TerminalNode { return this.getToken(esql_parser.LP, 0); } - public RP(): TerminalNode { return this.getToken(esql_parser.RP, 0); } + public LP(): TerminalNode | undefined { return this.tryGetToken(esql_parser.LP, 0); } public booleanExpression(): BooleanExpressionContext[]; public booleanExpression(i: number): BooleanExpressionContext; public booleanExpression(i?: number): BooleanExpressionContext | BooleanExpressionContext[] { @@ -2584,6 +2383,10 @@ export class FunctionExpressionContext extends PrimaryExpressionContext { return this.getRuleContext(i, BooleanExpressionContext); } } + public RP(): TerminalNode | undefined { return this.tryGetToken(esql_parser.RP, 0); } + public identifier(): IdentifierContext | undefined { + return this.tryGetRuleContext(0, IdentifierContext); + } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { @@ -2593,20 +2396,21 @@ export class FunctionExpressionContext extends PrimaryExpressionContext { return this.getToken(esql_parser.COMMA, i); } } - constructor(ctx: PrimaryExpressionContext) { - super(ctx.parent, ctx.invokingState); - this.copyFrom(ctx); + constructor(parent: ParserRuleContext | undefined, invokingState: number) { + super(parent, invokingState); } // @Override + public get ruleIndex(): number { return esql_parser.RULE_primaryExpression; } + // @Override public enterRule(listener: esql_parserListener): void { - if (listener.enterFunctionExpression) { - listener.enterFunctionExpression(this); + if (listener.enterPrimaryExpression) { + listener.enterPrimaryExpression(this); } } // @Override public exitRule(listener: esql_parserListener): void { - if (listener.exitFunctionExpression) { - listener.exitFunctionExpression(this); + if (listener.exitPrimaryExpression) { + listener.exitPrimaryExpression(this); } } } @@ -2677,16 +2481,13 @@ export class FieldsContext extends ParserRuleContext { export class FieldContext extends ParserRuleContext { - public qualifiedName(): QualifiedNameContext | undefined { - return this.tryGetRuleContext(0, QualifiedNameContext); - } - public ASSIGN(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ASSIGN, 0); } - public valueExpression(): ValueExpressionContext | undefined { - return this.tryGetRuleContext(0, ValueExpressionContext); + public booleanExpression(): BooleanExpressionContext { + return this.getRuleContext(0, BooleanExpressionContext); } - public booleanExpression(): BooleanExpressionContext | undefined { - return this.tryGetRuleContext(0, BooleanExpressionContext); + public userVariable(): UserVariableContext | undefined { + return this.tryGetRuleContext(0, UserVariableContext); } + public ASSIGN(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ASSIGN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } @@ -2707,6 +2508,30 @@ export class FieldContext extends ParserRuleContext { } +export class UserVariableContext extends ParserRuleContext { + public identifier(): IdentifierContext { + return this.getRuleContext(0, IdentifierContext); + } + constructor(parent: ParserRuleContext | undefined, invokingState: number) { + super(parent, invokingState); + } + // @Override + public get ruleIndex(): number { return esql_parser.RULE_userVariable; } + // @Override + public enterRule(listener: esql_parserListener): void { + if (listener.enterUserVariable) { + listener.enterUserVariable(this); + } + } + // @Override + public exitRule(listener: esql_parserListener): void { + if (listener.exitUserVariable) { + listener.exitUserVariable(this); + } + } +} + + export class FromCommandContext extends ParserRuleContext { public FROM(): TerminalNode { return this.getToken(esql_parser.FROM, 0); } public sourceIdentifier(): SourceIdentifierContext[]; @@ -2953,11 +2778,7 @@ export class IdentifierContext extends ParserRuleContext { export class FunctionIdentifierContext extends ParserRuleContext { - public ROUND_FUNCTION_MATH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ROUND_FUNCTION_MATH, 0); } - public AVG_FUNCTION_MATH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.AVG_FUNCTION_MATH, 0); } - public SUM_FUNCTION_MATH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.SUM_FUNCTION_MATH, 0); } - public MIN_FUNCTION_MATH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.MIN_FUNCTION_MATH, 0); } - public MAX_FUNCTION_MATH(): TerminalNode | undefined { return this.tryGetToken(esql_parser.MAX_FUNCTION_MATH, 0); } + public UNARY_FUNCTION(): TerminalNode { return this.getToken(esql_parser.UNARY_FUNCTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } @@ -3136,16 +2957,12 @@ export class SortCommandContext extends ParserRuleContext { export class OrderExpressionContext extends ParserRuleContext { - public _ordering: Token; - public _nullOrdering: Token; public booleanExpression(): BooleanExpressionContext { return this.getRuleContext(0, BooleanExpressionContext); } - public NULLS(): TerminalNode | undefined { return this.tryGetToken(esql_parser.NULLS, 0); } - public ASC(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ASC, 0); } - public DESC(): TerminalNode | undefined { return this.tryGetToken(esql_parser.DESC, 0); } - public FIRST(): TerminalNode | undefined { return this.tryGetToken(esql_parser.FIRST, 0); } - public LAST(): TerminalNode | undefined { return this.tryGetToken(esql_parser.LAST, 0); } + public ORDERING(): TerminalNode | undefined { return this.tryGetToken(esql_parser.ORDERING, 0); } + public NULLS_ORDERING(): TerminalNode | undefined { return this.tryGetToken(esql_parser.NULLS_ORDERING, 0); } + public NULLS_ORDERING_DIRECTION(): TerminalNode | undefined { return this.tryGetToken(esql_parser.NULLS_ORDERING_DIRECTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } @@ -3240,8 +3057,7 @@ export class ProjectClauseContext extends ParserRuleContext { export class BooleanValueContext extends ParserRuleContext { - public TRUE(): TerminalNode | undefined { return this.tryGetToken(esql_parser.TRUE, 0); } - public FALSE(): TerminalNode | undefined { return this.tryGetToken(esql_parser.FALSE, 0); } + public BOOLEAN_VALUE(): TerminalNode { return this.getToken(esql_parser.BOOLEAN_VALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } @@ -3335,12 +3151,7 @@ export class StringContext extends ParserRuleContext { export class ComparisonOperatorContext extends ParserRuleContext { - public EQ(): TerminalNode | undefined { return this.tryGetToken(esql_parser.EQ, 0); } - public NEQ(): TerminalNode | undefined { return this.tryGetToken(esql_parser.NEQ, 0); } - public LT(): TerminalNode | undefined { return this.tryGetToken(esql_parser.LT, 0); } - public LTE(): TerminalNode | undefined { return this.tryGetToken(esql_parser.LTE, 0); } - public GT(): TerminalNode | undefined { return this.tryGetToken(esql_parser.GT, 0); } - public GTE(): TerminalNode | undefined { return this.tryGetToken(esql_parser.GTE, 0); } + public COMPARISON_OPERATOR(): TerminalNode { return this.getToken(esql_parser.COMPARISON_OPERATOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } diff --git a/packages/kbn-monaco/src/esql/antlr/esql_parser_listener.ts b/packages/kbn-monaco/src/esql/antlr/esql_parser_listener.ts index d3a3c68a13941..2b943a8bcff45 100644 --- a/packages/kbn-monaco/src/esql/antlr/esql_parser_listener.ts +++ b/packages/kbn-monaco/src/esql/antlr/esql_parser_listener.ts @@ -4,27 +4,14 @@ import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; -import { ValueFunctionExpressionContext } from "./esql_parser"; -import { ValueExpressionDefaultContext } from "./esql_parser"; -import { ComparisonContext } from "./esql_parser"; import { NullLiteralContext } from "./esql_parser"; import { NumericLiteralContext } from "./esql_parser"; import { BooleanLiteralContext } from "./esql_parser"; import { StringLiteralContext } from "./esql_parser"; import { DecimalLiteralContext } from "./esql_parser"; import { IntegerLiteralContext } from "./esql_parser"; -import { ConstantDefaultContext } from "./esql_parser"; -import { DereferenceContext } from "./esql_parser"; -import { ParenthesizedExpressionContext } from "./esql_parser"; -import { FunctionExpressionContext } from "./esql_parser"; import { SingleCommandQueryContext } from "./esql_parser"; import { CompositeQueryContext } from "./esql_parser"; -import { LogicalNotContext } from "./esql_parser"; -import { BooleanDefaultContext } from "./esql_parser"; -import { LogicalBinaryContext } from "./esql_parser"; -import { OperatorExpressionDefaultContext } from "./esql_parser"; -import { ArithmeticUnaryContext } from "./esql_parser"; -import { ArithmeticBinaryContext } from "./esql_parser"; import { SingleStatementContext } from "./esql_parser"; import { QueryContext } from "./esql_parser"; import { SourceCommandContext } from "./esql_parser"; @@ -32,11 +19,14 @@ import { ProcessingCommandContext } from "./esql_parser"; import { WhereCommandContext } from "./esql_parser"; import { BooleanExpressionContext } from "./esql_parser"; import { ValueExpressionContext } from "./esql_parser"; +import { ComparisonContext } from "./esql_parser"; +import { MathFnContext } from "./esql_parser"; import { OperatorExpressionContext } from "./esql_parser"; import { PrimaryExpressionContext } from "./esql_parser"; import { RowCommandContext } from "./esql_parser"; import { FieldsContext } from "./esql_parser"; import { FieldContext } from "./esql_parser"; +import { UserVariableContext } from "./esql_parser"; import { FromCommandContext } from "./esql_parser"; import { EvalCommandContext } from "./esql_parser"; import { StatsCommandContext } from "./esql_parser"; @@ -65,45 +55,6 @@ import { SubqueryExpressionContext } from "./esql_parser"; * `esql_parser`. */ export interface esql_parserListener extends ParseTreeListener { - /** - * Enter a parse tree produced by the `valueFunctionExpression` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - enterValueFunctionExpression?: (ctx: ValueFunctionExpressionContext) => void; - /** - * Exit a parse tree produced by the `valueFunctionExpression` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - exitValueFunctionExpression?: (ctx: ValueFunctionExpressionContext) => void; - - /** - * Enter a parse tree produced by the `valueExpressionDefault` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - enterValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void; - /** - * Exit a parse tree produced by the `valueExpressionDefault` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - exitValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void; - - /** - * Enter a parse tree produced by the `comparison` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - enterComparison?: (ctx: ComparisonContext) => void; - /** - * Exit a parse tree produced by the `comparison` - * labeled alternative in `esql_parser.valueExpression`. - * @param ctx the parse tree - */ - exitComparison?: (ctx: ComparisonContext) => void; - /** * Enter a parse tree produced by the `nullLiteral` * labeled alternative in `esql_parser.constant`. @@ -182,58 +133,6 @@ export interface esql_parserListener extends ParseTreeListener { */ exitIntegerLiteral?: (ctx: IntegerLiteralContext) => void; - /** - * Enter a parse tree produced by the `constantDefault` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - enterConstantDefault?: (ctx: ConstantDefaultContext) => void; - /** - * Exit a parse tree produced by the `constantDefault` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - exitConstantDefault?: (ctx: ConstantDefaultContext) => void; - - /** - * Enter a parse tree produced by the `dereference` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - enterDereference?: (ctx: DereferenceContext) => void; - /** - * Exit a parse tree produced by the `dereference` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - exitDereference?: (ctx: DereferenceContext) => void; - - /** - * Enter a parse tree produced by the `parenthesizedExpression` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - enterParenthesizedExpression?: (ctx: ParenthesizedExpressionContext) => void; - /** - * Exit a parse tree produced by the `parenthesizedExpression` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - exitParenthesizedExpression?: (ctx: ParenthesizedExpressionContext) => void; - - /** - * Enter a parse tree produced by the `functionExpression` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - enterFunctionExpression?: (ctx: FunctionExpressionContext) => void; - /** - * Exit a parse tree produced by the `functionExpression` - * labeled alternative in `esql_parser.primaryExpression`. - * @param ctx the parse tree - */ - exitFunctionExpression?: (ctx: FunctionExpressionContext) => void; - /** * Enter a parse tree produced by the `singleCommandQuery` * labeled alternative in `esql_parser.query`. @@ -260,84 +159,6 @@ export interface esql_parserListener extends ParseTreeListener { */ exitCompositeQuery?: (ctx: CompositeQueryContext) => void; - /** - * Enter a parse tree produced by the `logicalNot` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - enterLogicalNot?: (ctx: LogicalNotContext) => void; - /** - * Exit a parse tree produced by the `logicalNot` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - exitLogicalNot?: (ctx: LogicalNotContext) => void; - - /** - * Enter a parse tree produced by the `booleanDefault` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - enterBooleanDefault?: (ctx: BooleanDefaultContext) => void; - /** - * Exit a parse tree produced by the `booleanDefault` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - exitBooleanDefault?: (ctx: BooleanDefaultContext) => void; - - /** - * Enter a parse tree produced by the `logicalBinary` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - enterLogicalBinary?: (ctx: LogicalBinaryContext) => void; - /** - * Exit a parse tree produced by the `logicalBinary` - * labeled alternative in `esql_parser.booleanExpression`. - * @param ctx the parse tree - */ - exitLogicalBinary?: (ctx: LogicalBinaryContext) => void; - - /** - * Enter a parse tree produced by the `operatorExpressionDefault` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - enterOperatorExpressionDefault?: (ctx: OperatorExpressionDefaultContext) => void; - /** - * Exit a parse tree produced by the `operatorExpressionDefault` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - exitOperatorExpressionDefault?: (ctx: OperatorExpressionDefaultContext) => void; - - /** - * Enter a parse tree produced by the `arithmeticUnary` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - enterArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void; - /** - * Exit a parse tree produced by the `arithmeticUnary` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - exitArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void; - - /** - * Enter a parse tree produced by the `arithmeticBinary` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - enterArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void; - /** - * Exit a parse tree produced by the `arithmeticBinary` - * labeled alternative in `esql_parser.operatorExpression`. - * @param ctx the parse tree - */ - exitArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void; - /** * Enter a parse tree produced by `esql_parser.singleStatement`. * @param ctx the parse tree @@ -415,6 +236,28 @@ export interface esql_parserListener extends ParseTreeListener { */ exitValueExpression?: (ctx: ValueExpressionContext) => void; + /** + * Enter a parse tree produced by `esql_parser.comparison`. + * @param ctx the parse tree + */ + enterComparison?: (ctx: ComparisonContext) => void; + /** + * Exit a parse tree produced by `esql_parser.comparison`. + * @param ctx the parse tree + */ + exitComparison?: (ctx: ComparisonContext) => void; + + /** + * Enter a parse tree produced by `esql_parser.mathFn`. + * @param ctx the parse tree + */ + enterMathFn?: (ctx: MathFnContext) => void; + /** + * Exit a parse tree produced by `esql_parser.mathFn`. + * @param ctx the parse tree + */ + exitMathFn?: (ctx: MathFnContext) => void; + /** * Enter a parse tree produced by `esql_parser.operatorExpression`. * @param ctx the parse tree @@ -470,6 +313,17 @@ export interface esql_parserListener extends ParseTreeListener { */ exitField?: (ctx: FieldContext) => void; + /** + * Enter a parse tree produced by `esql_parser.userVariable`. + * @param ctx the parse tree + */ + enterUserVariable?: (ctx: UserVariableContext) => void; + /** + * Exit a parse tree produced by `esql_parser.userVariable`. + * @param ctx the parse tree + */ + exitUserVariable?: (ctx: UserVariableContext) => void; + /** * Enter a parse tree produced by `esql_parser.fromCommand`. * @param ctx the parse tree diff --git a/packages/kbn-monaco/src/esql/index.ts b/packages/kbn-monaco/src/esql/index.ts index e34fb4917fe02..46ae9fe7f6bcb 100644 --- a/packages/kbn-monaco/src/esql/index.ts +++ b/packages/kbn-monaco/src/esql/index.ts @@ -8,5 +8,5 @@ export { ESQL_LANG_ID, ESQL_THEME_ID } from './lib/constants'; export { ESQLLang } from './language'; - +export type { ESQLCustomAutocompleteCallbacks } from './lib/autocomplete/types'; export { buildESQlTheme } from './lib/monaco/esql_theme'; diff --git a/packages/kbn-monaco/src/esql/language.ts b/packages/kbn-monaco/src/esql/language.ts index 6da924ee2f0c7..8ab28106460fb 100644 --- a/packages/kbn-monaco/src/esql/language.ts +++ b/packages/kbn-monaco/src/esql/language.ts @@ -15,12 +15,15 @@ import type { ESQLWorker } from './worker/esql_worker'; import { DiagnosticsAdapter } from '../common/diagnostics_adapter'; import { WorkerProxyService } from '../common/worker_proxy'; +import { ESQLCompletionAdapter } from './lib/monaco/esql_completion_provider'; +import type { ESQLCustomAutocompleteCallbacks } from './lib/autocomplete/types'; + +const workerProxyService = new WorkerProxyService(); export const ESQLLang: CustomLangModuleType = { ID: ESQL_LANG_ID, async onLanguage() { const { ESQLTokensProvider } = await import('./lib/monaco'); - const workerProxyService = new WorkerProxyService(); workerProxyService.setup(ESQL_LANG_ID); @@ -28,4 +31,8 @@ export const ESQLLang: CustomLangModuleType = { new DiagnosticsAdapter(ESQL_LANG_ID, (...uris) => workerProxyService.getWorker(uris)); }, + + getSuggestionProvider(callbacks?: ESQLCustomAutocompleteCallbacks) { + return new ESQLCompletionAdapter((...uris) => workerProxyService.getWorker(uris), callbacks); + }, }; diff --git a/packages/kbn-monaco/src/esql/lib/antlr_facade.ts b/packages/kbn-monaco/src/esql/lib/antlr_facade.ts index d8c0c1f6e87e2..e6bf97e443140 100644 --- a/packages/kbn-monaco/src/esql/lib/antlr_facade.ts +++ b/packages/kbn-monaco/src/esql/lib/antlr_facade.ts @@ -10,10 +10,17 @@ import { CommonTokenStream, CodePointCharStream } from 'antlr4ts'; import { esql_lexer as ESQLLexer } from '../antlr/esql_lexer'; import { esql_parser as ESQLParser } from '../antlr/esql_parser'; +import type { esql_parserListener as ESQLParserListener } from '../antlr/esql_parser_listener'; import type { ANTLREErrorListener } from '../../common/error_listener'; -export const getParser = (inputStream: CodePointCharStream, errorListener: ANTLREErrorListener) => { +export const ROOT_STATEMENT = 'singleStatement'; + +export const getParser = ( + inputStream: CodePointCharStream, + errorListener: ANTLREErrorListener, + parseListener?: ESQLParserListener +) => { const lexer = getLexer(inputStream, errorListener); const tokenStream = new CommonTokenStream(lexer); const parser = new ESQLParser(tokenStream); @@ -21,6 +28,10 @@ export const getParser = (inputStream: CodePointCharStream, errorListener: ANTLR parser.removeErrorListeners(); parser.addErrorListener(errorListener); + if (parseListener) { + parser.addParseListener(parseListener); + } + return parser; }; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/comparison_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/comparison_commands.ts new file mode 100644 index 0000000000000..ec8cfe8e596c1 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/comparison_commands.ts @@ -0,0 +1,88 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import type { AutocompleteCommandDefinition } from '../types'; + +export const comparisonOperatorsCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'or', + insertText: 'or', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.orDoc', { + defaultMessage: 'or', + }), + sortText: 'D', + }, + { + label: 'and', + insertText: 'and', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.andDoc', { + defaultMessage: 'and', + }), + sortText: 'D', + }, +]; + +export const comparisonCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: '==', + insertText: '==', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.equalToDoc', { + defaultMessage: 'Equal to', + }), + sortText: 'D', + }, + { + label: '!=', + insertText: '!=', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.notEqualToDoc', { + defaultMessage: 'Not equal to', + }), + sortText: 'D', + }, + { + label: '<', + insertText: '<', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.lessThanDoc', { + defaultMessage: 'Less than', + }), + sortText: 'D', + }, + { + label: '>', + insertText: '>', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.greaterThanDoc', { + defaultMessage: 'Greater than', + }), + sortText: 'D', + }, + { + label: '<=', + insertText: '<=', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.lessThanOrEqualToDoc', { + defaultMessage: 'Less than or equal to', + }), + sortText: 'D', + }, + { + label: '>=', + insertText: '>=', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.greaterThanOrEqualToDoc', { + defaultMessage: 'Greater than or equal to', + }), + sortText: 'D', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/dynamic_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/dynamic_commands.ts new file mode 100644 index 0000000000000..aa9a9f1777ff3 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/dynamic_commands.ts @@ -0,0 +1,60 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import type { AutocompleteCommandDefinition } from '../types'; + +export const buildFieldsDefinitions = (fields: string[]): AutocompleteCommandDefinition[] => + fields.map((label) => ({ + label, + insertText: label, + kind: 4, + detail: i18n.translate('monaco.esql.autocomplete.fieldDefinition', { + defaultMessage: `Field specified by the input table`, + }), + sortText: 'D', + })); + +export const buildNewVarDefinition = (label: string): AutocompleteCommandDefinition => { + return { + label, + insertText: label, + kind: 21, + detail: i18n.translate('monaco.esql.autocomplete.newVarDoc', { + defaultMessage: 'Define a new variable', + }), + sortText: 'D', + }; +}; + +export const buildSourcesDefinitions = (sources: string[]): AutocompleteCommandDefinition[] => + sources.map((label) => ({ + label, + insertText: label, + kind: 21, + detail: i18n.translate('monaco.esql.autocomplete.sourceDefinition', { + defaultMessage: `Input table`, + }), + sortText: 'A', + })); + +export const buildConstantsDefinitions = ( + userConstants: string[], + detail?: string +): AutocompleteCommandDefinition[] => + userConstants.map((label) => ({ + label, + insertText: label, + kind: 14, + detail: + detail ?? + i18n.translate('monaco.esql.autocomplete.constantDefinition', { + defaultMessage: `User defined variable`, + }), + sortText: 'A', + })); diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/functions_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/functions_commands.ts new file mode 100644 index 0000000000000..119a443c40190 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/functions_commands.ts @@ -0,0 +1,87 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { buildDocumentation } from './utils'; + +import type { AutocompleteCommandDefinition } from '../types'; + +export const roundCommandDefinition: AutocompleteCommandDefinition = { + label: 'round', + insertText: 'round', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.roundDoc', { + defaultMessage: + 'Returns a number rounded to the decimal, specified by he closest integer value. The default is to round to an integer.', + }), + documentation: { + value: buildDocumentation('round(grouped[T]): aggregated[T]', [ + 'from index where field="value" | eval rounded = round(field)', + ]), + }, + sortText: 'C', +}; + +export const aggregationFunctionsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'avg', + insertText: 'avg', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.avgDoc', { + defaultMessage: 'Returns the average of the values in a field', + }), + documentation: { + value: buildDocumentation('avg(grouped[T]): aggregated[T]', [ + 'from index | stats average = avg(field)', + ]), + }, + sortText: 'C', + }, + { + label: 'max', + insertText: 'max', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.maxDoc', { + defaultMessage: 'Returns the maximum value in a field.', + }), + documentation: { + value: buildDocumentation('max(grouped[T]): aggregated[T]', [ + 'from index | stats max = max(field)', + ]), + }, + sortText: 'C', + }, + { + label: 'min', + insertText: 'min', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.minDoc', { + defaultMessage: 'Returns the minimum value in a field.', + }), + documentation: { + value: buildDocumentation('min(grouped[T]): aggregated[T]', [ + 'from index | stats min = min(field)', + ]), + }, + sortText: 'C', + }, + { + label: 'sum', + insertText: 'sum', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.sumDoc', { + defaultMessage: 'Returns the sum of the values in a field.', + }), + documentation: { + value: buildDocumentation('sum(grouped[T]): aggregated[T]', [ + 'from index | stats sum = sum(field)', + ]), + }, + sortText: 'C', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/index.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/index.ts new file mode 100644 index 0000000000000..ef096d678acc3 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/index.ts @@ -0,0 +1,36 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { aggregationFunctionsDefinitions, roundCommandDefinition } from './functions_commands'; +export { sourceCommandsDefinitions } from './source_commands'; +export { processingCommandsDefinitions, pipeDefinition } from './processing_commands'; + +export { + comparisonCommandsDefinitions, + comparisonOperatorsCommandsDefinitions, +} from './comparison_commands'; +export { + mathOperatorsCommandsDefinitions, + assignOperatorDefinition, + byOperatorDefinition, + openBracketDefinition, + closeBracketDefinition, +} from './operators_commands'; + +export { + orderingCommandsDefinitions, + nullsCommandsDefinition, + nullsOrderingCommandsDefinitions, +} from './ordering_commands'; + +export { + buildNewVarDefinition, + buildSourcesDefinitions, + buildFieldsDefinitions, + buildConstantsDefinitions, +} from './dynamic_commands'; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/operators_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/operators_commands.ts new file mode 100644 index 0000000000000..21a5f6260cedd --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/operators_commands.ts @@ -0,0 +1,89 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import type { AutocompleteCommandDefinition } from '../types'; + +export const byOperatorDefinition: AutocompleteCommandDefinition = { + label: 'by', + insertText: 'by ', + kind: 21, + detail: i18n.translate('monaco.esql.autocomplete.byDoc', { + defaultMessage: 'By', + }), + sortText: 'D', +}; + +export const assignOperatorDefinition: AutocompleteCommandDefinition = { + label: '=', + insertText: '=', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.assignDoc', { + defaultMessage: 'Assign (=)', + }), + sortText: 'D', +}; + +export const openBracketDefinition: AutocompleteCommandDefinition = { + label: '(', + insertText: '(', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.openBracketDoc', { + defaultMessage: 'Open Bracket (', + }), + sortText: 'A', +}; + +export const closeBracketDefinition: AutocompleteCommandDefinition = { + label: ')', + insertText: ')', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.closeBracketDoc', { + defaultMessage: 'Close Bracket )', + }), + sortText: 'A', +}; + +export const mathOperatorsCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: '+', + insertText: '+', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.addDoc', { + defaultMessage: 'Add (+)', + }), + sortText: 'D', + }, + { + label: '-', + insertText: '-', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.subtractDoc', { + defaultMessage: 'Subtract (-)', + }), + sortText: 'D', + }, + { + label: '/', + insertText: '/', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.divideDoc', { + defaultMessage: 'Divide (/)', + }), + sortText: 'D', + }, + { + label: '*', + insertText: '*', + kind: 11, + detail: i18n.translate('monaco.esql.autocomplete.multiplyDoc', { + defaultMessage: 'Multiply (*)', + }), + sortText: 'D', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/ordering_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/ordering_commands.ts new file mode 100644 index 0000000000000..6e932e742a69b --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/ordering_commands.ts @@ -0,0 +1,54 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; + +import type { AutocompleteCommandDefinition } from '../types'; + +export const orderingCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'asc', + insertText: 'asc', + kind: 17, + detail: i18n.translate('monaco.esql.autocomplete.ascDoc', { + defaultMessage: 'Ascending Order', + }), + sortText: 'D', + }, + { + label: 'desc', + insertText: 'desc', + kind: 17, + detail: i18n.translate('monaco.esql.autocomplete.descDoc', { + defaultMessage: 'Descending Order', + }), + sortText: 'D', + }, +]; + +export const nullsCommandsDefinition: AutocompleteCommandDefinition = { + label: 'nulls', + insertText: 'nulls', + kind: 13, + sortText: 'D', +}; + +export const nullsOrderingCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'first', + insertText: 'first', + kind: 13, + sortText: 'D', + }, + { + label: 'last', + insertText: 'last', + kind: 13, + sortText: 'D', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/processing_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/processing_commands.ts new file mode 100644 index 0000000000000..8dbc1ebe3d9c0 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/processing_commands.ts @@ -0,0 +1,99 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { buildDocumentation } from './utils'; + +import type { AutocompleteCommandDefinition } from '../types'; + +export const pipeDefinition: AutocompleteCommandDefinition = { + label: '|', + insertText: '|', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.pipeDoc', { + defaultMessage: 'Pipe (|)', + }), + sortText: 'B', +}; + +export const processingCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'stats', + insertText: 'stats', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.statsDoc', { + defaultMessage: + 'Calculates aggregate statistics, such as average, count, and sum, over the incoming search results set. Similar to SQL aggregation, if the stats command is used without a BY clause, only one row is returned, which is the aggregation over the entire incoming search results set. When you use a BY clause, one row is returned for each distinct value in the field specified in the BY clause. The stats command returns only the fields in the aggregation, and you can use a wide range of statistical functions with the stats command. When you perform more than one aggregation, separate each aggregation with a comma.', + }), + documentation: { + value: buildDocumentation( + 'stats aggs = fieldSpecification ( `,` fieldSpecification )* ( `by` groups = identifier ( `,` identifier )* )?', + ['… | stats sum(b) by b)', '… | stats avg = avg(a)'] + ), + }, + sortText: 'B', + }, + { + label: 'limit', + insertText: 'limit', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.limitDoc', { + defaultMessage: + 'Returns the first search results, in search order, based on the "limit" specified.', + }), + documentation: { + value: buildDocumentation('limit size = integerLiteral', ['… | limit 100', '… | limit 0']), + }, + sortText: 'B', + }, + { + label: 'eval', + insertText: 'eval', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.evalDoc', { + defaultMessage: + 'Calculates an expression and puts the resulting value into a search results field.', + }), + documentation: { + value: buildDocumentation('eval columns = fieldSpecification ( `,` fieldSpecification )*', [ + '… | eval a = b * c', + ]), + }, + sortText: 'B', + }, + { + label: 'sort', + insertText: 'sort', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.sortDoc', { + defaultMessage: + 'Sorts all results by the specified fields. When in descending order, the results missing a field are considered the smallest possible value of the field, or the largest possible value of the field when in ascending order.', + }), + documentation: { + value: buildDocumentation('sort orders = orderExpression ( `,` orderExpression )*', [ + '… | sort a desc, b nulls last, c asc nulls first', + '… | sort b nulls last`', + '… | sort c asc nulls first`', + ]), + }, + sortText: 'B', + }, + { + label: 'where', + insertText: 'where', + kind: 1, + detail: i18n.translate('monaco.esql.autocomplete.whereDoc', { + defaultMessage: + 'Uses "predicate-expressions" to filter search results. A predicate expression, when evaluated, returns TRUE or FALSE. The where command only returns the results that evaluate to TRUE. For example, to filter results for a specific field value', + }), + documentation: { + value: buildDocumentation('where condition = expression', ['… | where status_code == 200']), + }, + sortText: 'B', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/source_commands.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/source_commands.ts new file mode 100644 index 0000000000000..a14f776de1bbf --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/source_commands.ts @@ -0,0 +1,31 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { buildDocumentation } from './utils'; + +import type { AutocompleteCommandDefinition } from '../types'; + +export const sourceCommandsDefinitions: AutocompleteCommandDefinition[] = [ + { + label: 'from', + insertText: 'from', + kind: 0, + detail: i18n.translate('monaco.esql.autocomplete.fromDoc', { + defaultMessage: + 'Retrieves data from one or more datasets. A dataset is a collection of data that you want to search. The only supported dataset is an index. In a query or subquery, you must use the from command first and it does not need a leading pipe. For example, to retrieve data from an index:', + }), + documentation: { + value: buildDocumentation( + 'from` indexPatterns = wildcardIdentifier (`,` wildcardIdentifier)*', + ['from logs', 'from logs-*', 'from logs_*, events-*', 'from from remote*:logs*'] + ), + }, + sortText: 'A', + }, +]; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/utils.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/utils.ts new file mode 100644 index 0000000000000..87b0c6dc087aa --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_definitions/utils.ts @@ -0,0 +1,39 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; + +const declarationLabel = i18n.translate('monaco.esql.autocomplete.declarationLabel', { + defaultMessage: 'Declaration:', +}); + +const examplesLabel = i18n.translate('monaco.esql.autocomplete.examplesLabel', { + defaultMessage: 'Examples:', +}); + +/** @internal **/ +export const buildDocumentation = (declaration: string, examples?: string[]) => ` +--- +\ +***${declarationLabel}*** +\ + - \`\`${declaration}\`\` +\ +--- +${ + examples + ? `\ +***${examplesLabel}*** +\ +${examples.map( + (i) => ` + - \`\`${i}\`\` +` +)}` + : '' +}`; diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.test.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.test.ts new file mode 100644 index 0000000000000..157d111154f1f --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.test.ts @@ -0,0 +1,109 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CharStreams } from 'antlr4ts'; +import { AutocompleteListener } from './autocomplete_listener'; +import { ANTLREErrorListener } from '../../../common/error_listener'; + +import { getParser, ROOT_STATEMENT } from '../antlr_facade'; + +import { isDynamicAutocompleteItem } from './dymanic_item'; + +describe('autocomplete_listener', () => { + const getAutocompleteSuggestions = (text: string) => { + const errorListener = new ANTLREErrorListener(); + const parseListener = new AutocompleteListener(); + const parser = getParser(CharStreams.fromString(text), errorListener, parseListener); + + parser[ROOT_STATEMENT](); + + return parseListener.getAutocompleteSuggestions(); + }; + + const testSuggestions = (text: string, expected: string[]) => { + test(`${text} => [${expected.join(',')}]`, () => { + const { suggestions } = getAutocompleteSuggestions(text); + expect(suggestions.map((i) => (isDynamicAutocompleteItem(i) ? i : i.label))).toEqual( + expected + ); + }); + }; + + describe('from', () => { + testSuggestions('f', ['from']); + testSuggestions('from ', ['SourceIdentifier']); + testSuggestions('from a,', ['SourceIdentifier']); + testSuggestions('from a, b ', ['|']); + }); + + describe('where', () => { + testSuggestions('from a | where ', ['FieldIdentifier']); + testSuggestions('from a | where "field" ', ['==', '!=', '<', '>', '<=', '>=']); + testSuggestions('from a | where "field" >= ', ['FieldIdentifier']); + testSuggestions('from a | where "field" >= "field1" ', ['or', 'and', '|']); + testSuggestions('from a | where "field" >= "field1" and ', ['FieldIdentifier']); + testSuggestions('from a | where "field" >= "field1" and "field2" ', [ + '==', + '!=', + '<', + '>', + '<=', + '>=', + ]); + testSuggestions('from a | stats a=avg("field") | where a ', ['==', '!=', '<', '>', '<=', '>=']); + testSuggestions('from a | stats a=avg("b") | where "c" ', ['==', '!=', '<', '>', '<=', '>=']); + testSuggestions('from a | where "field" >= "field1" and "field2 == ', ['FieldIdentifier']); + }); + + describe('sort', () => { + testSuggestions('from a | sort ', ['FieldIdentifier']); + testSuggestions('from a | sort "field" ', ['asc', 'desc']); + testSuggestions('from a | sort "field" desc ', ['nulls']); + testSuggestions('from a | sort "field" desc nulls ', ['first', 'last']); + }); + + describe('limit', () => { + testSuggestions('from a | limit ', ['1000']); + testSuggestions('from a | limit 4 ', ['|']); + }); + + describe('stats', () => { + testSuggestions('from a | stats ', ['var0']); + testSuggestions('from a | stats a ', ['=']); + testSuggestions('from a | stats a=', ['avg', 'max', 'min', 'sum', 'FieldIdentifier']); + testSuggestions('from a | stats a=b', ['|', 'by']); + testSuggestions('from a | stats a=b by ', ['FieldIdentifier']); + testSuggestions('from a | stats a=c by d', ['|']); + testSuggestions('from a | stats a=b, ', ['var0']); + testSuggestions('from a | stats a=max', ['(']); + testSuggestions('from a | stats a=min(', ['FieldIdentifier']); + testSuggestions('from a | stats a=min(b', [')', 'FieldIdentifier']); + testSuggestions('from a | stats a=min(b) ', ['|', 'by']); + testSuggestions('from a | stats a=min(b) by ', ['FieldIdentifier']); + testSuggestions('from a | stats a=min(b),', ['var0']); + testSuggestions('from a | stats var0=min(b),var1=c,', ['var2']); + testSuggestions('from a | stats a=min(b), b=max(', ['FieldIdentifier']); + }); + + describe('eval', () => { + testSuggestions('from a | eval ', ['var0']); + testSuggestions('from a | eval a ', ['=']); + testSuggestions('from a | eval a=', ['round', 'FieldIdentifier']); + testSuggestions('from a | eval a=b', ['|', '+', '-', '/', '*']); + testSuggestions('from a | eval a=b, ', ['var0']); + testSuggestions('from a | eval a=round', ['(']); + testSuggestions('from a | eval a=round(', ['FieldIdentifier']); + testSuggestions('from a | eval a=round(b) ', ['|', '+', '-', '/', '*']); + testSuggestions('from a | eval a=round(b),', ['var0']); + testSuggestions('from a | eval a=round(b) +', ['FieldIdentifier']); + testSuggestions('from a | eval a=round(b', [')', 'FieldIdentifier']); + testSuggestions('from a | eval a=round(b), b=round(', ['FieldIdentifier']); + testSuggestions('from a | stats a=round(b), b=round(', ['FieldIdentifier']); + testSuggestions('from a | eval var0=round(b), var1=round(c) | stats ', ['var2']); + }); +}); diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.ts new file mode 100644 index 0000000000000..d3cda17124349 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/autocomplete_listener.ts @@ -0,0 +1,316 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import type { TerminalNode } from 'antlr4ts/tree/TerminalNode'; +import type { AutocompleteCommandDefinition, UserDefinedVariables } from './types'; +import { DynamicAutocompleteItem } from './dymanic_item'; + +import { esql_parserListener as ESQLParserListener } from '../../antlr/esql_parser_listener'; +import { esql_parser, esql_parser as ESQLParser } from '../../antlr/esql_parser'; + +import { + processingCommandsDefinitions, + sourceCommandsDefinitions, + orderingCommandsDefinitions, + nullsCommandsDefinition, + nullsOrderingCommandsDefinitions, + comparisonCommandsDefinitions, + comparisonOperatorsCommandsDefinitions, + byOperatorDefinition, + pipeDefinition, + openBracketDefinition, + closeBracketDefinition, + mathOperatorsCommandsDefinitions, + aggregationFunctionsDefinitions, + roundCommandDefinition, + assignOperatorDefinition, + buildConstantsDefinitions, + buildNewVarDefinition, +} from './autocomplete_definitions'; + +import { + EvalCommandContext, + StatsCommandContext, + ComparisonContext, + WhereCommandContext, + SourceCommandContext, + OrderExpressionContext, + FieldContext, + QualifiedNameContext, + ProcessingCommandContext, + SourceIdentifierContext, + UserVariableContext, + BooleanExpressionContext, + LimitCommandContext, + ValueExpressionContext, +} from '../../antlr/esql_parser'; + +export class AutocompleteListener implements ESQLParserListener { + private suggestions: Array = []; + private readonly userDefinedVariables: UserDefinedVariables = { + sourceIdentifiers: [], + }; + private readonly tables: string[][] = []; + private parentContext: number | undefined; + + private get fields() { + return this.tables.length > 1 + ? buildConstantsDefinitions(this.tables.at(-2)!) + : [DynamicAutocompleteItem.FieldIdentifier]; + } + + private get hasSuggestions() { + return Boolean(this.suggestions.length); + } + + private isTerminalNodeExists(node: TerminalNode | undefined) { + return node && node.payload?.startIndex >= 0; + } + + private getEndCommandSuggestions(skipDefinitions: AutocompleteCommandDefinition[] = []) { + const suggestions = [pipeDefinition]; + + if ( + !skipDefinitions.find((i) => i === byOperatorDefinition) && + this.parentContext === ESQLParser.STATS + ) { + suggestions.push(byOperatorDefinition); + } + return suggestions; + } + + private getNewVarName() { + const vars = this.tables.flat(); + let index = 0; + + while (true) { + const value = `var${index}`; + if (!vars.includes(value)) { + return value; + } + index++; + } + } + + getAutocompleteSuggestions() { + return { + suggestions: this.suggestions, + userDefinedVariables: this.userDefinedVariables, + }; + } + + /** ESQLParserListener fields **/ + + enterSourceCommand(ctx: SourceCommandContext) { + this.suggestions = []; + } + + exitSourceCommand(ctx: SourceCommandContext) { + if (ctx.exception) { + this.suggestions = sourceCommandsDefinitions; + } else if (!this.hasSuggestions) { + this.suggestions = this.getEndCommandSuggestions(); + } + } + + exitSourceIdentifier(ctx: SourceIdentifierContext) { + if (!ctx.childCount) { + this.suggestions = [DynamicAutocompleteItem.SourceIdentifier]; + } else if (!ctx.exception && ctx.text) { + this.userDefinedVariables.sourceIdentifiers.push(ctx.text); + } + } + + enterProcessingCommand(ctx: ProcessingCommandContext) { + this.tables.push([]); + this.suggestions = []; + this.parentContext = undefined; + } + + exitProcessingCommand(ctx: ProcessingCommandContext) { + if (ctx.exception) { + this.suggestions = processingCommandsDefinitions; + } + this.parentContext = undefined; + } + + enterStatsCommand(ctx: StatsCommandContext) { + this.suggestions = []; + this.parentContext = ESQLParser.STATS; + } + + enterEvalCommand(ctx: EvalCommandContext) { + this.suggestions = []; + this.parentContext = ESQLParser.EVAL; + } + + exitStatsCommand(ctx: StatsCommandContext) { + const qn = ctx.qualifiedNames(); + if (qn && qn.text) { + this.suggestions = this.getEndCommandSuggestions([byOperatorDefinition]); + } + } + + exitQualifiedName(ctx: QualifiedNameContext) { + if ( + ctx + .identifier() + .some( + (i) => + !( + this.isTerminalNodeExists(i.QUOTED_IDENTIFIER()) || + this.isTerminalNodeExists(i.UNQUOTED_IDENTIFIER()) + ) + ) + ) { + this.suggestions = this.fields; + } + } + + enterField(ctx: FieldContext) { + this.suggestions = []; + } + + exitField(ctx: FieldContext) { + const hasAssign = this.isTerminalNodeExists(ctx.ASSIGN()); + + if (ctx.exception) { + if (!hasAssign) { + this.suggestions = [buildNewVarDefinition(this.getNewVarName())]; + return; + } + } else { + if (!hasAssign) { + this.suggestions = [assignOperatorDefinition]; + } + } + } + + exitUserVariable(ctx: UserVariableContext) { + if (!ctx.exception && ctx.text) { + this.tables.at(-1)?.push(ctx.text); + } + } + + enterBooleanExpression(ctx: BooleanExpressionContext) { + this.suggestions = []; + } + + exitBooleanExpression(ctx: BooleanExpressionContext) { + if (ctx.exception) { + const ve = ctx.valueExpression(); + if (!ve) { + if (this.parentContext === ESQLParser.STATS) { + this.suggestions = [...aggregationFunctionsDefinitions, ...this.fields]; + return; + } + + if (this.parentContext === ESQLParser.EVAL) { + this.suggestions = [roundCommandDefinition, ...this.fields]; + return; + } + } + } + } + + exitValueExpression(ctx: ValueExpressionContext) { + const isInStats = this.parentContext === ESQLParser.STATS; + const isInEval = this.parentContext === ESQLParser.EVAL; + + if (this.parentContext && (isInStats || isInEval)) { + const hasFN = ctx.tryGetToken(esql_parser.UNARY_FUNCTION, 0); + const hasLP = ctx.tryGetToken(esql_parser.LP, 0); + const hasRP = ctx.tryGetToken(esql_parser.RP, 0); + + if (hasFN) { + if (!hasLP) { + this.suggestions = [openBracketDefinition]; + return; + } + if (!hasRP) { + if (ctx.childCount === 3) { + this.suggestions = [closeBracketDefinition, ...this.fields]; + return; + } + } + } else { + if (ctx.childCount === 1) { + this.suggestions = [ + ...this.getEndCommandSuggestions(), + ...(isInEval ? mathOperatorsCommandsDefinitions : []), + ]; + return; + } + } + this.suggestions = this.fields; + } + } + + enterWhereCommand(ctx: WhereCommandContext) { + this.suggestions = []; + this.parentContext = ESQLParser.WHERE; + } + + exitWhereCommand(ctx: WhereCommandContext) { + const booleanExpression = ctx.booleanExpression(); + + if (booleanExpression.exception) { + this.suggestions = this.fields; + return; + } else { + const innerBooleanExpressions = booleanExpression.getRuleContexts(BooleanExpressionContext); + if (innerBooleanExpressions.some((be) => be.exception)) { + this.suggestions = this.fields; + return; + } + } + if (!this.hasSuggestions) { + this.suggestions = comparisonCommandsDefinitions; + } + } + + exitComparison(ctx: ComparisonContext) { + const operatorExpression = ctx.operatorExpression(); + if (operatorExpression.some((o) => o.exception)) { + this.suggestions = this.fields; + return; + } + this.suggestions = [ + ...comparisonOperatorsCommandsDefinitions, + ...this.getEndCommandSuggestions(), + ]; + } + + exitOrderExpression(ctx: OrderExpressionContext) { + if (ctx.booleanExpression().exception) { + this.suggestions = this.fields; + return; + } + if (!this.isTerminalNodeExists(ctx.ORDERING())) { + this.suggestions = orderingCommandsDefinitions; + return; + } + if (!this.isTerminalNodeExists(ctx.NULLS_ORDERING())) { + this.suggestions = [nullsCommandsDefinition]; + return; + } + if (!this.isTerminalNodeExists(ctx.NULLS_ORDERING_DIRECTION())) { + this.suggestions = nullsOrderingCommandsDefinitions; + return; + } + } + + exitLimitCommand(ctx: LimitCommandContext) { + const DEFAULT_LIMIT_SIZE = 1000; + + if (!this.isTerminalNodeExists(ctx.INTEGER_LITERAL())) { + this.suggestions = buildConstantsDefinitions([DEFAULT_LIMIT_SIZE.toString()], ''); + } else { + this.suggestions = this.getEndCommandSuggestions(); + } + } +} diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/dymanic_item.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/dymanic_item.ts new file mode 100644 index 0000000000000..b819dc34059a1 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/dymanic_item.ts @@ -0,0 +1,18 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export enum DynamicAutocompleteItem { + SourceIdentifier = 'SourceIdentifier', + FieldIdentifier = 'FieldIdentifier', +} + +export function isDynamicAutocompleteItem(v: unknown): v is DynamicAutocompleteItem { + return ( + v === DynamicAutocompleteItem.SourceIdentifier || v === DynamicAutocompleteItem.FieldIdentifier + ); +} diff --git a/packages/kbn-monaco/src/esql/lib/autocomplete/types.ts b/packages/kbn-monaco/src/esql/lib/autocomplete/types.ts new file mode 100644 index 0000000000000..58438baa298a9 --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/autocomplete/types.ts @@ -0,0 +1,32 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { monaco } from '../../../..'; + +/** @public **/ +export interface ESQLCustomAutocompleteCallbacks { + getSourceIdentifiers?: CallbackFn; + getFieldsIdentifiers?: CallbackFn; +} + +/** @internal **/ +type CallbackFn = (ctx: { + word: string; + userDefinedVariables: UserDefinedVariables; +}) => string[] | Promise; + +/** @internal **/ +export interface UserDefinedVariables { + sourceIdentifiers: string[]; +} + +/** @internal **/ +export type AutocompleteCommandDefinition = Pick< + monaco.languages.CompletionItem, + 'label' | 'insertText' | 'kind' | 'detail' | 'documentation' | 'sortText' +>; diff --git a/packages/kbn-monaco/src/esql/lib/monaco/esql_completion_provider.ts b/packages/kbn-monaco/src/esql/lib/monaco/esql_completion_provider.ts new file mode 100644 index 0000000000000..40393fe1b844d --- /dev/null +++ b/packages/kbn-monaco/src/esql/lib/monaco/esql_completion_provider.ts @@ -0,0 +1,111 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { monaco } from '../../../monaco_imports'; +import { DynamicAutocompleteItem, isDynamicAutocompleteItem } from '../autocomplete/dymanic_item'; +import { + buildFieldsDefinitions, + buildSourcesDefinitions, +} from '../autocomplete/autocomplete_definitions/dynamic_commands'; + +import type { + AutocompleteCommandDefinition, + ESQLCustomAutocompleteCallbacks, + UserDefinedVariables, +} from '../autocomplete/types'; +import type { ESQLWorker } from '../../worker/esql_worker'; + +const emptyCompletionList: monaco.languages.CompletionList = { + incomplete: false, + suggestions: [], +}; + +export class ESQLCompletionAdapter implements monaco.languages.CompletionItemProvider { + constructor( + private worker: (...uris: monaco.Uri[]) => Promise, + private callbacks?: ESQLCustomAutocompleteCallbacks + ) {} + + public triggerCharacters = ['(', ' ', '']; + + private async injectDynamicAutocompleteItems( + suggestions: Array, + ctx: { + word: string; + userDefinedVariables: UserDefinedVariables; + } + ): Promise { + let result: AutocompleteCommandDefinition[] = []; + + for (const suggestion of suggestions) { + if (isDynamicAutocompleteItem(suggestion)) { + let dynamicItems: AutocompleteCommandDefinition[] = []; + + if (suggestion === DynamicAutocompleteItem.SourceIdentifier) { + dynamicItems = buildSourcesDefinitions( + (await this.callbacks?.getSourceIdentifiers?.(ctx)) ?? [] + ); + } + + if (suggestion === DynamicAutocompleteItem.FieldIdentifier) { + dynamicItems = buildFieldsDefinitions( + (await this.callbacks?.getFieldsIdentifiers?.(ctx)) ?? [] + ); + } + result = [...result, ...dynamicItems]; + } else { + result = [...result, suggestion]; + } + } + + return result; + } + + async provideCompletionItems( + model: monaco.editor.IReadOnlyModel, + position: monaco.Position + ): Promise { + const lines = model.getLineCount(); + + if ( + lines !== position.lineNumber || + model.getLineContent(position.lineNumber).trimEnd().length >= position.column + ) { + return emptyCompletionList; + } + + const worker = await this.worker(model.uri); + const wordInfo = model.getWordUntilPosition(position); + + const providedSuggestions = await worker.provideAutocompleteSuggestions(model.uri.toString(), { + word: wordInfo.word, + line: position.lineNumber, + index: position.column, + }); + + const withDynamicItems = providedSuggestions + ? await this.injectDynamicAutocompleteItems(providedSuggestions.suggestions, { + word: wordInfo.word, + userDefinedVariables: providedSuggestions.userDefinedVariables, + }) + : []; + + return { + incomplete: true, + suggestions: withDynamicItems.map((i) => ({ + ...i, + range: { + startLineNumber: position.lineNumber, + endLineNumber: position.lineNumber, + startColumn: wordInfo.startColumn, + endColumn: wordInfo.endColumn, + }, + })), + }; + } +} diff --git a/packages/kbn-monaco/src/esql/lib/monaco/esql_theme.ts b/packages/kbn-monaco/src/esql/lib/monaco/esql_theme.ts index 7e150ddc74872..94c3c6bbe6897 100644 --- a/packages/kbn-monaco/src/esql/lib/monaco/esql_theme.ts +++ b/packages/kbn-monaco/src/esql/lib/monaco/esql_theme.ts @@ -39,6 +39,14 @@ export const buildESQlTheme = (): monaco.editor.IStandaloneThemeData => ({ 'quoted_identifier', 'src_ws', 'unquoted_identifier', + 'pipe', + 'not', + 'percent', + 'integer_literal', + 'decimal_literal', + 'src_unquoted_identifier', + 'src_quoted_identifier', + 'string', ], euiThemeVars.euiTextColor ), @@ -52,79 +60,24 @@ export const buildESQlTheme = (): monaco.editor.IStandaloneThemeData => ({ 'sort', 'by', 'where', - 'unknown_cmd', 'expr_ws', 'row', 'limit', - 'asc', - 'desc', + 'nulls_ordering_direction', + 'nulls_ordering', + 'null', + 'boolean_value', + 'comparison_operator', ], euiThemeVars.euiColorPrimaryText ), // math functions - ...buildRuleGroup( - [ - 'round_function_math', - 'avg_function_math', - 'sum_function_math', - 'min_function_math', - 'max_function_math', - ], - euiThemeVars.euiColorPrimaryText - ), - - // values - ...buildRuleGroup( - [ - 'pipe', - 'true', - 'not', - 'null', - 'nulls', - 'false', - 'src_unquoted_identifier', - 'src_quoted_identifier', - 'string', - ], - euiThemeVars.euiTextColor - ), - - // values #2 - ...buildRuleGroup( - [ - 'true', - 'not', - 'null', - 'nulls', - 'false', - 'not', - 'null', - 'percent', - 'integer_literal', - 'decimal_literal', - ], - euiThemeVars.euiTextColor - ), + ...buildRuleGroup(['unary_function'], euiThemeVars.euiColorPrimaryText), // operators ...buildRuleGroup( - [ - 'or', - 'and', - 'rp', - 'eq', - 'neq', - 'lp', - 'lt', - 'lte', - 'gt', - 'gte', - 'plus', - 'minus', - 'asterisk', - 'slash', - ], + ['or', 'and', 'rp', 'lp', 'plus', 'minus', 'asterisk', 'slash'], euiThemeVars.euiTextSubduedColor ), diff --git a/packages/kbn-monaco/src/esql/worker/esql_worker.ts b/packages/kbn-monaco/src/esql/worker/esql_worker.ts index c83d8707dac69..4d52c2b1094cb 100644 --- a/packages/kbn-monaco/src/esql/worker/esql_worker.ts +++ b/packages/kbn-monaco/src/esql/worker/esql_worker.ts @@ -8,8 +8,9 @@ import { CharStreams } from 'antlr4ts'; import { monaco } from '../../monaco_imports'; +import { AutocompleteListener } from '../lib/autocomplete/autocomplete_listener'; import type { BaseWorkerDefinition } from '../../types'; -import { getParser } from '../lib/antlr_facade'; +import { getParser, ROOT_STATEMENT } from '../lib/antlr_facade'; import { ANTLREErrorListener } from '../../common/error_listener'; export class ESQLWorker implements BaseWorkerDefinition { @@ -19,23 +20,47 @@ export class ESQLWorker implements BaseWorkerDefinition { this._ctx = ctx; } - private getTextDocument(modelUri: string): string | undefined { + private getModelCharStream(modelUri: string) { const model = this._ctx.getMirrorModels().find((m) => m.uri.toString() === modelUri); + const text = model?.getValue(); - return model?.getValue(); + if (text) { + return CharStreams.fromString(text); + } } public async getSyntaxErrors(modelUri: string) { - const code = this.getTextDocument(modelUri); + const inputStream = this.getModelCharStream(modelUri); - if (code) { - const inputStream = CharStreams.fromString(code); + if (inputStream) { const errorListener = new ANTLREErrorListener(); const parser = getParser(inputStream, errorListener); - parser.singleStatement(); + parser[ROOT_STATEMENT](); return errorListener.getErrors(); } + return []; + } + + public async provideAutocompleteSuggestions( + modelUri: string, + meta: { + word: string; + line: number; + index: number; + } + ) { + const inputStream = this.getModelCharStream(modelUri); + + if (inputStream) { + const errorListener = new ANTLREErrorListener(); + const parseListener = new AutocompleteListener(); + const parser = getParser(inputStream, errorListener, parseListener); + + parser[ROOT_STATEMENT](); + + return parseListener.getAutocompleteSuggestions(); + } } } diff --git a/packages/kbn-monaco/src/register_globals.ts b/packages/kbn-monaco/src/register_globals.ts index 7754b140305aa..ad5645df31bef 100644 --- a/packages/kbn-monaco/src/register_globals.ts +++ b/packages/kbn-monaco/src/register_globals.ts @@ -12,43 +12,15 @@ import { SQLLang } from './sql'; import { monaco } from './monaco_imports'; import { ESQL_THEME_ID, ESQLLang, buildESQlTheme } from './esql'; import { registerLanguage, registerTheme } from './helpers'; -import { createWorkersRegistry } from './workers_registry'; export const DEFAULT_WORKER_ID = 'default'; - -const Yaml = 'yaml'; - -const workerRegistry = createWorkersRegistry(DEFAULT_WORKER_ID); - -workerRegistry.register( - DEFAULT_WORKER_ID, - async () => await import('!!raw-loader!../../target_workers/default.editor.worker.js') -); - -workerRegistry.register( +const langSpecificWorkerIds = [ XJsonLang.ID, - async () => await import('!!raw-loader!../../target_workers/xjson.editor.worker.js') -); - -workerRegistry.register( PainlessLang.ID, - async () => await import('!!raw-loader!../../target_workers/painless.editor.worker.js') -); - -workerRegistry.register( ESQLLang.ID, - async () => await import('!!raw-loader!../../target_workers/esql.editor.worker.js') -); - -workerRegistry.register( monaco.languages.json.jsonDefaults.languageId, - async () => await import('!!raw-loader!../../target_workers/json.editor.worker.js') -); - -workerRegistry.register( - Yaml, - async () => await import('!!raw-loader!../../target_workers/yaml.editor.worker.js') -); + 'yaml', +]; /** * Register languages and lexer rules @@ -63,9 +35,18 @@ registerLanguage(ESQLLang); */ registerTheme(ESQL_THEME_ID, buildESQlTheme()); +const monacoBundleDir = (window as any).__kbnPublicPath__?.['kbn-monaco']; + // @ts-ignore window.MonacoEnvironment = { // needed for functional tests so that we can get value from 'editor' monaco, - getWorker: workerRegistry.getWorker, + getWorkerUrl: monacoBundleDir + ? (_: string, languageId: string) => { + const workerId = langSpecificWorkerIds.includes(languageId) + ? languageId + : DEFAULT_WORKER_ID; + return `${monacoBundleDir}${workerId}.editor.worker.js`; + } + : () => undefined, }; diff --git a/packages/kbn-monaco/src/types.ts b/packages/kbn-monaco/src/types.ts index 380f76fb55ad3..0e5952db8344c 100644 --- a/packages/kbn-monaco/src/types.ts +++ b/packages/kbn-monaco/src/types.ts @@ -7,13 +7,13 @@ */ import type { Observable } from 'rxjs'; - import { monaco } from './monaco_imports'; export interface LangModuleType { ID: string; lexerRules?: monaco.languages.IMonarchLanguage; languageConfiguration?: monaco.languages.LanguageConfiguration; + getSuggestionProvider?: Function; } export interface CompleteLangModuleType extends LangModuleType { diff --git a/packages/kbn-monaco/src/worker.d.ts b/packages/kbn-monaco/src/worker.d.ts deleted file mode 100644 index 6544070c684d8..0000000000000 --- a/packages/kbn-monaco/src/worker.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -declare module '!!raw-loader!*.editor.worker.js' { - const contents: string; - - // eslint-disable-next-line import/no-default-export - export default contents; -} diff --git a/packages/kbn-monaco/src/workers_registry.ts b/packages/kbn-monaco/src/workers_registry.ts deleted file mode 100644 index 474e531dee55b..0000000000000 --- a/packages/kbn-monaco/src/workers_registry.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export const createWorkersRegistry = (defaultWorkerId: string) => { - const registry = new Map Promise>(); - - return { - register: (languageId: string, getWorkerSrc: () => Promise) => { - registry.set(languageId, getWorkerSrc); - }, - - getWorker: async (module: string, languageId: string) => { - const getWorkerSrc = registry.get(languageId) || registry.get(defaultWorkerId); - if (getWorkerSrc) { - const src = await getWorkerSrc(); - - const blob = new Blob([src.default], { type: 'application/javascript' }); - return new Worker(URL.createObjectURL(blob)); - } else { - throw new Error(`Worker for ${languageId} is not registered`); - } - }, - }; -}; - -export type WorkersRegistry = ReturnType; diff --git a/packages/kbn-monaco/tsconfig.json b/packages/kbn-monaco/tsconfig.json index abba6736b0c28..f6ce023d74c67 100644 --- a/packages/kbn-monaco/tsconfig.json +++ b/packages/kbn-monaco/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,6 +9,24 @@ }, "include": [ "src/**/*", - "**/*.ts" + "**/*.ts", + "src/painless/autocomplete_definitions/boolean_script_field_script_field.json", + "src/painless/autocomplete_definitions/common.json", + "src/painless/autocomplete_definitions/date_script_field.json", + "src/painless/autocomplete_definitions/double_script_field_script_field.json", + "src/painless/autocomplete_definitions/filter.json", + "src/painless/autocomplete_definitions/ip_script_field_script_field.json", + "src/painless/autocomplete_definitions/long_script_field_script_field.json", + "src/painless/autocomplete_definitions/processor_conditional.json", + "src/painless/autocomplete_definitions/score.json", + "src/painless/autocomplete_definitions/string_script_field_script_field.json", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/repo-info", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-monaco/webpack.config.js b/packages/kbn-monaco/webpack.config.js index f15f48ac10da5..7d5d137a65b93 100644 --- a/packages/kbn-monaco/webpack.config.js +++ b/packages/kbn-monaco/webpack.config.js @@ -22,8 +22,9 @@ const getWorkerEntry = (language) => { }; const getWorkerConfig = (language) => ({ - mode: 'production', + mode: process.env.NODE_ENV || 'development', entry: getWorkerEntry(language), + devtool: process.env.NODE_ENV === 'production' ? false : '#cheap-source-map', output: { path: path.resolve(__dirname, 'target_workers'), filename: `${language}.editor.worker.js`, @@ -35,12 +36,13 @@ const getWorkerConfig = (language) => ({ module: { rules: [ { - test: /\.(js|ts)$/, - exclude: /node_modules/, + test: /\.(jsx?|tsx?)$/, + exclude: /node_modules(?!\/@kbn\/)(\/[^\/]+\/)/, use: { loader: 'babel-loader', options: { babelrc: false, + envName: process.env.NODE_ENV || 'development', presets: [require.resolve('@kbn/babel-preset/webpack_preset')], }, }, diff --git a/packages/kbn-optimizer-webpack-helpers/BUILD.bazel b/packages/kbn-optimizer-webpack-helpers/BUILD.bazel deleted file mode 100644 index e0a5d2fda7e2e..0000000000000 --- a/packages/kbn-optimizer-webpack-helpers/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-optimizer-webpack-helpers" -PKG_REQUIRE_NAME = "@kbn/optimizer-webpack-helpers" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/webpack", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-optimizer-webpack-helpers/kibana.jsonc b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc index 102818ed032c2..1fa8375008f26 100644 --- a/packages/kbn-optimizer-webpack-helpers/kibana.jsonc +++ b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/optimizer-webpack-helpers", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-optimizer-webpack-helpers/package.json b/packages/kbn-optimizer-webpack-helpers/package.json index 52f873cc9ee80..b8e220880e415 100644 --- a/packages/kbn-optimizer-webpack-helpers/package.json +++ b/packages/kbn-optimizer-webpack-helpers/package.json @@ -2,7 +2,5 @@ "name": "@kbn/optimizer-webpack-helpers", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-optimizer-webpack-helpers/tsconfig.json b/packages/kbn-optimizer-webpack-helpers/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-optimizer-webpack-helpers/tsconfig.json +++ b/packages/kbn-optimizer-webpack-helpers/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-optimizer/BUILD.bazel b/packages/kbn-optimizer/BUILD.bazel deleted file mode 100644 index 0af9dff2a58e7..0000000000000 --- a/packages/kbn-optimizer/BUILD.bazel +++ /dev/null @@ -1,169 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-optimizer" -PKG_REQUIRE_NAME = "@kbn/optimizer" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "limits.yml", - "package.json", - "postcss.config.js", -] - -RUNTIME_DEPS = [ - "//packages/kbn-config", - "//packages/kbn-config-schema", - "//packages/kbn-dev-utils", - "//packages/kbn-std", - "//packages/kbn-ui-shared-deps-npm", - "//packages/kbn-ui-shared-deps-src", - "//packages/kbn-utils", - "//packages/kbn-synthetic-package-map", - "//packages/kbn-peggy", - "@npm//@babel/core", - "@npm//chalk", - "@npm//clean-webpack-plugin", - "@npm//compression-webpack-plugin", - "@npm//cpy", - "@npm//dedent", - "@npm//del", - "@npm//execa", - "@npm//json-stable-stringify", - "@npm//js-yaml", - "@npm//lmdb", - "@npm//loader-utils", - "@npm//node-sass", - "@npm//normalize-path", - "@npm//pirates", - "@npm//rxjs", - "@npm//source-map-support", - "@npm//watchpack", - "@npm//webpack", - "@npm//webpack-merge", - "@npm//webpack-sources", -] - -TYPES_DEPS = [ - "//packages/kbn-config:npm_module_types", - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-optimizer-webpack-helpers:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-ui-shared-deps-src:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-synthetic-package-map:npm_module_types", - "//packages/kbn-peggy:npm_module_types", - "@npm//chalk", - "@npm//clean-webpack-plugin", - "@npm//cpy", - "@npm//del", - "@npm//execa", - "@npm//lmdb", - "@npm//pirates", - "@npm//rxjs", - "@npm//@types/babel__core", - "@npm//@types/compression-webpack-plugin", - "@npm//@types/dedent", - "@npm//@types/jest", - "@npm//@types/json-stable-stringify", - "@npm//@types/js-yaml", - "@npm//@types/loader-utils", - "@npm//@types/node", - "@npm//@types/normalize-path", - "@npm//@types/source-map-support", - "@npm//@types/watchpack", - "@npm//@types/webpack", - "@npm//@types/webpack-merge", - "@npm//@types/webpack-sources", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-optimizer/index.ts b/packages/kbn-optimizer/index.ts index 0252e47ab35ce..ca82995c857b5 100644 --- a/packages/kbn-optimizer/index.ts +++ b/packages/kbn-optimizer/index.ts @@ -10,7 +10,6 @@ export { OptimizerConfig } from './src/optimizer'; export * from './src/run_optimizer'; export * from './src/log_optimizer_state'; export * from './src/log_optimizer_progress'; -export * from './src/node'; export * from './src/limits'; export * from './src/cli'; export * from './src/report_optimizer_timings'; diff --git a/packages/kbn-optimizer/kibana.jsonc b/packages/kbn-optimizer/kibana.jsonc index 945fdc1e0366c..1e912e055844e 100644 --- a/packages/kbn-optimizer/kibana.jsonc +++ b/packages/kbn-optimizer/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/optimizer", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-optimizer/package.json b/packages/kbn-optimizer/package.json index 488e1b5dbfde8..06d47a19f1dde 100644 --- a/packages/kbn-optimizer/package.json +++ b/packages/kbn-optimizer/package.json @@ -2,7 +2,5 @@ "name": "@kbn/optimizer", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_babel_runtime_helpers_in_entry_bundles.ts b/packages/kbn-optimizer/src/audit_bundle_dependencies/find_babel_runtime_helpers_in_entry_bundles.ts index 3846476869489..00e18666d90b9 100644 --- a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_babel_runtime_helpers_in_entry_bundles.ts +++ b/packages/kbn-optimizer/src/audit_bundle_dependencies/find_babel_runtime_helpers_in_entry_bundles.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { OptimizerConfig } from '../optimizer'; import { parseStats, inAnyEntryChunk } from './parse_stats'; diff --git a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_node_libs_browser_polyfills_in_entry_bundles.ts b/packages/kbn-optimizer/src/audit_bundle_dependencies/find_node_libs_browser_polyfills_in_entry_bundles.ts index 4d283e95b1f6f..691a67a7f1cbe 100644 --- a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_node_libs_browser_polyfills_in_entry_bundles.ts +++ b/packages/kbn-optimizer/src/audit_bundle_dependencies/find_node_libs_browser_polyfills_in_entry_bundles.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { OptimizerConfig } from '../optimizer'; import { parseStats, inAnyEntryChunk } from './parse_stats'; diff --git a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_target_node_imports.ts b/packages/kbn-optimizer/src/audit_bundle_dependencies/find_target_node_imports.ts deleted file mode 100644 index 6021950cdb40a..0000000000000 --- a/packages/kbn-optimizer/src/audit_bundle_dependencies/find_target_node_imports.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; - -import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; - -import { OptimizerConfig } from '../optimizer'; -import { parseStats } from './parse_stats'; - -/** - * Analyzes the bundle dependencies to find any imports using the `@kbn//target_node` build target. - * - * We should aim for those packages to be imported using the `@kbn//target_web` build because it's optimized - * for browser compatibility. - * - * This utility also helps identify when code that should only run in the server is leaked into the browser. - */ -export async function runFindTargetNodeImportsCli() { - run(async ({ log }) => { - const config = OptimizerConfig.create({ - includeCoreBundle: true, - repoRoot: REPO_ROOT, - }); - - const paths = config.bundles.map((b) => Path.resolve(b.outputDir, 'stats.json')); - - log.info('analyzing', paths.length, 'stats files'); - log.verbose(paths); - - const imports = new Set(); - for (const path of paths) { - const stats = parseStats(path); - - for (const module of stats.modules) { - if (module.name.includes('/target_node/')) { - const [, cleanName] = /\/((?:kbn-|@kbn\/).+)\/target_node/.exec(module.name) ?? []; - imports.add(cleanName || module.name); - } - } - } - - log.success('found', imports.size, '@kbn/*/target_node imports in entry bundles and chunks'); - log.write( - Array.from(imports, (i) => `'${i}',`) - .sort() - .join('\n') - ); - }); -} diff --git a/packages/kbn-optimizer/src/audit_bundle_dependencies/index.ts b/packages/kbn-optimizer/src/audit_bundle_dependencies/index.ts index e6059c4c2c9b5..3a7987f867bc5 100644 --- a/packages/kbn-optimizer/src/audit_bundle_dependencies/index.ts +++ b/packages/kbn-optimizer/src/audit_bundle_dependencies/index.ts @@ -8,4 +8,3 @@ export * from './find_babel_runtime_helpers_in_entry_bundles'; export * from './find_node_libs_browser_polyfills_in_entry_bundles'; -export * from './find_target_node_imports'; diff --git a/packages/kbn-optimizer/src/cli.ts b/packages/kbn-optimizer/src/cli.ts index 974bd4dbbcbc0..b0732e931e04f 100644 --- a/packages/kbn-optimizer/src/cli.ts +++ b/packages/kbn-optimizer/src/cli.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { lastValueFrom } from 'rxjs'; import { run, Flags } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts index fdd36c76f6e4d..1e84f4443b375 100644 --- a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts +++ b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts @@ -15,7 +15,7 @@ import prettier from 'prettier'; import cpy from 'cpy'; import del from 'del'; import { tap, filter } from 'rxjs/operators'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; import { createReplaceSerializer } from '@kbn/jest-serializers'; import { runOptimizer, OptimizerConfig, OptimizerUpdate, logOptimizerState } from '../..'; @@ -134,13 +134,13 @@ it('builds expected bundles, saves bundle counts to metadata', async () => { expect(foo.cache.getModuleCount()).toBe(6); expect(foo.cache.getReferencedPaths()).toMatchInlineSnapshot(` Array [ - /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/bazel-out/-fastbuild/bin/packages/kbn-ui-shared-deps-npm/target_node/src/public_path_module_creator.js, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/foo/kibana.json, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/foo/public/async_import.ts, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/foo/public/ext.ts, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/foo/public/index.ts, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/foo/public/lib.ts, /packages/kbn-optimizer/src/worker/entry_point_creator.ts, + /packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js, ] `); @@ -154,10 +154,9 @@ it('builds expected bundles, saves bundle counts to metadata', async () => { expect(bar.cache.getReferencedPaths()).toMatchInlineSnapshot(` Array [ - /node_modules/@kbn/optimizer/postcss.config.js, /node_modules/css-loader/package.json, /node_modules/style-loader/package.json, - /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/bazel-out/-fastbuild/bin/packages/kbn-ui-shared-deps-npm/target_node/src/public_path_module_creator.js, + /packages/kbn-optimizer/postcss.config.js, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/kibana.json, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/public/index.scss, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/public/index.ts, @@ -167,6 +166,7 @@ it('builds expected bundles, saves bundle counts to metadata', async () => { /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/styles/core_app/_globals_v8dark.scss, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/styles/core_app/_globals_v8light.scss, /packages/kbn-optimizer/src/worker/entry_point_creator.ts, + /packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js, ] `); @@ -177,10 +177,10 @@ it('builds expected bundles, saves bundle counts to metadata', async () => { expect(baz.cache.getReferencedPaths()).toMatchInlineSnapshot(` Array [ - /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/bazel-out/-fastbuild/bin/packages/kbn-ui-shared-deps-npm/target_node/src/public_path_module_creator.js, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/x-pack/baz/kibana.json, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/x-pack/baz/public/index.ts, /packages/kbn-optimizer/src/worker/entry_point_creator.ts, + /packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js, ] `); }); diff --git a/packages/kbn-optimizer/src/integration_tests/optimizer_built_paths.test.ts b/packages/kbn-optimizer/src/integration_tests/optimizer_built_paths.test.ts index 1810f40e0fa30..2c4f130ce9490 100644 --- a/packages/kbn-optimizer/src/integration_tests/optimizer_built_paths.test.ts +++ b/packages/kbn-optimizer/src/integration_tests/optimizer_built_paths.test.ts @@ -6,8 +6,7 @@ * Side Public License, v 1. */ -// @ts-expect-error -import { getOptimizerBuiltPaths } from '@kbn/optimizer/target_node/src/optimizer/optimizer_built_paths'; +import { getOptimizerBuiltPaths } from '../optimizer/optimizer_built_paths'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; expect.addSnapshotSerializer(createAbsolutePathSerializer()); @@ -16,56 +15,56 @@ it(`finds all the optimizer files relative to it's path`, async () => { const paths = await getOptimizerBuiltPaths(); expect(paths).toMatchInlineSnapshot(` Array [ - /node_modules/@kbn/optimizer/target_node/src/cli.js, - /node_modules/@kbn/optimizer/target_node/src/common/array_helpers.js, - /node_modules/@kbn/optimizer/target_node/src/common/bundle_cache.js, - /node_modules/@kbn/optimizer/target_node/src/common/bundle_refs.js, - /node_modules/@kbn/optimizer/target_node/src/common/bundle.js, - /node_modules/@kbn/optimizer/target_node/src/common/compiler_messages.js, - /node_modules/@kbn/optimizer/target_node/src/common/dll_manifest.js, - /node_modules/@kbn/optimizer/target_node/src/common/event_stream_helpers.js, - /node_modules/@kbn/optimizer/target_node/src/common/hashes.js, - /node_modules/@kbn/optimizer/target_node/src/common/index.js, - /node_modules/@kbn/optimizer/target_node/src/common/obj_helpers.js, - /node_modules/@kbn/optimizer/target_node/src/common/parse_path.js, - /node_modules/@kbn/optimizer/target_node/src/common/rxjs_helpers.js, - /node_modules/@kbn/optimizer/target_node/src/common/theme_tags.js, - /node_modules/@kbn/optimizer/target_node/src/common/ts_helpers.js, - /node_modules/@kbn/optimizer/target_node/src/common/worker_config.js, - /node_modules/@kbn/optimizer/target_node/src/common/worker_messages.js, - /node_modules/@kbn/optimizer/target_node/src/limits.js, - /node_modules/@kbn/optimizer/target_node/src/log_optimizer_progress.js, - /node_modules/@kbn/optimizer/target_node/src/log_optimizer_state.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/assign_bundles_to_workers.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/bundle_cache.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/diff_cache_key.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/filter_by_id.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/focus_bundles.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/get_plugin_bundles.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/handle_optimizer_completion.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/index.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/kibana_platform_plugins.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/observe_stdio.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/observe_worker.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/optimizer_built_paths.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/optimizer_cache_key.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/optimizer_config.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/optimizer_state.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/run_workers.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/watch_bundles_for_changes.js, - /node_modules/@kbn/optimizer/target_node/src/optimizer/watcher.js, - /node_modules/@kbn/optimizer/target_node/src/report_optimizer_timings.js, - /node_modules/@kbn/optimizer/target_node/src/run_optimizer.js, - /node_modules/@kbn/optimizer/target_node/src/worker/bundle_metrics_plugin.js, - /node_modules/@kbn/optimizer/target_node/src/worker/bundle_ref_module.js, - /node_modules/@kbn/optimizer/target_node/src/worker/bundle_refs_plugin.js, - /node_modules/@kbn/optimizer/target_node/src/worker/emit_stats_plugin.js, - /node_modules/@kbn/optimizer/target_node/src/worker/entry_point_creator.js, - /node_modules/@kbn/optimizer/target_node/src/worker/populate_bundle_cache_plugin.js, - /node_modules/@kbn/optimizer/target_node/src/worker/run_compilers.js, - /node_modules/@kbn/optimizer/target_node/src/worker/run_worker.js, - /node_modules/@kbn/optimizer/target_node/src/worker/theme_loader.js, - /node_modules/@kbn/optimizer/target_node/src/worker/webpack.config.js, + /packages/kbn-optimizer/src/cli.ts, + /packages/kbn-optimizer/src/common/array_helpers.ts, + /packages/kbn-optimizer/src/common/bundle_cache.ts, + /packages/kbn-optimizer/src/common/bundle_refs.ts, + /packages/kbn-optimizer/src/common/bundle.ts, + /packages/kbn-optimizer/src/common/compiler_messages.ts, + /packages/kbn-optimizer/src/common/dll_manifest.ts, + /packages/kbn-optimizer/src/common/event_stream_helpers.ts, + /packages/kbn-optimizer/src/common/hashes.ts, + /packages/kbn-optimizer/src/common/index.ts, + /packages/kbn-optimizer/src/common/obj_helpers.ts, + /packages/kbn-optimizer/src/common/parse_path.ts, + /packages/kbn-optimizer/src/common/rxjs_helpers.ts, + /packages/kbn-optimizer/src/common/theme_tags.ts, + /packages/kbn-optimizer/src/common/ts_helpers.ts, + /packages/kbn-optimizer/src/common/worker_config.ts, + /packages/kbn-optimizer/src/common/worker_messages.ts, + /packages/kbn-optimizer/src/limits.ts, + /packages/kbn-optimizer/src/log_optimizer_progress.ts, + /packages/kbn-optimizer/src/log_optimizer_state.ts, + /packages/kbn-optimizer/src/optimizer/assign_bundles_to_workers.ts, + /packages/kbn-optimizer/src/optimizer/bundle_cache.ts, + /packages/kbn-optimizer/src/optimizer/diff_cache_key.ts, + /packages/kbn-optimizer/src/optimizer/filter_by_id.ts, + /packages/kbn-optimizer/src/optimizer/focus_bundles.ts, + /packages/kbn-optimizer/src/optimizer/get_plugin_bundles.ts, + /packages/kbn-optimizer/src/optimizer/handle_optimizer_completion.ts, + /packages/kbn-optimizer/src/optimizer/index.ts, + /packages/kbn-optimizer/src/optimizer/kibana_platform_plugins.ts, + /packages/kbn-optimizer/src/optimizer/observe_stdio.ts, + /packages/kbn-optimizer/src/optimizer/observe_worker.ts, + /packages/kbn-optimizer/src/optimizer/optimizer_built_paths.ts, + /packages/kbn-optimizer/src/optimizer/optimizer_cache_key.ts, + /packages/kbn-optimizer/src/optimizer/optimizer_config.ts, + /packages/kbn-optimizer/src/optimizer/optimizer_state.ts, + /packages/kbn-optimizer/src/optimizer/run_workers.ts, + /packages/kbn-optimizer/src/optimizer/watch_bundles_for_changes.ts, + /packages/kbn-optimizer/src/optimizer/watcher.ts, + /packages/kbn-optimizer/src/report_optimizer_timings.ts, + /packages/kbn-optimizer/src/run_optimizer.ts, + /packages/kbn-optimizer/src/worker/bundle_metrics_plugin.ts, + /packages/kbn-optimizer/src/worker/bundle_ref_module.ts, + /packages/kbn-optimizer/src/worker/bundle_refs_plugin.ts, + /packages/kbn-optimizer/src/worker/emit_stats_plugin.ts, + /packages/kbn-optimizer/src/worker/entry_point_creator.ts, + /packages/kbn-optimizer/src/worker/populate_bundle_cache_plugin.ts, + /packages/kbn-optimizer/src/worker/run_compilers.ts, + /packages/kbn-optimizer/src/worker/run_worker.ts, + /packages/kbn-optimizer/src/worker/theme_loader.ts, + /packages/kbn-optimizer/src/worker/webpack.config.ts, ] `); }); diff --git a/packages/kbn-optimizer/src/node/cache.ts b/packages/kbn-optimizer/src/node/cache.ts deleted file mode 100644 index bb7a65090c541..0000000000000 --- a/packages/kbn-optimizer/src/node/cache.ts +++ /dev/null @@ -1,211 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import { Writable } from 'stream'; - -import chalk from 'chalk'; -import * as LmdbStore from 'lmdb'; - -const GLOBAL_ATIME = `${Date.now()}`; -const MINUTE = 1000 * 60; -const HOUR = MINUTE * 60; -const DAY = HOUR * 24; - -const dbName = (db: LmdbStore.Database) => - // @ts-expect-error db.name is not a documented/typed property - db.name; - -export class Cache { - private readonly codes: LmdbStore.RootDatabase; - private readonly atimes: LmdbStore.Database; - private readonly mtimes: LmdbStore.Database; - private readonly sourceMaps: LmdbStore.Database; - private readonly pathRoot: string; - private readonly prefix: string; - private readonly log?: Writable; - private readonly timer: NodeJS.Timer; - - constructor(config: { pathRoot: string; dir: string; prefix: string; log?: Writable }) { - if (!Path.isAbsolute(config.pathRoot)) { - throw new Error('cache requires an absolute path to resolve paths relative to'); - } - - this.pathRoot = config.pathRoot; - this.prefix = config.prefix; - this.log = config.log; - - this.codes = LmdbStore.open(config.dir, { - name: 'codes', - encoding: 'string', - maxReaders: 500, - overlappingSync: false, - noSync: true, - noMetaSync: true, - noMemInit: true, - }); - - // TODO: redundant 'name' syntax is necessary because of a bug that I have yet to fix - this.atimes = this.codes.openDB('atimes', { - name: 'atimes', - encoding: 'string', - }); - - this.mtimes = this.codes.openDB('mtimes', { - name: 'mtimes', - encoding: 'string', - }); - - this.sourceMaps = this.codes.openDB('sourceMaps', { - name: 'sourceMaps', - encoding: 'string', - }); - - // after the process has been running for 30 minutes prune the - // keys which haven't been used in 30 days. We use `unref()` to - // make sure this timer doesn't hold other processes open - // unexpectedly - this.timer = setTimeout(async () => { - await this.pruneOldKeys(); - }, 30 * MINUTE); - - // timer.unref is not defined in jest which emulates the dom by default - if (typeof this.timer.unref === 'function') { - this.timer.unref(); - } - } - - getMtime(path: string) { - return this.safeGet(this.mtimes, this.getKey(path)); - } - - getCode(path: string) { - const key = this.getKey(path); - const code = this.safeGet(this.codes, key); - - if (code !== undefined) { - // when we use a file from the cache set the "atime" of that cache entry - // so that we know which cache items we use and which haven't been - // touched in a long time (currently 30 days) - this.safePut(this.atimes, key, GLOBAL_ATIME); - } - - return code; - } - - getSourceMap(path: string) { - const map = this.safeGet(this.sourceMaps, this.getKey(path)); - if (typeof map === 'string') { - return JSON.parse(map); - } - } - - close() { - clearTimeout(this.timer); - } - - async update(path: string, file: { mtime: string; code: string; map?: any }) { - const key = this.getKey(path); - - this.safePut(this.atimes, key, GLOBAL_ATIME); - this.safePut(this.mtimes, key, file.mtime); - this.safePut(this.codes, key, file.code); - - if (file.map != null) { - this.safePut(this.sourceMaps, key, JSON.stringify(file.map)); - } - } - - private getKey(path: string) { - const normalizedPath = - Path.sep !== '/' - ? Path.relative(this.pathRoot, path).split(Path.sep).join('/') - : Path.relative(this.pathRoot, path); - - return `${this.prefix}:${normalizedPath}`; - } - - private safeGet(db: LmdbStore.Database, key: string) { - try { - const value = db.get(key); - this.debug(value === undefined ? 'MISS' : 'HIT', db, key); - return value; - } catch (error) { - this.logError('GET', db, key, error); - } - } - - private safePut(db: LmdbStore.Database, key: string, value: V) { - try { - db.putSync(key, value); - this.debug('PUT', db, key); - } catch (error) { - this.logError('PUT', db, key, error); - } - } - - private debug(type: string, db: LmdbStore.Database, key: LmdbStore.Key) { - if (this.log) { - this.log.write(`${type} [${dbName(db)}] ${String(key)}\n`); - } - } - - private logError(type: 'GET' | 'PUT', db: LmdbStore.Database, key: LmdbStore.Key, error: Error) { - this.debug(`ERROR/${type}`, db, `${String(key)}: ${error.stack}`); - process.stderr.write( - chalk.red( - `[@kbn/optimizer/node] ${type} error [${dbName(db)}/${String(key)}]: ${error.stack}\n` - ) - ); - } - - private async pruneOldKeys() { - try { - const ATIME_LIMIT = Date.now() - 30 * DAY; - const BATCH_SIZE = 1000; - - const validKeys: string[] = []; - const invalidKeys: string[] = []; - - for (const { key, value } of this.atimes.getRange()) { - const atime = parseInt(`${value}`, 10); - if (Number.isNaN(atime) || atime < ATIME_LIMIT) { - invalidKeys.push(key); - } else { - validKeys.push(key); - } - - if (validKeys.length + invalidKeys.length >= BATCH_SIZE) { - const promises = new Set(); - - if (invalidKeys.length) { - for (const k of invalidKeys) { - // all these promises are the same currently, so Set() will - // optimise this to a single promise, but I wouldn't be shocked - // if a future version starts returning independent promises so - // this is just for some future-proofing - promises.add(this.atimes.remove(k)); - promises.add(this.mtimes.remove(k)); - promises.add(this.codes.remove(k)); - promises.add(this.sourceMaps.remove(k)); - } - } else { - // delay a smidge to allow other things to happen before the next batch of checks - promises.add(new Promise((resolve) => setTimeout(resolve, 1))); - } - - invalidKeys.length = 0; - validKeys.length = 0; - await Promise.all(Array.from(promises)); - } - } - } catch { - // ignore errors, the cache is totally disposable and will rebuild if there is some sort of corruption - } - } -} diff --git a/packages/kbn-optimizer/src/node/index.ts b/packages/kbn-optimizer/src/node/index.ts deleted file mode 100644 index a6c019425bf2e..0000000000000 --- a/packages/kbn-optimizer/src/node/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export * from './node_auto_tranpilation'; diff --git a/packages/kbn-optimizer/src/node/integration_tests/cache.test.ts b/packages/kbn-optimizer/src/node/integration_tests/cache.test.ts deleted file mode 100644 index 55a4a500359ef..0000000000000 --- a/packages/kbn-optimizer/src/node/integration_tests/cache.test.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import { Writable } from 'stream'; - -import del from 'del'; - -import { Cache } from '../cache'; - -const DIR = Path.resolve(__dirname, '../__tmp__/cache'); - -const makeTestLog = () => { - const log = Object.assign( - new Writable({ - write(chunk, enc, cb) { - log.output += chunk; - cb(); - }, - }), - { - output: '', - } - ); - - return log; -}; - -const instances: Cache[] = []; -const makeCache = (...options: ConstructorParameters) => { - const instance = new Cache(...options); - instances.push(instance); - return instance; -}; - -beforeEach(async () => await del(DIR)); -afterEach(async () => { - await del(DIR); - for (const instance of instances) { - instance.close(); - } - instances.length = 0; -}); - -it('returns undefined until values are set', async () => { - const path = '/foo/bar.js'; - const mtime = new Date().toJSON(); - const log = makeTestLog(); - const cache = makeCache({ - dir: DIR, - prefix: 'prefix', - log, - pathRoot: '/foo/', - }); - - expect(cache.getMtime(path)).toBe(undefined); - expect(cache.getCode(path)).toBe(undefined); - expect(cache.getSourceMap(path)).toBe(undefined); - - await cache.update(path, { - mtime, - code: 'var x = 1', - map: { foo: 'bar' }, - }); - - expect(cache.getMtime(path)).toBe(mtime); - expect(cache.getCode(path)).toBe('var x = 1'); - expect(cache.getSourceMap(path)).toEqual({ foo: 'bar' }); - expect(log.output).toMatchInlineSnapshot(` - "MISS [mtimes] prefix:bar.js - MISS [codes] prefix:bar.js - MISS [sourceMaps] prefix:bar.js - PUT [atimes] prefix:bar.js - PUT [mtimes] prefix:bar.js - PUT [codes] prefix:bar.js - PUT [sourceMaps] prefix:bar.js - HIT [mtimes] prefix:bar.js - HIT [codes] prefix:bar.js - PUT [atimes] prefix:bar.js - HIT [sourceMaps] prefix:bar.js - " - `); -}); diff --git a/packages/kbn-optimizer/src/node/node_auto_tranpilation.ts b/packages/kbn-optimizer/src/node/node_auto_tranpilation.ts deleted file mode 100644 index ad739bdd48829..0000000000000 --- a/packages/kbn-optimizer/src/node/node_auto_tranpilation.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* eslint-disable @kbn/eslint/require-license-header */ - -/** - * This module is based on @babel/register @ 9808d25, modified to use - * a more efficient caching implementation which writes to disk as - * the cache is built rather than keeping the whole cache in memory - * and then dumping it to disk when the process exits. - */ - -/** - * @notice - * MIT License - * - * Copyright (c) 2014-present Sebastian McKenzie and other contributors - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -import Fs from 'fs'; -import Path from 'path'; -import Crypto from 'crypto'; - -import { version as babelVersion } from '@babel/core'; -import { VERSION as peggyVersion } from '@kbn/peggy'; -import { addHook } from 'pirates'; -import { REPO_ROOT, UPSTREAM_BRANCH } from '@kbn/utils'; -import sourceMapSupport from 'source-map-support'; -import { readHashOfPackageMap } from '@kbn/synthetic-package-map'; - -import { TRANSFORMS } from './transforms'; -import { getBabelOptions } from './transforms/babel'; - -import { Cache } from './cache'; - -const IGNORE_PATTERNS = [ - /[\/\\]kbn-pm[\/\\]dist[\/\\]/, - - // ignore paths matching `/node_modules/{a}/{b}`, unless `a` - // is `x-pack` and `b` is not `node_modules` - /[\/\\]node_modules[\/\\](?!x-pack[\/\\](?!node_modules)([^\/\\]+))([^\/\\]+[\/\\][^\/\\]+)/, - - // ignore paths matching `/canvas/canvas_plugin/` - /[\/\\]canvas[\/\\]canvas_plugin[\/\\]/, - - // 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)$)(.+$)/, -]; - -let installed = false; - -export function registerNodeAutoTranspilation() { - if (installed) { - return; - } - installed = true; - - const cacheLog = process.env.DEBUG_NODE_TRANSPILER_CACHE - ? Fs.createWriteStream(Path.resolve(REPO_ROOT, 'node_auto_transpilation_cache.log')) - : undefined; - - const cacheDir = Path.resolve( - REPO_ROOT, - 'data/node_auto_transpilation_cache_v6', - UPSTREAM_BRANCH - ); - - /** - * @babel/register uses a JSON encoded copy of the config + babel.version - * as the cache key for files, so we do something similar but we don't need - * a unique cache key for every file as our config isn't different for - * different files (by design). Instead we determine a unique prefix and - * automatically prepend all paths with the prefix to create cache keys - */ - - const cache = new Cache({ - dir: cacheDir, - log: cacheLog, - pathRoot: REPO_ROOT, - prefix: Crypto.createHash('sha256') - .update( - JSON.stringify({ - synthPkgMapHash: readHashOfPackageMap(), - babelVersion, - peggyVersion, - // get a config for a fake js, ts, and tsx file to make sure we - // capture conditional config portions based on the file extension - js: getBabelOptions(Path.resolve(REPO_ROOT, 'foo.js')), - ts: getBabelOptions(Path.resolve(REPO_ROOT, 'foo.ts')), - tsx: getBabelOptions(Path.resolve(REPO_ROOT, 'foo.tsx')), - }) - ) - .digest('hex') - .slice(0, 8), - }); - cacheLog?.write(`cache initialized\n`); - - sourceMapSupport.install({ - handleUncaughtExceptions: false, - environment: 'node', - // @ts-expect-error bad source-map-support types - retrieveSourceMap(path: string) { - const map = cache.getSourceMap(path); - return map ? { map, url: null } : null; - }, - }); - - let transformInProgress = false; - addHook( - (code, path) => { - if (transformInProgress) { - return code; - } - - const ext = Path.extname(path); - - if (ext !== '.peggy' && IGNORE_PATTERNS.some((re) => re.test(path))) { - return code; - } - - try { - transformInProgress = true; - const transform = Object.hasOwn(TRANSFORMS, ext) - ? TRANSFORMS[ext as keyof typeof TRANSFORMS] - : TRANSFORMS.default; - - return transform(path, code, cache); - } finally { - transformInProgress = false; - } - }, - { - exts: ['.js', '.ts', '.tsx', '.peggy'], - ignoreNodeModules: false, - } - ); - - // require the polyfills after setting up the require hook so that @babel/preset-env - // will spot the import in the polyfill file and replace it with the necessary polyfills - // for the current node.js version - require('./polyfill'); -} diff --git a/packages/kbn-optimizer/src/node/polyfill.ts b/packages/kbn-optimizer/src/node/polyfill.ts deleted file mode 100644 index e84906bda1468..0000000000000 --- a/packages/kbn-optimizer/src/node/polyfill.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import 'core-js/stable'; diff --git a/packages/kbn-optimizer/src/node/transforms/babel.ts b/packages/kbn-optimizer/src/node/transforms/babel.ts deleted file mode 100644 index 6bbe7ba67f76a..0000000000000 --- a/packages/kbn-optimizer/src/node/transforms/babel.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fs from 'fs'; - -import * as babel from '@babel/core'; - -import { Transform } from './transform'; - -export function getBabelOptions(path: string) { - return babel.loadOptions({ - cwd: process.cwd(), - sourceRoot: Path.dirname(path) + Path.sep, - filename: path, - babelrc: false, - presets: [require.resolve('@kbn/babel-preset/node_preset')], - sourceMaps: 'both', - ast: false, - })!; -} - -export const babelTransform: Transform = (path, source, cache) => { - const mtime = `${Fs.statSync(path).mtimeMs}`; - - if (cache.getMtime(path) === mtime) { - const code = cache.getCode(path); - if (code) { - return code; - } - } - - const options = getBabelOptions(path); - const result = babel.transform(source, options); - - if (!result || !result.code || !result.map) { - throw new Error(`babel failed to transpile [${path}]`); - } - - cache.update(path, { - mtime, - code: result.code, - map: result.map, - }); - - return result.code; -}; diff --git a/packages/kbn-optimizer/src/node/transforms/index.ts b/packages/kbn-optimizer/src/node/transforms/index.ts deleted file mode 100644 index bda2dcfa19826..0000000000000 --- a/packages/kbn-optimizer/src/node/transforms/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { peggyTransform } from './peggy'; -import { babelTransform } from './babel'; - -export const TRANSFORMS = { - '.peggy': peggyTransform, - default: babelTransform, -}; diff --git a/packages/kbn-optimizer/src/node/transforms/peggy.ts b/packages/kbn-optimizer/src/node/transforms/peggy.ts deleted file mode 100644 index 23edb608ef560..0000000000000 --- a/packages/kbn-optimizer/src/node/transforms/peggy.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fs from 'fs'; -import Crypto from 'crypto'; - -import * as Peggy from '@kbn/peggy'; - -import { Transform } from './transform'; - -export const peggyTransform: Transform = (path, source, cache) => { - const config = Peggy.findConfigFile(path); - const mtime = `${Fs.statSync(path).mtimeMs}`; - const key = !config - ? path - : `${path}.config.${Crypto.createHash('sha256') - .update(config.source) - .digest('hex') - .slice(0, 8)}`; - - if (cache.getMtime(key) === mtime) { - const code = cache.getCode(key); - if (code) { - return code; - } - } - - const code = Peggy.getJsSourceSync({ - content: source, - path, - format: 'commonjs', - optimize: 'speed', - config, - skipConfigSearch: true, - }).source; - - cache.update(key, { - code, - mtime, - }); - - return code; -}; diff --git a/packages/kbn-optimizer/src/node/transforms/transform.ts b/packages/kbn-optimizer/src/node/transforms/transform.ts deleted file mode 100644 index 49c76a8c14bd9..0000000000000 --- a/packages/kbn-optimizer/src/node/transforms/transform.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Cache } from '../cache'; - -export type Transform = (path: string, source: string, cache: Cache) => string; diff --git a/packages/kbn-optimizer/src/optimizer/handle_optimizer_completion.test.ts b/packages/kbn-optimizer/src/optimizer/handle_optimizer_completion.test.ts index 45d476558e051..9a3b7c6abb14c 100644 --- a/packages/kbn-optimizer/src/optimizer/handle_optimizer_completion.test.ts +++ b/packages/kbn-optimizer/src/optimizer/handle_optimizer_completion.test.ts @@ -7,7 +7,7 @@ */ import * as Rx from 'rxjs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Update, allValuesFrom } from '../common'; diff --git a/packages/kbn-optimizer/src/optimizer/observe_worker.ts b/packages/kbn-optimizer/src/optimizer/observe_worker.ts index b73e441671eaf..cf250a7deef6e 100644 --- a/packages/kbn-optimizer/src/optimizer/observe_worker.ts +++ b/packages/kbn-optimizer/src/optimizer/observe_worker.ts @@ -8,7 +8,7 @@ import { inspect } from 'util'; -import execa from 'execa'; +import { fork, type ChildProcess } from 'child_process'; import * as Rx from 'rxjs'; import { map, takeUntil, first, ignoreElements } from 'rxjs/operators'; @@ -31,7 +31,7 @@ export interface WorkerStarted { export type WorkerStatus = WorkerStdio | WorkerStarted; interface ProcResource extends Rx.Unsubscribable { - proc: execa.ExecaChildProcess; + proc: ChildProcess; } const isNumeric = (input: any) => String(input).match(/^[0-9]+$/); @@ -55,31 +55,18 @@ if (inspectFlagIndex !== -1) { } } -function usingWorkerProc( - config: OptimizerConfig, - fn: (proc: execa.ExecaChildProcess) => Rx.Observable -) { +function usingWorkerProc(config: OptimizerConfig, fn: (proc: ChildProcess) => Rx.Observable) { return Rx.using( (): ProcResource => { - const workerPath = require.resolve('../worker/run_worker'); - const proc = execa.node( - workerPath.endsWith('.ts') - ? require.resolve('../worker/run_worker_from_source') // workerFromSourcePath - : workerPath, - [], - { - nodeOptions: [ - '--preserve-symlinks', - '--preserve-symlinks-main', - ...(inspectFlag && config.inspectWorkers - ? [`${inspectFlag}=${inspectPortCounter++}`] - : []), - ], - buffer: false, - stderr: 'pipe', - stdout: 'pipe', - } - ); + const proc = fork(require.resolve('../worker/run_worker'), [], { + execArgv: [ + `--require=@kbn/babel-register/install`, + ...(inspectFlag && config.inspectWorkers + ? [`${inspectFlag}=${inspectPortCounter++}`] + : []), + ], + stdio: ['ignore', 'pipe', 'pipe', 'ipc'], + }); return { proc, @@ -104,7 +91,7 @@ function usingWorkerProc( * be initialized in the worker before most of the code is run. */ function initWorker( - proc: execa.ExecaChildProcess, + proc: ChildProcess, config: OptimizerConfig, workerConfig: WorkerConfig, bundles: Bundle[] diff --git a/packages/kbn-optimizer/src/optimizer/optimizer_built_paths.ts b/packages/kbn-optimizer/src/optimizer/optimizer_built_paths.ts index 8421c0846d52a..e3e99943236f5 100644 --- a/packages/kbn-optimizer/src/optimizer/optimizer_built_paths.ts +++ b/packages/kbn-optimizer/src/optimizer/optimizer_built_paths.ts @@ -17,6 +17,7 @@ export async function getOptimizerBuiltPaths() { [ '**/*', '!**/{__fixtures__,__snapshots__,integration_tests,audit_bundle_dependencies,node}/**', + '!**/*.test.*', ], { cwd: Path.resolve(__dirname, '../'), diff --git a/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.test.ts b/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.test.ts index d22ba95282002..0302968ce2927 100644 --- a/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.test.ts +++ b/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.test.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; import { getOptimizerCacheKey } from './optimizer_cache_key'; import { OptimizerConfig } from './optimizer_config'; -jest.mock('@kbn/synthetic-package-map', () => { +jest.mock('@kbn/package-map', () => { return { readHashOfPackageMap() { return ''; diff --git a/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.ts b/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.ts index 586846653802c..1cf00de874b28 100644 --- a/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.ts +++ b/packages/kbn-optimizer/src/optimizer/optimizer_cache_key.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { readHashOfPackageMap } from '@kbn/synthetic-package-map'; +import { readHashOfPackageMap } from '@kbn/package-map'; import { CacheableWorkerConfig, Hashes } from '../common'; import { OptimizerConfig } from './optimizer_config'; diff --git a/packages/kbn-optimizer/src/optimizer/optimizer_config.test.ts b/packages/kbn-optimizer/src/optimizer/optimizer_config.test.ts index 95db0ae10b3bd..d6b0a2c860bc3 100644 --- a/packages/kbn-optimizer/src/optimizer/optimizer_config.test.ts +++ b/packages/kbn-optimizer/src/optimizer/optimizer_config.test.ts @@ -24,7 +24,7 @@ jest.mock('os', () => { }); import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; import { OptimizerConfig, ParsedOptions } from './optimizer_config'; diff --git a/packages/kbn-optimizer/src/worker/populate_bundle_cache_plugin.ts b/packages/kbn-optimizer/src/worker/populate_bundle_cache_plugin.ts index ac010da7a8340..b2e036cb7e00a 100644 --- a/packages/kbn-optimizer/src/worker/populate_bundle_cache_plugin.ts +++ b/packages/kbn-optimizer/src/worker/populate_bundle_cache_plugin.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import Fs from 'fs'; import Path from 'path'; import { inspect } from 'util'; @@ -39,20 +38,6 @@ import { BundleRefModule } from './bundle_ref_module'; */ const EXTRA_SCSS_WORK_UNITS = 100; -const isBazelPackageCache = new Map(); -function isBazelPackage(pkgJsonPath: string) { - const cached = isBazelPackageCache.get(pkgJsonPath); - if (typeof cached === 'boolean') { - return cached; - } - - const path = parseFilePath(Fs.realpathSync(pkgJsonPath, 'utf-8')); - const match = !!path.matchDirs('bazel-out', /-fastbuild$/, 'bin', 'packages'); - isBazelPackageCache.set(pkgJsonPath, match); - - return match; -} - export class PopulateBundleCachePlugin { constructor( private readonly workerConfig: WorkerConfig, @@ -100,18 +85,8 @@ export class PopulateBundleCachePlugin { for (const module of compilation.modules) { if (isNormalModule(module)) { moduleCount += 1; - let path = getModulePath(module); - let parsedPath = parseFilePath(path); - - const bazelOutIndex = parsedPath.dirs.indexOf('bazel-out'); - if (bazelOutIndex >= 0) { - path = Path.resolve( - this.workerConfig.repoRoot, - ...parsedPath.dirs.slice(bazelOutIndex), - parsedPath.filename ?? '' - ); - parsedPath = parseFilePath(path); - } + const path = getModulePath(module); + const parsedPath = parseFilePath(path); if (!parsedPath.dirs.includes('node_modules')) { addReferenced(path); @@ -134,8 +109,7 @@ export class PopulateBundleCachePlugin { ...parsedPath.dirs.slice(0, nmIndex + 1 + (isScoped ? 2 : 1)), 'package.json' ); - - addReferenced(isBazelPackage(pkgJsonPath) ? path : pkgJsonPath); + addReferenced(pkgJsonPath); continue; } diff --git a/packages/kbn-optimizer/src/worker/run_worker_from_source.js b/packages/kbn-optimizer/src/worker/run_worker_from_source.js deleted file mode 100644 index bebe984a447d6..0000000000000 --- a/packages/kbn-optimizer/src/worker/run_worker_from_source.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('@kbn/optimizer').registerNodeAutoTranspilation(); -require('./run_worker'); diff --git a/packages/kbn-optimizer/src/worker/webpack.config.ts b/packages/kbn-optimizer/src/worker/webpack.config.ts index 888089203be4b..a5511c7ae0e5a 100644 --- a/packages/kbn-optimizer/src/worker/webpack.config.ts +++ b/packages/kbn-optimizer/src/worker/webpack.config.ts @@ -27,7 +27,12 @@ import { PopulateBundleCachePlugin } from './populate_bundle_cache_plugin'; const IS_CODE_COVERAGE = !!process.env.CODE_COVERAGE; const ISTANBUL_PRESET_PATH = require.resolve('@kbn/babel-preset/istanbul_preset'); -const BABEL_PRESET_PATH = require.resolve('@kbn/babel-preset/webpack_preset'); +const BABEL_PRESET = [ + require.resolve('@kbn/babel-preset/webpack_preset'), + { + 'kibana/ignoredPkgIds': Object.keys(UiSharedDepsSrc.externals), + }, +]; const DLL_MANIFEST = JSON.parse(Fs.readFileSync(UiSharedDepsNpm.dllManifestPath, 'utf8')); const nodeModulesButNotKbnPackages = (path: string) => { @@ -76,7 +81,7 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker: }, }, - externals: [UiSharedDepsSrc.externals], + externals: UiSharedDepsSrc.externals, plugins: [ new CleanWebpackPlugin(), @@ -149,7 +154,7 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker: options: { sourceMap: !worker.dist, postcssOptions: { - config: require.resolve('@kbn/optimizer/postcss.config.js'), + config: require.resolve('../../postcss.config.js'), }, }, }, @@ -176,7 +181,7 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker: options: { sourceMap: !worker.dist, postcssOptions: { - config: require.resolve('@kbn/optimizer/postcss.config.js'), + config: require.resolve('../../postcss.config.js'), }, }, }, @@ -227,9 +232,7 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker: options: { babelrc: false, envName: worker.dist ? 'production' : 'development', - presets: IS_CODE_COVERAGE - ? [ISTANBUL_PRESET_PATH, BABEL_PRESET_PATH] - : [BABEL_PRESET_PATH], + presets: IS_CODE_COVERAGE ? [ISTANBUL_PRESET_PATH, BABEL_PRESET] : [BABEL_PRESET], }, }, }, @@ -241,7 +244,7 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker: }, { test: /\.peggy$/, - loader: '@kbn/peggy-loader', + loader: require.resolve('@kbn/peggy-loader'), }, ], }, diff --git a/packages/kbn-optimizer/tsconfig.json b/packages/kbn-optimizer/tsconfig.json index 93c0f5ba2a57f..b8f5a04481115 100644 --- a/packages/kbn-optimizer/tsconfig.json +++ b/packages/kbn-optimizer/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -13,6 +11,23 @@ "**/*.ts" ], "exclude": [ - "**/__fixtures__/**/*" + "**/__fixtures__/**/*", + "target/**/*", + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/dev-utils", + "@kbn/optimizer-webpack-helpers", + "@kbn/std", + "@kbn/ui-shared-deps-npm", + "@kbn/ui-shared-deps-src", + "@kbn/tooling-log", + "@kbn/package-map", + "@kbn/ci-stats-reporter", + "@kbn/dev-cli-errors", + "@kbn/repo-info", + "@kbn/dev-cli-runner", + "@kbn/jest-serializers", + "@kbn/plugin-discovery", ] } diff --git a/packages/kbn-osquery-io-ts-types/BUILD.bazel b/packages/kbn-osquery-io-ts-types/BUILD.bazel deleted file mode 100644 index 80390c1de4b0a..0000000000000 --- a/packages/kbn-osquery-io-ts-types/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-osquery-io-ts-types" -PKG_REQUIRE_NAME = "@kbn/osquery-io-ts-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//io-ts", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//tslib", - "@npm//io-ts", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-osquery-io-ts-types/kibana.jsonc b/packages/kbn-osquery-io-ts-types/kibana.jsonc index bddaaf9b3543f..d989501855da2 100644 --- a/packages/kbn-osquery-io-ts-types/kibana.jsonc +++ b/packages/kbn-osquery-io-ts-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/osquery-io-ts-types", - "owner": "@elastic/security-asset-management", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/security-asset-management" } diff --git a/packages/kbn-osquery-io-ts-types/package.json b/packages/kbn-osquery-io-ts-types/package.json index 49b11c73a039a..71db0385e6117 100644 --- a/packages/kbn-osquery-io-ts-types/package.json +++ b/packages/kbn-osquery-io-ts-types/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the osquery project", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-osquery-io-ts-types/src/live_query/index.ts b/packages/kbn-osquery-io-ts-types/src/live_query/index.ts index 08352be1e78ca..378bb446cafab 100644 --- a/packages/kbn-osquery-io-ts-types/src/live_query/index.ts +++ b/packages/kbn-osquery-io-ts-types/src/live_query/index.ts @@ -99,6 +99,8 @@ export const arrayQueries = t.array( ecs_mapping: ecsMappingOrUndefined, version: versionOrUndefined, platform: platformOrUndefined, + removed: removedOrUndefined, + snapshot: snapshotOrUndefined, }) ); export type ArrayQueries = t.TypeOf; @@ -111,10 +113,12 @@ export const objectQueries = t.record( version: versionOrUndefined, platform: platformOrUndefined, saved_query_id: savedQueryIdOrUndefined, + removed: removedOrUndefined, + snapshot: snapshotOrUndefined, }) ); export type ObjectQueries = t.TypeOf; export const queries = t.union([arrayQueries, objectQueries]); export type Queries = t.TypeOf; -export const queriesOrUndefined = t.union([queries, t.undefined]); +export const queriesOrUndefined = t.union([arrayQueries, t.undefined]); // in the future we might need to support `objectQueries` so use `queries` instead of `arrayQueries` - now removing this because of strange type issue where query is a number export type QueriesOrUndefined = t.TypeOf; diff --git a/packages/kbn-osquery-io-ts-types/tsconfig.json b/packages/kbn-osquery-io-ts-types/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-osquery-io-ts-types/tsconfig.json +++ b/packages/kbn-osquery-io-ts-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-package-map/BUILD.bazel b/packages/kbn-package-map/BUILD.bazel new file mode 100644 index 0000000000000..9c29c0f656332 --- /dev/null +++ b/packages/kbn-package-map/BUILD.bazel @@ -0,0 +1,16 @@ +load("@npm//@bazel/typescript:index.bzl", "ts_config") +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") +load("//src/dev/bazel:index.bzl", "pkg_npm", "ts_project") + +js_library( + name = "kbn-package-map", + package_name = "@kbn/package-map", + srcs = [ + "package.json", + "index.js", + "index.d.ts", + "package-map.json", + ], + deps = [], + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-synthetic-package-map/index.d.ts b/packages/kbn-package-map/index.d.ts similarity index 100% rename from packages/kbn-synthetic-package-map/index.d.ts rename to packages/kbn-package-map/index.d.ts diff --git a/packages/kbn-package-map/index.js b/packages/kbn-package-map/index.js new file mode 100644 index 0000000000000..e81700334878a --- /dev/null +++ b/packages/kbn-package-map/index.js @@ -0,0 +1,26 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Fs = require('fs'); +const Path = require('path'); +const Crypto = require('crypto'); + +const PACKAGE_MAP_PATH = Path.resolve(__dirname, 'package-map.json'); + +function readPackageMap() { + return new Map(JSON.parse(Fs.readFileSync(PACKAGE_MAP_PATH, 'utf8'))); +} + +function readHashOfPackageMap() { + return Crypto.createHash('sha256').update(Fs.readFileSync(PACKAGE_MAP_PATH)).digest('hex'); +} + +module.exports = { + readPackageMap, + readHashOfPackageMap, +}; diff --git a/packages/kbn-package-map/kibana.jsonc b/packages/kbn-package-map/kibana.jsonc new file mode 100644 index 0000000000000..9b2bea0bfc1d9 --- /dev/null +++ b/packages/kbn-package-map/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/package-map", + "devOnly": true, + "owner": "@elastic/kibana-operations" +} diff --git a/packages/kbn-package-map/package.json b/packages/kbn-package-map/package.json new file mode 100644 index 0000000000000..f122e147219a9 --- /dev/null +++ b/packages/kbn-package-map/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/package-map", + "private": true, + "version": "1.0.0", + "main": "./index.js", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-package-map/tsconfig.json b/packages/kbn-package-map/tsconfig.json new file mode 100644 index 0000000000000..9a17e744de9e0 --- /dev/null +++ b/packages/kbn-package-map/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "node" + ] + }, + "include": [ + "index.d.ts" + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-peggy-loader/BUILD.bazel b/packages/kbn-peggy-loader/BUILD.bazel index 2d8bed8dd59a4..13afe2c2bc2de 100644 --- a/packages/kbn-peggy-loader/BUILD.bazel +++ b/packages/kbn-peggy-loader/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-peggy-loader" -PKG_REQUIRE_NAME = "@kbn/peggy-loader" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", ], @@ -24,105 +19,16 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ +BUNDLER_DEPS = [ "//packages/kbn-peggy", "@npm//peggy", "@npm//webpack", ] -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-peggy:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/webpack", - "@npm//peggy", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], + name = "kbn-peggy-loader", + package_name = "@kbn/peggy-loader", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-peggy-loader/kibana.jsonc b/packages/kbn-peggy-loader/kibana.jsonc index e651946dce5eb..3fb6c0848b3d9 100644 --- a/packages/kbn-peggy-loader/kibana.jsonc +++ b/packages/kbn-peggy-loader/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/peggy-loader", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-peggy-loader/package.json b/packages/kbn-peggy-loader/package.json index 6c2807a006f4a..c3c90681a442f 100644 --- a/packages/kbn-peggy-loader/package.json +++ b/packages/kbn-peggy-loader/package.json @@ -2,7 +2,5 @@ "name": "@kbn/peggy-loader", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-peggy-loader/tsconfig.json b/packages/kbn-peggy-loader/tsconfig.json index 292157c18591a..3e412325cfa91 100644 --- a/packages/kbn-peggy-loader/tsconfig.json +++ b/packages/kbn-peggy-loader/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/peggy" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-peggy/BUILD.bazel b/packages/kbn-peggy/BUILD.bazel index dcb225c7da403..9e577817f77af 100644 --- a/packages/kbn-peggy/BUILD.bazel +++ b/packages/kbn-peggy/BUILD.bazel @@ -1,12 +1,8 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-peggy" -PKG_REQUIRE_NAME = "@kbn/peggy" - -SOURCE_FILES = glob( +SRCS = glob( [ + "**/*.js", "**/*.ts", ], exclude = [ @@ -24,101 +20,14 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//peggy", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", +BUNDLER_DEPS = [ "@npm//peggy", ] -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], + name = "kbn-peggy", + package_name = "@kbn/peggy", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-peggy/README.mdx b/packages/kbn-peggy/README.mdx index 5d9779976b15a..a522690265460 100644 --- a/packages/kbn-peggy/README.mdx +++ b/packages/kbn-peggy/README.mdx @@ -16,8 +16,4 @@ These types will automatically be included for plugins. ## Packages -To include these types in a package: - -- add `"//packages/kbn-ambient-ui-types"` to the `RUNTIME_DEPS` portion of the `BUILD.bazel` file. -- add `"//packages/kbn-ambient-ui-types:npm_module_types"` to the `TYPES_DEPS` portion of the `BUILD.bazel` file. -- add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file +To include these types in a package add `"@kbn/ambient-ui-types"` to the `types` portion of the `tsconfig.json` file. \ No newline at end of file diff --git a/packages/kbn-peggy/index.js b/packages/kbn-peggy/index.js new file mode 100644 index 0000000000000..0a5910fcf04f2 --- /dev/null +++ b/packages/kbn-peggy/index.js @@ -0,0 +1,94 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const Path = require('path'); +const Fs = require('fs'); +const Fsp = require('fs/promises'); + +const Peggy = require('peggy'); + +/** + * @param {string} grammarPath + * @returns {import('./types').Config | undefined} + */ +function findConfigFile(grammarPath) { + const path = Path.resolve(Path.dirname(grammarPath), `${Path.basename(grammarPath)}.config.json`); + + let source; + let parsed; + try { + source = Fs.readFileSync(path, 'utf8'); + parsed = JSON.parse(source); + } catch (error) { + if (error.code === 'ENOENT') { + return undefined; + } + + throw error; + } + + return { path, source, parsed }; +} + +/** + * + * @param {import('./types').Options} options + * @returns {Promise} + */ +async function getJsSource(options) { + let source; + if (options.content) { + source = options.content; + } else if (options.path) { + source = await Fsp.readFile(options.path, 'utf8'); + } else { + throw new Error('you must either specify the path of the grammar file, or the content'); + } + + return getJsSourceSync({ + content: source, + ...options, + }); +} + +/** + * @param {import('./types').SyncOptions} options + * @returns + */ +function getJsSourceSync(options) { + const config = + options.config ?? + (options.path && options.skipConfigSearch !== true ? findConfigFile(options.path) : null); + + const result = Peggy.generate(options.content, { + ...config?.parsed, + format: options.format === 'esm' ? 'es' : 'commonjs', + optimize: options.optimize, + output: 'source', + }); + + return { + /** + * The source code of the module which parses expressions in the format + * defined by the peggy grammar file + */ + source: /** @type {string} */ (/** @type {unknown} */ (result)), + + /** + * The loaded config if it was found + */ + config: config ?? null, + }; +} + +module.exports = { + findConfigFile, + getJsSource, + getJsSourceSync, + version: Peggy.VERSION, +}; diff --git a/packages/kbn-peggy/index.ts b/packages/kbn-peggy/index.ts deleted file mode 100644 index b5b35f131d2ee..0000000000000 --- a/packages/kbn-peggy/index.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fs from 'fs'; -import Fsp from 'fs/promises'; - -import Peggy from 'peggy'; - -export interface Options { - /** - * The path to the peggy content. If this is not defined then - * config files can not be found and `content` must be passed. - */ - path?: string; - /** - * Prevent loading the content from disk by specifying it here - */ - content?: string; - /** - * Prevent loading the config from disk by specifying it here - */ - config?: Config; - /** - * What type of module format should the generated code use. Defaults to - * commonjs for broadest compatibility - */ - format?: 'esm' | 'commonjs'; - /** - * Should the parser optimize for execution speed or size of the code - */ - optimize?: 'size' | 'speed'; - /** - * Disable checking for a config file a `{basename}.config.json` in - * the same directory as the grammar file. - */ - skipConfigSearch?: boolean; -} - -export interface Config { - /** the path of the discovered config file */ - path: string; - /** the content of the config file as a string (primarily for hashing) */ - source: string; - /** the parsed content of the config file */ - parsed: any; -} - -export interface Result { - /** - * The source code of the module which parses expressions in the format - * defined by the peggy grammar file - */ - config: Config | null; - - /** - * The loaded config if it was found - */ - source: string; -} - -export function findConfigFile(grammarPath: string): Config | undefined { - const path = Path.resolve(Path.dirname(grammarPath), `${Path.basename(grammarPath)}.config.json`); - - let source; - let parsed; - try { - source = Fs.readFileSync(path, 'utf8'); - parsed = JSON.parse(source); - } catch (error) { - if (error.code === 'ENOENT') { - return undefined; - } - - throw error; - } - - return { path, source, parsed }; -} - -export async function getJsSource(options: Options): Promise { - let source; - if (options.content) { - source = options.content; - } else if (options.path) { - source = await Fsp.readFile(options.path, 'utf8'); - } else { - throw new Error('you must either specify the path of the grammar file, or the content'); - } - - return getJsSourceSync({ - content: source, - ...options, - }); -} - -export function getJsSourceSync( - options: Options & { - /** The content of the grammar file to parse */ - content: string; - } -): Result { - const config = - options.config ?? - (options.path && options.skipConfigSearch !== true ? findConfigFile(options.path) : null); - - const result = Peggy.generate(options.content, { - ...config?.parsed, - format: options.format === 'esm' ? 'es' : 'commonjs', - optimize: options.optimize, - output: 'source', - }); - - return { - /** - * The source code of the module which parses expressions in the format - * defined by the peggy grammar file - */ - source: result as unknown as string, - - /** - * The loaded config if it was found - */ - config: config ?? null, - }; -} - -export const VERSION = Peggy.VERSION; diff --git a/packages/kbn-peggy/kibana.jsonc b/packages/kbn-peggy/kibana.jsonc index 8b44dc5604d19..a1cdcc8f802aa 100644 --- a/packages/kbn-peggy/kibana.jsonc +++ b/packages/kbn-peggy/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/peggy", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-peggy/package.json b/packages/kbn-peggy/package.json index cd976c2e8d97b..0151ea6842987 100644 --- a/packages/kbn-peggy/package.json +++ b/packages/kbn-peggy/package.json @@ -2,7 +2,5 @@ "name": "@kbn/peggy", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-peggy/tsconfig.json b/packages/kbn-peggy/tsconfig.json index 292157c18591a..501c4341b89ad 100644 --- a/packages/kbn-peggy/tsconfig.json +++ b/packages/kbn-peggy/tsconfig.json @@ -1,15 +1,18 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "checkJs": true, + "outDir": "target/types", "types": [ "jest", "node" ] }, "include": [ - "**/*.ts", + "index.js", + "types.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-peggy/types.ts b/packages/kbn-peggy/types.ts new file mode 100644 index 0000000000000..b4c2500e5f8e1 --- /dev/null +++ b/packages/kbn-peggy/types.ts @@ -0,0 +1,64 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface Options { + /** + * The path to the peggy content. If this is not defined then + * config files can not be found and `content` must be passed. + */ + path?: string; + /** + * Prevent loading the content from disk by specifying it here + */ + content?: string; + /** + * Prevent loading the config from disk by specifying it here + */ + config?: Config; + /** + * What type of module format should the generated code use. Defaults to + * commonjs for broadest compatibility + */ + format?: 'esm' | 'commonjs'; + /** + * Should the parser optimize for execution speed or size of the code + */ + optimize?: 'size' | 'speed'; + /** + * Disable checking for a config file a `{basename}.config.json` in + * the same directory as the grammar file. + */ + skipConfigSearch?: boolean; +} + +export interface SyncOptions extends Options { + /** the content of the peggy grammar to parse */ + content: string; +} + +export interface Config { + /** the path of the discovered config file */ + path: string; + /** the content of the config file as a string (primarily for hashing) */ + source: string; + /** the parsed content of the config file */ + parsed: any; +} + +export interface Result { + /** + * The source code of the module which parses expressions in the format + * defined by the peggy grammar file + */ + config: Config | null; + + /** + * The loaded config if it was found + */ + source: string; +} diff --git a/packages/kbn-performance-testing-dataset-extractor/BUILD.bazel b/packages/kbn-performance-testing-dataset-extractor/BUILD.bazel deleted file mode 100644 index 2b088b0cfdc4a..0000000000000 --- a/packages/kbn-performance-testing-dataset-extractor/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-performance-testing-dataset-extractor" -PKG_REQUIRE_NAME = "@kbn/performance-testing-dataset-extractor" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-dev-cli-errors", - "//packages/kbn-dev-cli-runner", - "//packages/kbn-test", - "//packages/kbn-tooling-log", - "@npm//@elastic/elasticsearch", - "@npm//moment", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-journeys:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc b/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc index f09d991b49ec1..1363aaa66d61f 100644 --- a/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc +++ b/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/performance-testing-dataset-extractor", "devOnly": true, - "owner": "@elastic/kibana-performance-testing", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-performance-testing" } diff --git a/packages/kbn-performance-testing-dataset-extractor/package.json b/packages/kbn-performance-testing-dataset-extractor/package.json index f4da970da1525..d3be2848570b9 100644 --- a/packages/kbn-performance-testing-dataset-extractor/package.json +++ b/packages/kbn-performance-testing-dataset-extractor/package.json @@ -3,7 +3,5 @@ "description": "A library to convert APM traces into JSON format for performance testing.", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-performance-testing-dataset-extractor/tsconfig.json b/packages/kbn-performance-testing-dataset-extractor/tsconfig.json index 57c1dd1c94e0f..995f8bde4d93a 100644 --- a/packages/kbn-performance-testing-dataset-extractor/tsconfig.json +++ b/packages/kbn-performance-testing-dataset-extractor/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-errors", + "@kbn/dev-cli-runner", + "@kbn/tooling-log", + "@kbn/journeys" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-plugin-discovery/BUILD.bazel b/packages/kbn-plugin-discovery/BUILD.bazel deleted file mode 100644 index cdfcc23545c83..0000000000000 --- a/packages/kbn-plugin-discovery/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-plugin-discovery" -PKG_REQUIRE_NAME = "@kbn/plugin-discovery" - -SOURCE_FILES = glob( - [ - "**/*.js", - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - allow_js = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-plugin-discovery/kibana.jsonc b/packages/kbn-plugin-discovery/kibana.jsonc index 8e6ad8a0c35de..d14b8a8eadb99 100644 --- a/packages/kbn-plugin-discovery/kibana.jsonc +++ b/packages/kbn-plugin-discovery/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/plugin-discovery", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-plugin-discovery/package.json b/packages/kbn-plugin-discovery/package.json index ff8f17b0fa2ce..359dd420d87e3 100644 --- a/packages/kbn-plugin-discovery/package.json +++ b/packages/kbn-plugin-discovery/package.json @@ -2,7 +2,5 @@ "name": "@kbn/plugin-discovery", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-plugin-discovery/tsconfig.json b/packages/kbn-plugin-discovery/tsconfig.json index e5578a8b0eeac..03ae7bfe1cee1 100644 --- a/packages/kbn-plugin-discovery/tsconfig.json +++ b/packages/kbn-plugin-discovery/tsconfig.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, "checkJs": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +11,8 @@ "include": [ "**/*.js", "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-plugin-generator/BUILD.bazel b/packages/kbn-plugin-generator/BUILD.bazel deleted file mode 100644 index 82a7c0f250ce3..0000000000000 --- a/packages/kbn-plugin-generator/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-plugin-generator" -PKG_REQUIRE_NAME = "@kbn/plugin-generator" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -filegroup( - name = "template", - srcs = glob( - [ - "template/**/*", - ], - ), -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", - ":template", -] - -RUNTIME_DEPS = [ - "//packages/kbn-utils", - "//packages/kbn-dev-utils", - "@npm//del", - "@npm//ejs", - "@npm//execa", - "@npm//globby", - "@npm//inquirer", - "@npm//minimatch", - "@npm//prettier", - "@npm//vinyl-fs", -] - -TYPES_DEPS = [ - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-dev-utils:npm_module_types", - "@npm//del", - "@npm//execa", - "@npm//globby", - "@npm//@types/ejs", - "@npm//@types/inquirer", - "@npm//@types/jest", - "@npm//@types/minimatch", - "@npm//@types/node", - "@npm//@types/prettier", - "@npm//@types/vinyl-fs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-plugin-generator/kibana.jsonc b/packages/kbn-plugin-generator/kibana.jsonc index 1045f43539324..7b73a516f7663 100644 --- a/packages/kbn-plugin-generator/kibana.jsonc +++ b/packages/kbn-plugin-generator/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/plugin-generator", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-plugin-generator/package.json b/packages/kbn-plugin-generator/package.json index add2a70f0e5be..99dd77ab9a434 100644 --- a/packages/kbn-plugin-generator/package.json +++ b/packages/kbn-plugin-generator/package.json @@ -2,7 +2,5 @@ "name": "@kbn/plugin-generator", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-plugin-generator/src/ask_questions.ts b/packages/kbn-plugin-generator/src/ask_questions.ts index aeee8dfdbdad1..96aaec218e64f 100644 --- a/packages/kbn-plugin-generator/src/ask_questions.ts +++ b/packages/kbn-plugin-generator/src/ask_questions.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import inquirer from 'inquirer'; export interface Answers { diff --git a/packages/kbn-plugin-generator/src/cli.ts b/packages/kbn-plugin-generator/src/cli.ts index a4a18317283c7..90a0b971530bf 100644 --- a/packages/kbn-plugin-generator/src/cli.ts +++ b/packages/kbn-plugin-generator/src/cli.ts @@ -10,7 +10,7 @@ import Path from 'path'; import Fs from 'fs'; import execa from 'execa'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { createFailError, createFlagError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts b/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts index a9df7fdd2be90..ce359d1eb8104 100644 --- a/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts +++ b/packages/kbn-plugin-generator/src/integration_tests/generate_plugin.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import del from 'del'; import execa from 'execa'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; import globby from 'globby'; diff --git a/packages/kbn-plugin-generator/src/plugin_types.ts b/packages/kbn-plugin-generator/src/plugin_types.ts index 33f30381c78a5..e3b36eb16e0a6 100644 --- a/packages/kbn-plugin-generator/src/plugin_types.ts +++ b/packages/kbn-plugin-generator/src/plugin_types.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export interface PluginType { thirdParty: boolean; diff --git a/packages/kbn-plugin-generator/src/render_template.ts b/packages/kbn-plugin-generator/src/render_template.ts index 385239706b56d..f64796ecad3dd 100644 --- a/packages/kbn-plugin-generator/src/render_template.ts +++ b/packages/kbn-plugin-generator/src/render_template.ts @@ -12,7 +12,7 @@ import { promisify } from 'util'; import vfs from 'vinyl-fs'; import prettier from 'prettier'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { transformFileStream } from '@kbn/dev-utils'; import ejs from 'ejs'; import { Minimatch } from 'minimatch'; @@ -78,7 +78,7 @@ export async function renderTemplates({ dot: true, buffer: true, nodir: true, - cwd: Path.resolve(__dirname, '../../template'), + cwd: Path.resolve(__dirname, '../template'), }), // exclude files from the template based on selected options, patterns diff --git a/packages/kbn-plugin-generator/tsconfig.json b/packages/kbn-plugin-generator/tsconfig.json index 70567fe331a27..7c818fe8c5583 100644 --- a/packages/kbn-plugin-generator/tsconfig.json +++ b/packages/kbn-plugin-generator/tsconfig.json @@ -1,10 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "target": "ES2019", + "outDir": "target/types", "types": [ "jest", "node" @@ -14,6 +11,14 @@ "**/*.ts" ], "exclude": [ - "template/*" + "template/*", + "target/**/*", + ], + "kbn_references": [ + "@kbn/dev-utils", + "@kbn/repo-info", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/jest-serializers", ], } diff --git a/packages/kbn-plugin-helpers/BUILD.bazel b/packages/kbn-plugin-helpers/BUILD.bazel deleted file mode 100644 index 482b5bdf8b4d5..0000000000000 --- a/packages/kbn-plugin-helpers/BUILD.bazel +++ /dev/null @@ -1,129 +0,0 @@ - -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-plugin-helpers" -PKG_REQUIRE_NAME = "@kbn/plugin-helpers" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-optimizer", - "//packages/kbn-utils", - "@npm//del", - "@npm//execa", - "@npm//extract-zip", - "@npm//globby", - "@npm//gulp-zip", - "@npm//inquirer", - "@npm//load-json-file", - "@npm//vinyl-fs", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-optimizer:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//del", - "@npm//execa", - "@npm//globby", - "@npm//load-json-file", - "@npm//@types/extract-zip", - "@npm//@types/gulp-zip", - "@npm//@types/inquirer", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/vinyl-fs", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-plugin-helpers/kibana.jsonc b/packages/kbn-plugin-helpers/kibana.jsonc index 84a87720dab0c..bee9b9486a644 100644 --- a/packages/kbn-plugin-helpers/kibana.jsonc +++ b/packages/kbn-plugin-helpers/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/plugin-helpers", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-plugin-helpers/package.json b/packages/kbn-plugin-helpers/package.json index dc12d7ddb6b64..9380f15c083e4 100644 --- a/packages/kbn-plugin-helpers/package.json +++ b/packages/kbn-plugin-helpers/package.json @@ -4,9 +4,7 @@ "private": true, "description": "Just some helpers for kibana plugin devs.", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", "bin": { "plugin-helpers": "bin/plugin-helpers.js" - }, - "types": "./target_types/index.d.ts" + } } \ No newline at end of file diff --git a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts index 10ad022e45a79..bae49182aab10 100644 --- a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts +++ b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import Fs from 'fs'; import execa from 'execa'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createStripAnsiSerializer, createReplaceSerializer } from '@kbn/jest-serializers'; import extract from 'extract-zip'; import del from 'del'; diff --git a/packages/kbn-plugin-helpers/src/load_kibana_platform_plugin.ts b/packages/kbn-plugin-helpers/src/load_kibana_platform_plugin.ts index fb01d6deeded7..b3a3716f91ea1 100644 --- a/packages/kbn-plugin-helpers/src/load_kibana_platform_plugin.ts +++ b/packages/kbn-plugin-helpers/src/load_kibana_platform_plugin.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { parseKibanaPlatformPlugin, KibanaPlatformPlugin } from '@kbn/plugin-discovery'; import { createFailError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-plugin-helpers/src/tasks/optimize.ts b/packages/kbn-plugin-helpers/src/tasks/optimize.ts index ee05fa3d3354c..96b4550c49d8b 100644 --- a/packages/kbn-plugin-helpers/src/tasks/optimize.ts +++ b/packages/kbn-plugin-helpers/src/tasks/optimize.ts @@ -10,7 +10,7 @@ import Fs from 'fs'; import Path from 'path'; import { promisify } from 'util'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { OptimizerConfig, runOptimizer, logOptimizerState } from '@kbn/optimizer'; import { BuildContext } from '../build_context'; diff --git a/packages/kbn-dev-utils/src/babel.ts b/packages/kbn-plugin-helpers/src/tasks/transform_file_with_babel.ts similarity index 100% rename from packages/kbn-dev-utils/src/babel.ts rename to packages/kbn-plugin-helpers/src/tasks/transform_file_with_babel.ts diff --git a/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts b/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts index 371937c21c709..42816082b4bbe 100644 --- a/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts +++ b/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts @@ -10,7 +10,8 @@ import { pipeline } from 'stream'; import { promisify } from 'util'; import vfs from 'vinyl-fs'; -import { transformFileWithBabel, transformFileStream } from '@kbn/dev-utils'; +import { transformFileStream } from '@kbn/dev-utils'; +import { transformFileWithBabel } from './transform_file_with_babel'; import { BuildContext } from '../build_context'; diff --git a/packages/kbn-plugin-helpers/tsconfig.json b/packages/kbn-plugin-helpers/tsconfig.json index 11089e8846334..37c93a7d51735 100644 --- a/packages/kbn-plugin-helpers/tsconfig.json +++ b/packages/kbn-plugin-helpers/tsconfig.json @@ -1,10 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "target": "ES2018", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +9,18 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-utils", + "@kbn/optimizer", + "@kbn/tooling-log", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/repo-info", + "@kbn/plugin-discovery", + "@kbn/jest-serializers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-react-field/BUILD.bazel b/packages/kbn-react-field/BUILD.bazel deleted file mode 100644 index 0437d78106355..0000000000000 --- a/packages/kbn-react-field/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-react-field" -PKG_REQUIRE_NAME = "@kbn/react-field" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//classnames", - "@npm//prop-types", - "@npm//react", -] - -TYPES_DEPS = [ - "@npm//tslib", - "@npm//@elastic/eui", - "@npm//@types/classnames", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/prop-types", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_webpack", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_webpack"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_webpack", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-react-field/kibana.jsonc b/packages/kbn-react-field/kibana.jsonc index aade3b0242974..4b85e53ad6af2 100644 --- a/packages/kbn-react-field/kibana.jsonc +++ b/packages/kbn-react-field/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/react-field", - "owner": "@elastic/kibana-app-services", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-app-services" } diff --git a/packages/kbn-react-field/package.json b/packages/kbn-react-field/package.json index aae5d673b5fbd..c0fc936e297f1 100644 --- a/packages/kbn-react-field/package.json +++ b/packages/kbn-react-field/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/react-field", - "main": "./target_node/index.js", - "browser": "./target_webpack/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-react-field/tsconfig.json b/packages/kbn-react-field/tsconfig.json index ab59ea0429ac2..b85e4312e707d 100644 --- a/packages/kbn-react-field/tsconfig.json +++ b/packages/kbn-react-field/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,4 +11,7 @@ "**/*.ts", "**/*.tsx", ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-repo-info/BUILD.bazel b/packages/kbn-repo-info/BUILD.bazel new file mode 100644 index 0000000000000..91d330a9ec888 --- /dev/null +++ b/packages/kbn-repo-info/BUILD.bazel @@ -0,0 +1,36 @@ +load("@npm//@bazel/typescript:index.bzl", "ts_config") +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") +load("//src/dev/bazel:index.bzl", "pkg_npm", "ts_project") + +SRCS = glob( + [ + "**/*.js", + "**/*.ts", + ], + exclude = [ + "**/*.config.js", + "**/*.mock.*", + "**/*.test.*", + "**/*.stories.*", + "**/__snapshots__/**", + "**/integration_tests/**", + "**/mocks/**", + "**/scripts/**", + "**/storybook/**", + "**/test_fixtures/**", + "**/test_helpers/**", + ], +) + +filegroup( + name = 'root_pkg_json', + srcs = ["//:package.json"] +) + +js_library( + name = "kbn-repo-info", + package_name = "@kbn/repo-info", + srcs = ["package.json"] + SRCS, + deps = [":root_pkg_json"], + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-repo-info/README.md b/packages/kbn-repo-info/README.md new file mode 100644 index 0000000000000..00bbf64ba4d9b --- /dev/null +++ b/packages/kbn-repo-info/README.md @@ -0,0 +1,3 @@ +# @kbn/repo-info + +Empty package generated by @kbn/generate diff --git a/packages/kbn-repo-info/index.js b/packages/kbn-repo-info/index.js new file mode 100644 index 0000000000000..bb38c8bff64e9 --- /dev/null +++ b/packages/kbn-repo-info/index.js @@ -0,0 +1,79 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** @typedef {import('./types').KibanaPackageJson} KibanaPackageJson */ + +const Path = require('path'); +const Fs = require('fs'); + +/** + * @param {string} path + * @returns {undefined | KibanaPackageJson} + */ +const readKibanaPkgJson = (path) => { + try { + const json = JSON.parse(Fs.readFileSync(path, 'utf8')); + if (json && typeof json === 'object' && 'name' in json && json.name === 'kibana') { + return json; + } + } catch (error) { + if (error && error.code === 'ENOENT') { + return; + } + + throw error; + } +}; + +const findKibanaPackageJson = () => { + // search for the kibana directory, since this file is moved around it might + // not be where we think but should always be a relatively close parent + // of this directory + const startDir = __dirname; + const { root: rootDir } = Path.parse(startDir); + let cursor = startDir; + while (true) { + const packageJsonPath = Path.resolve(cursor, 'package.json'); + const kibanaPkgJson = readKibanaPkgJson(packageJsonPath); + + if (kibanaPkgJson) { + return { + // we use `Fs.realpathSync()` to resolve the package.json path to the actual file + // in the repo rather than the sym-linked version if it is symlinked + kibanaDir: Path.dirname(Fs.realpathSync(packageJsonPath)), + kibanaPkgJson, + }; + } + + const parent = Path.dirname(cursor); + if (parent === rootDir) { + throw new Error(`unable to find kibana directory from ${startDir}`); + } + cursor = parent; + } +}; + +const { kibanaDir, kibanaPkgJson } = findKibanaPackageJson(); + +const REPO_ROOT = kibanaDir; +const PKG_JSON = kibanaPkgJson; +const UPSTREAM_BRANCH = kibanaPkgJson.branch; + +/** + * @param {string[]} paths + */ +const fromRoot = (...paths) => Path.resolve(REPO_ROOT, ...paths); + +module.exports = { + REPO_ROOT, + PKG_JSON, + kibanaPackageJson: PKG_JSON, + isKibanaDistributable: () => !!PKG_JSON.build.distributable, + UPSTREAM_BRANCH, + fromRoot, +}; diff --git a/packages/kbn-repo-info/jest.config.js b/packages/kbn-repo-info/jest.config.js new file mode 100644 index 0000000000000..6a3ee546e5e57 --- /dev/null +++ b/packages/kbn-repo-info/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-repo-info'], +}; diff --git a/packages/kbn-repo-info/kibana.jsonc b/packages/kbn-repo-info/kibana.jsonc new file mode 100644 index 0000000000000..ab12583890dfd --- /dev/null +++ b/packages/kbn-repo-info/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/repo-info", + "owner": "@elastic/kibana-operations" +} diff --git a/packages/kbn-repo-info/package.json b/packages/kbn-repo-info/package.json new file mode 100644 index 0000000000000..e01117eee3cd8 --- /dev/null +++ b/packages/kbn-repo-info/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/repo-info", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-repo-info/tsconfig.json b/packages/kbn-repo-info/tsconfig.json new file mode 100644 index 0000000000000..3bbf05e134ce1 --- /dev/null +++ b/packages/kbn-repo-info/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "checkJs": true, + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "index.js", + "types.ts" + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-repo-info/types.ts b/packages/kbn-repo-info/types.ts new file mode 100644 index 0000000000000..21aab323e57c1 --- /dev/null +++ b/packages/kbn-repo-info/types.ts @@ -0,0 +1,28 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface KibanaPackageJson { + name: string; + version: string; + branch: string; + build: { + number: number; + sha: string; + distributable?: boolean; + }; + dependencies: { + [dep: string]: string; + }; + devDependencies: { + [dep: string]: string; + }; + engines?: { + [name: string]: string | undefined; + }; + [key: string]: unknown; +} diff --git a/packages/kbn-repo-path/README.md b/packages/kbn-repo-path/README.md new file mode 100644 index 0000000000000..ef281b3caba9f --- /dev/null +++ b/packages/kbn-repo-path/README.md @@ -0,0 +1,3 @@ +# @kbn/repo-path + +Empty package generated by @kbn/generate diff --git a/packages/kbn-repo-path/index.ts b/packages/kbn-repo-path/index.ts new file mode 100644 index 0000000000000..3d79cd011ef40 --- /dev/null +++ b/packages/kbn-repo-path/index.ts @@ -0,0 +1,9 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { RepoPath } from './repo_path'; diff --git a/packages/kbn-repo-path/jest.config.js b/packages/kbn-repo-path/jest.config.js new file mode 100644 index 0000000000000..68e96763c2637 --- /dev/null +++ b/packages/kbn-repo-path/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-repo-path'], +}; diff --git a/packages/kbn-repo-path/kibana.jsonc b/packages/kbn-repo-path/kibana.jsonc new file mode 100644 index 0000000000000..2c0bc6368ff67 --- /dev/null +++ b/packages/kbn-repo-path/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/repo-path", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-repo-path/package.json b/packages/kbn-repo-path/package.json new file mode 100644 index 0000000000000..8f53e6f63866b --- /dev/null +++ b/packages/kbn-repo-path/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/repo-path", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-repo-path/repo_path.ts b/packages/kbn-repo-path/repo_path.ts new file mode 100644 index 0000000000000..65873bb4c2249 --- /dev/null +++ b/packages/kbn-repo-path/repo_path.ts @@ -0,0 +1,71 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +export class RepoPath { + constructor( + /** root path of the repo where this file was found */ + public readonly repoRoot: string, + /** repo-relative path to the file */ + public readonly repoRel: string + ) {} + + private _abs: string | undefined; + /** + * absolute path to the file + * (lazy and cached getter) + */ + public get abs() { + return (this._abs ??= Path.resolve(this.repoRoot, this.repoRel)); + } + + private _ext: string | undefined; + /** + * extension to the filename + * (lazy and cached getter) + */ + public get ext() { + return (this._ext ??= Path.extname(this.repoRel)); + } + + private _basename: string | undefined; + /** + * basename of the path + * (lazy and cached getter) + */ + public get basename() { + return (this._basename ??= Path.basename(this.repoRel)); + } + + isTypeScript() { + return this.ext === '.ts' || this.ext === '.tsx'; + } + + isTypeScriptAmbient() { + return this.repoRel.endsWith('.d.ts'); + } + + isJavaScript() { + return this.ext === '.js' || this.ext === '.jsx' || this.ext === '.mjs'; + } + + isFixture() { + const parts = this.repoRel.split('/'); + if (parts.includes('__fixtures__') || this.repoRel.endsWith('.test-d.ts')) { + return true; + } + + const i = parts.indexOf('kbn-generate'); + if (i >= 0 && parts[i + 1] === 'templates') { + return true; + } + + return false; + } +} diff --git a/packages/kbn-repo-path/tsconfig.json b/packages/kbn-repo-path/tsconfig.json new file mode 100644 index 0000000000000..2f9ddddbeea23 --- /dev/null +++ b/packages/kbn-repo-path/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/packages/kbn-repo-source-classifier-cli/BUILD.bazel b/packages/kbn-repo-source-classifier-cli/BUILD.bazel deleted file mode 100644 index 6706dc9aa2c13..0000000000000 --- a/packages/kbn-repo-source-classifier-cli/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-repo-source-classifier-cli" -PKG_REQUIRE_NAME = "@kbn/repo-source-classifier-cli" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-dev-cli-runner", - "//packages/kbn-dev-cli-errors", - "//packages/kbn-import-resolver", - "//packages/kbn-repo-source-classifier", - "//packages/kbn-get-repo-files", - "//packages/kbn-utils", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-dev-cli-runner:npm_module_types", - "//packages/kbn-dev-cli-errors:npm_module_types", - "//packages/kbn-import-resolver:npm_module_types", - "//packages/kbn-repo-source-classifier:npm_module_types", - "//packages/kbn-get-repo-files:npm_module_types", - "//packages/kbn-utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-repo-source-classifier-cli/index.ts b/packages/kbn-repo-source-classifier-cli/index.ts index 13531215ee678..0e30d92b4a8e7 100644 --- a/packages/kbn-repo-source-classifier-cli/index.ts +++ b/packages/kbn-repo-source-classifier-cli/index.ts @@ -10,7 +10,7 @@ import Path from 'path'; import { RepoSourceClassifier } from '@kbn/repo-source-classifier'; import { ImportResolver } from '@kbn/import-resolver'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getRepoFiles } from '@kbn/get-repo-files'; import { run } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-repo-source-classifier-cli/kibana.jsonc b/packages/kbn-repo-source-classifier-cli/kibana.jsonc index a93259974364a..916b42e59d7bc 100644 --- a/packages/kbn-repo-source-classifier-cli/kibana.jsonc +++ b/packages/kbn-repo-source-classifier-cli/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/repo-source-classifier-cli", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-repo-source-classifier-cli/package.json b/packages/kbn-repo-source-classifier-cli/package.json index 490014811b834..cc52a3314a1bf 100644 --- a/packages/kbn-repo-source-classifier-cli/package.json +++ b/packages/kbn-repo-source-classifier-cli/package.json @@ -2,7 +2,5 @@ "name": "@kbn/repo-source-classifier-cli", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-repo-source-classifier-cli/tsconfig.json b/packages/kbn-repo-source-classifier-cli/tsconfig.json index 57c1dd1c94e0f..07b64f1834e46 100644 --- a/packages/kbn-repo-source-classifier-cli/tsconfig.json +++ b/packages/kbn-repo-source-classifier-cli/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/import-resolver", + "@kbn/repo-source-classifier", + "@kbn/get-repo-files", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-repo-source-classifier/BUILD.bazel b/packages/kbn-repo-source-classifier/BUILD.bazel deleted file mode 100644 index b143ea3f93121..0000000000000 --- a/packages/kbn-repo-source-classifier/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-repo-source-classifier" -PKG_REQUIRE_NAME = "@kbn/repo-source-classifier" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//normalize-path", - "//packages/kbn-import-resolver:npm_module_types", - "//packages/kbn-utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-repo-source-classifier/kibana.jsonc b/packages/kbn-repo-source-classifier/kibana.jsonc index edeb2d3c64a39..e717374c9c7ee 100644 --- a/packages/kbn-repo-source-classifier/kibana.jsonc +++ b/packages/kbn-repo-source-classifier/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/repo-source-classifier", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-repo-source-classifier/package.json b/packages/kbn-repo-source-classifier/package.json index bda6886d162dd..65aac900e204c 100644 --- a/packages/kbn-repo-source-classifier/package.json +++ b/packages/kbn-repo-source-classifier/package.json @@ -2,7 +2,5 @@ "name": "@kbn/repo-source-classifier", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-repo-source-classifier/src/config.ts b/packages/kbn-repo-source-classifier/src/config.ts index 6f6b9251988c0..283ca70b20c6d 100644 --- a/packages/kbn-repo-source-classifier/src/config.ts +++ b/packages/kbn-repo-source-classifier/src/config.ts @@ -19,6 +19,7 @@ export const RANDOM_TEST_FILE_NAMES = new Set([ 'enzyme_helpers', 'fixtures', 'testbed', + 'jest.config', ]); // tags are found in filenames after a `.`, like `name.tag.ts` diff --git a/packages/kbn-repo-source-classifier/src/repo_path.ts b/packages/kbn-repo-source-classifier/src/repo_path.ts index cd13adf0cb824..e1e5151ff2079 100644 --- a/packages/kbn-repo-source-classifier/src/repo_path.ts +++ b/packages/kbn-repo-source-classifier/src/repo_path.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ImportResolver } from '@kbn/import-resolver'; import normalizePath from 'normalize-path'; diff --git a/packages/kbn-repo-source-classifier/src/repo_source_classifier.ts b/packages/kbn-repo-source-classifier/src/repo_source_classifier.ts index f3aecbb49d246..d0fcbf496654a 100644 --- a/packages/kbn-repo-source-classifier/src/repo_source_classifier.ts +++ b/packages/kbn-repo-source-classifier/src/repo_source_classifier.ts @@ -142,14 +142,40 @@ export class RepoSourceClassifier { } const { pkgId, rel } = pkgInfo; + + if (pkgId === '@kbn/test' || pkgId === '@kbn/test-subj-selector') { + return 'common package'; + } + const pkgIdWords = new Set(pkgId.split(/\W+/)); // treat any package with "mocks" or "storybook" in the ID as a test-specific package if (pkgIdWords.has('mocks') || pkgIdWords.has('storybook') || pkgIdWords.has('test')) { return 'tests or mocks'; } + if (Array.from(pkgIdWords).at(-1) === 'cli') { + return 'tooling'; + } - if (path.resolver.isBazelPackage(pkgId)) { - return 'common package'; + const manifest = this.resolver.getPkgManifest(pkgId); + if (manifest) { + switch (manifest.type) { + case 'functional-tests': + case 'test-helper': + return 'tests or mocks'; + case 'plugin-browser': + case 'shared-browser': + return 'browser package'; + case 'plugin-server': + case 'shared-server': + return 'server package'; + case 'shared-scss': + return 'static'; + case 'shared-common': + return 'common package'; + default: + // @ts-expect-error if there isn't an error here we are missing a case for a package type + throw new Error(`unexpected package type [${manifest.type}]`); + } } const [root, ...dirs] = rel.split('/'); diff --git a/packages/kbn-repo-source-classifier/tsconfig.json b/packages/kbn-repo-source-classifier/tsconfig.json index 57c1dd1c94e0f..f41dffcd32f06 100644 --- a/packages/kbn-repo-source-classifier/tsconfig.json +++ b/packages/kbn-repo-source-classifier/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/import-resolver", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-rison/BUILD.bazel b/packages/kbn-rison/BUILD.bazel index 948affb52f443..4cb5cd714a025 100644 --- a/packages/kbn-rison/BUILD.bazel +++ b/packages/kbn-rison/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-rison" -PKG_REQUIRE_NAME = "@kbn/rison" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", ], @@ -24,100 +19,14 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ +BUNDLER_DEPS = [ "@npm//rison-node", ] -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], + name = "kbn-rison", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, + package_name = "@kbn/rison", visibility = ["//visibility:public"], ) diff --git a/packages/kbn-rison/kbn_rison.test.ts b/packages/kbn-rison/kbn_rison.test.ts index 0a3e49cacf485..a085ef299f92c 100644 --- a/packages/kbn-rison/kbn_rison.test.ts +++ b/packages/kbn-rison/kbn_rison.test.ts @@ -21,7 +21,7 @@ describe('encoding', () => { }); it('throws if it received undefined', () => { expect(() => Rison.encode(undefined)).toThrowErrorMatchingInlineSnapshot( - `"unable to encode value into rison, expected a primative value array or object"` + `"unable to encode value into rison, expected a primitive value array or object"` ); }); it('encodes a complex object', () => { diff --git a/packages/kbn-rison/kbn_rison.ts b/packages/kbn-rison/kbn_rison.ts index 4b2fe7958704c..be789a9a54560 100644 --- a/packages/kbn-rison/kbn_rison.ts +++ b/packages/kbn-rison/kbn_rison.ts @@ -29,7 +29,7 @@ export function encode(obj: any) { const rison = encodeUnknown(obj); if (rison === undefined) { throw new Error( - 'unable to encode value into rison, expected a primative value array or object' + 'unable to encode value into rison, expected a primitive value array or object' ); } return rison; @@ -42,6 +42,17 @@ export function decode(rison: string): RisonValue { return Rison.decode(rison); } +/** + * safely parse a rison string into a javascript structure, never throws + */ +export function safeDecode(rison: string): RisonValue { + try { + return decode(rison); + } catch { + return null; + } +} + /** * rison-encode a javascript array without surrounding parens */ diff --git a/packages/kbn-rison/kibana.jsonc b/packages/kbn-rison/kibana.jsonc index e2543dbebbc1b..c0e6145d04a7d 100644 --- a/packages/kbn-rison/kibana.jsonc +++ b/packages/kbn-rison/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/rison", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-rison/package.json b/packages/kbn-rison/package.json index 692d31de22435..efe4223acd33e 100644 --- a/packages/kbn-rison/package.json +++ b/packages/kbn-rison/package.json @@ -2,7 +2,5 @@ "name": "@kbn/rison", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-rison/tsconfig.json b/packages/kbn-rison/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-rison/tsconfig.json +++ b/packages/kbn-rison/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-rule-data-utils/BUILD.bazel b/packages/kbn-rule-data-utils/BUILD.bazel deleted file mode 100644 index fe77bd4443fe9..0000000000000 --- a/packages/kbn-rule-data-utils/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-rule-data-utils" -PKG_REQUIRE_NAME = "@kbn/rule-data-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-es-query", - "@npm//@elastic/elasticsearch", - "@npm//tslib", - "@npm//utility-types", -] - -TYPES_DEPS = [ - "//packages/kbn-es-query:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//tslib", - "@npm//utility-types", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-rule-data-utils/kibana.jsonc b/packages/kbn-rule-data-utils/kibana.jsonc index 654155c883971..6650a9b1d67f0 100644 --- a/packages/kbn-rule-data-utils/kibana.jsonc +++ b/packages/kbn-rule-data-utils/kibana.jsonc @@ -5,7 +5,5 @@ "@elastic/security-detections-response", "@elastic/actionable-observability", "@elastic/response-ops" - ], - "runtimeDeps": [], - "typeDeps": [] + ] } diff --git a/packages/kbn-rule-data-utils/package.json b/packages/kbn-rule-data-utils/package.json index 9613e173d6f4a..bf1c9795a3671 100644 --- a/packages/kbn-rule-data-utils/package.json +++ b/packages/kbn-rule-data-utils/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/rule-data-utils", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-rule-data-utils/tsconfig.json b/packages/kbn-rule-data-utils/tsconfig.json index 57c1dd1c94e0f..5c94013fc2eaf 100644 --- a/packages/kbn-rule-data-utils/tsconfig.json +++ b/packages/kbn-rule-data-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/es-query" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-safer-lodash-set/BUILD.bazel b/packages/kbn-safer-lodash-set/BUILD.bazel index 3a5d07ab38904..b7cfbbe50bd53 100644 --- a/packages/kbn-safer-lodash-set/BUILD.bazel +++ b/packages/kbn-safer-lodash-set/BUILD.bazel @@ -1,9 +1,6 @@ load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") -PKG_DIRNAME = "kbn-safer-lodash-set" -PKG_REQUIRE_NAME = "@kbn/safer-lodash-set" - -SOURCE_FILES = glob( +SRCS = glob( [ "fp/**/*", "lodash/**/*", @@ -16,60 +13,14 @@ SOURCE_FILES = glob( ], ) -TYPE_FILES = glob([ - "fp/**/*.d.ts", - "index.d.ts", - "set.d.ts", - "setWith.d.ts", -]) - -SRCS = SOURCE_FILES + TYPE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - DEPS = [ "@npm//lodash", ] js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], + name = "kbn-safer-lodash-set", + package_name = "@kbn/safer-lodash-set", + srcs = ["package.json"] + SRCS, deps = DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = PKG_DIRNAME, - visibility = ["//visibility:public"], -) - -alias( - name = "build_types", - actual = "build", visibility = ["//visibility:public"], ) diff --git a/packages/kbn-safer-lodash-set/kibana.jsonc b/packages/kbn-safer-lodash-set/kibana.jsonc index 8d7c5dfbb6bb3..d01d41b9a6219 100644 --- a/packages/kbn-safer-lodash-set/kibana.jsonc +++ b/packages/kbn-safer-lodash-set/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/safer-lodash-set", - "owner": "@elastic/kibana-security", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-security" } diff --git a/packages/kbn-safer-lodash-set/package.json b/packages/kbn-safer-lodash-set/package.json index 8d1b80bdfb082..5004f18930618 100644 --- a/packages/kbn-safer-lodash-set/package.json +++ b/packages/kbn-safer-lodash-set/package.json @@ -2,8 +2,6 @@ "name": "@kbn/safer-lodash-set", "version": "0.0.0", "description": "A safer version of the lodash set and setWith functions", - "main": "index.js", - "types": "./target_types/index.d.ts", "scripts": { "lint": "../../node_modules/.bin/dependency-check --missing ../../package.json ./packages/kbn-safer-lodash-set/set.js ./packages/kbn-safer-lodash-set/setWith.js ./packages/kbn-safer-lodash-set/fp/*.js", "test": "npm run lint && ../../node_modules/.bin/tape test/*.js && npm run test:types", diff --git a/packages/kbn-safer-lodash-set/tsconfig.json b/packages/kbn-safer-lodash-set/tsconfig.json index 48aa6ed341d61..0d3736eeafd07 100644 --- a/packages/kbn-safer-lodash-set/tsconfig.json +++ b/packages/kbn-safer-lodash-set/tsconfig.json @@ -1,7 +1,12 @@ { - "extends": "../../tsconfig.bazel.json", - "compilerOptions": {}, + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, "include": [ "**/*", ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-securitysolution-autocomplete/BUILD.bazel b/packages/kbn-securitysolution-autocomplete/BUILD.bazel deleted file mode 100644 index 8309ff7f0ef47..0000000000000 --- a/packages/kbn-securitysolution-autocomplete/BUILD.bazel +++ /dev/null @@ -1,143 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-autocomplete" -PKG_REQUIRE_NAME = "@kbn/securitysolution-autocomplete" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-datemath", - "//packages/kbn-es-query", - "//packages/kbn-i18n", - "//packages/kbn-securitysolution-io-ts-list-types", - "//packages/kbn-securitysolution-list-hooks", - "//packages/kbn-securitysolution-list-utils", - "//packages/kbn-doc-links", - "@npm//@elastic/eui", - "@npm//@testing-library/react", - "@npm//@testing-library/react-hooks", - "@npm//enzyme", - "@npm//lodash", - "@npm//moment", - "@npm//react", -] - -TYPES_DEPS = [ - "//packages/kbn-datemath:npm_module_types", - "//packages/kbn-es-query:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-securitysolution-io-ts-list-types:npm_module_types", - "//packages/kbn-securitysolution-list-hooks:npm_module_types", - "//packages/kbn-securitysolution-list-utils:npm_module_types", - "//packages/kbn-doc-links:npm_module_types", - "@npm//@elastic/eui", - "@npm//@testing-library/react", - "@npm//@testing-library/react-hooks", - "@npm//moment", - "@npm//tslib", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-autocomplete/kibana.jsonc b/packages/kbn-securitysolution-autocomplete/kibana.jsonc index fbf73ddf07fb4..8fb42cbdb30f8 100644 --- a/packages/kbn-securitysolution-autocomplete/kibana.jsonc +++ b/packages/kbn-securitysolution-autocomplete/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-autocomplete", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-autocomplete/package.json b/packages/kbn-securitysolution-autocomplete/package.json index 91b92d5aa4b3a..33bcb4e05206e 100644 --- a/packages/kbn-securitysolution-autocomplete/package.json +++ b/packages/kbn-securitysolution-autocomplete/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "Security Solution auto complete", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-autocomplete/tsconfig.json b/packages/kbn-securitysolution-autocomplete/tsconfig.json index 2b02a63db1d05..f7df7da6f06ad 100644 --- a/packages/kbn-securitysolution-autocomplete/tsconfig.json +++ b/packages/kbn-securitysolution-autocomplete/tsconfig.json @@ -1,13 +1,24 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["jest", "node"] }, "include": [ "**/*.ts", "**/*.tsx", ], + "kbn_references": [ + "@kbn/datemath", + "@kbn/es-query", + "@kbn/i18n", + "@kbn/securitysolution-io-ts-list-types", + "@kbn/securitysolution-list-hooks", + "@kbn/securitysolution-list-utils", + "@kbn/doc-links", + "@kbn/securitysolution-utils", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-securitysolution-es-utils/BUILD.bazel b/packages/kbn-securitysolution-es-utils/BUILD.bazel deleted file mode 100644 index c4ff9faedce27..0000000000000 --- a/packages/kbn-securitysolution-es-utils/BUILD.bazel +++ /dev/null @@ -1,114 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-es-utils" -PKG_REQUIRE_NAME = "@kbn/securitysolution-es-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//@elastic/elasticsearch", - "@npm//@hapi/boom", - "@npm//@hapi/hapi", - "@npm//tslib", -] - -TYPES_DEPS = [ - "@npm//@elastic/elasticsearch", - "@npm//@hapi/boom", - "@npm//tslib", - "@npm//@types/hapi__hapi", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-es-utils/kibana.jsonc b/packages/kbn-securitysolution-es-utils/kibana.jsonc index a798aefeae37d..b04ff412e507b 100644 --- a/packages/kbn-securitysolution-es-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-es-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-es-utils", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-es-utils/package.json b/packages/kbn-securitysolution-es-utils/package.json index d4cc8d25a36ff..3083acffa0636 100644 --- a/packages/kbn-securitysolution-es-utils/package.json +++ b/packages/kbn-securitysolution-es-utils/package.json @@ -3,7 +3,5 @@ "version": "1.0.0", "description": "security solution elastic search utilities to use across plugins such lists, security_solution, cases, etc...", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-es-utils/tsconfig.json b/packages/kbn-securitysolution-es-utils/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-securitysolution-es-utils/tsconfig.json +++ b/packages/kbn-securitysolution-es-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-exception-list-components/BUILD.bazel b/packages/kbn-securitysolution-exception-list-components/BUILD.bazel deleted file mode 100644 index 36379eea91840..0000000000000 --- a/packages/kbn-securitysolution-exception-list-components/BUILD.bazel +++ /dev/null @@ -1,163 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - - -PKG_DIRNAME = "kbn-securitysolution-exception-list-components" -PKG_REQUIRE_NAME = "@kbn/securitysolution-exception-list-components" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.svg", - "**/*.d.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "jest.config.js" -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/kbn-securitysolution-io-ts-list-types", - "//packages/kbn-securitysolution-autocomplete", - "//packages/kbn-ui-theme", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@testing-library/jest-dom", - "@npm//jest", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-securitysolution-io-ts-list-types:npm_module_types", - "//packages/kbn-securitysolution-autocomplete:npm_module_types", - "//packages/kbn-ui-theme:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//jest", - -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-exception-list-components/kibana.jsonc b/packages/kbn-securitysolution-exception-list-components/kibana.jsonc index 081c50d35af0d..8ab71311e449e 100644 --- a/packages/kbn-securitysolution-exception-list-components/kibana.jsonc +++ b/packages/kbn-securitysolution-exception-list-components/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-exception-list-components", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-exception-list-components/package.json b/packages/kbn-securitysolution-exception-list-components/package.json index b0acf0d547f8e..297b54d4a80a4 100644 --- a/packages/kbn-securitysolution-exception-list-components/package.json +++ b/packages/kbn-securitysolution-exception-list-components/package.json @@ -2,8 +2,5 @@ "name": "@kbn/securitysolution-exception-list-components", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-exception-list-components/tsconfig.json b/packages/kbn-securitysolution-exception-list-components/tsconfig.json index e1a84c71fdfd1..988ad42191b74 100644 --- a/packages/kbn-securitysolution-exception-list-components/tsconfig.json +++ b/packages/kbn-securitysolution-exception-list-components/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,14 @@ "**/*.ts", "**/*.tsx", "**/*.d.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-io-ts-list-types", + "@kbn/securitysolution-autocomplete", + "@kbn/ui-theme", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-hook-utils/BUILD.bazel b/packages/kbn-securitysolution-hook-utils/BUILD.bazel deleted file mode 100644 index f2886137fedd5..0000000000000 --- a/packages/kbn-securitysolution-hook-utils/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-hook-utils" -PKG_REQUIRE_NAME = "@kbn/securitysolution-hook-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//@testing-library/react-hooks", - "@npm//react", - "@npm//rxjs", - "@npm//tslib", -] - -TYPES_DEPS = [ - "@npm//@testing-library/react-hooks", - "@npm//rxjs", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-hook-utils/kibana.jsonc b/packages/kbn-securitysolution-hook-utils/kibana.jsonc index cd7d23f07792d..0ce78952b9fed 100644 --- a/packages/kbn-securitysolution-hook-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-hook-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-hook-utils", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-hook-utils/package.json b/packages/kbn-securitysolution-hook-utils/package.json index e676b6494a01b..39c3b9aa01335 100644 --- a/packages/kbn-securitysolution-hook-utils/package.json +++ b/packages/kbn-securitysolution-hook-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "Security Solution utilities for React hooks", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-hook-utils/tsconfig.json b/packages/kbn-securitysolution-hook-utils/tsconfig.json index b1621b0cd4477..9b5c5373afe0e 100644 --- a/packages/kbn-securitysolution-hook-utils/tsconfig.json +++ b/packages/kbn-securitysolution-hook-utils/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["jest", "node"] }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel deleted file mode 100644 index 51ab304ca82a2..0000000000000 --- a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-io-ts-alerting-types" -PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-alerting-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-securitysolution-io-ts-types", - "//packages/kbn-securitysolution-io-ts-utils", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//uuid", -] - -TYPES_DEPS = [ - "//packages/kbn-securitysolution-io-ts-types:npm_module_types", - "//packages/kbn-securitysolution-io-ts-utils:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/uuid" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc index d1e730f414d18..617a3125a8c7b 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-alerting-types", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/package.json b/packages/kbn-securitysolution-io-ts-alerting-types/package.json index bcfacbe9c5146..c570745f51677 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/package.json +++ b/packages/kbn-securitysolution-io-ts-alerting-types/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json index 57c1dd1c94e0f..f9fb0b0fcebb2 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-io-ts-types", + "@kbn/securitysolution-io-ts-utils" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel deleted file mode 100644 index 28b36936420f0..0000000000000 --- a/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-io-ts-list-types" -PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-list-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-securitysolution-io-ts-types", - "//packages/kbn-securitysolution-io-ts-utils", - "//packages/kbn-securitysolution-list-constants", - "@npm//fp-ts", - "@npm//io-ts", -] - -TYPES_DEPS = [ - "//packages/kbn-securitysolution-io-ts-types:npm_module_types", - "//packages/kbn-securitysolution-io-ts-utils:npm_module_types", - "//packages/kbn-securitysolution-list-constants:npm_module_types", - "//packages/kbn-es-query:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc index d50df0b0d6512..404a225ca7f8f 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-list-types", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-io-ts-list-types/package.json b/packages/kbn-securitysolution-io-ts-list-types/package.json index 20dd5d2e37ad0..3794f95d0f8b7 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/package.json +++ b/packages/kbn-securitysolution-io-ts-list-types/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json index 57c1dd1c94e0f..fa66258766fda 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,14 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-io-ts-types", + "@kbn/securitysolution-io-ts-utils", + "@kbn/securitysolution-list-constants", + "@kbn/es-query" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-io-ts-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-types/BUILD.bazel deleted file mode 100644 index 4b102f68e2a4e..0000000000000 --- a/packages/kbn-securitysolution-io-ts-types/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-io-ts-types" -PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-types" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-securitysolution-io-ts-utils", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//uuid", -] - -TYPES_DEPS = [ - "//packages/kbn-securitysolution-io-ts-utils:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/uuid" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-io-ts-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc index 6ef8a21b00e1e..007244ad6f098 100644 --- a/packages/kbn-securitysolution-io-ts-types/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-types", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-io-ts-types/package.json b/packages/kbn-securitysolution-io-ts-types/package.json index e02a79f16a098..6bbb9a2300338 100644 --- a/packages/kbn-securitysolution-io-ts-types/package.json +++ b/packages/kbn-securitysolution-io-ts-types/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-types/tsconfig.json index 57c1dd1c94e0f..25b82d38b7dc9 100644 --- a/packages/kbn-securitysolution-io-ts-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-io-ts-utils" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel b/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel deleted file mode 100644 index 9ec44f8d52546..0000000000000 --- a/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-io-ts-utils" -PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-datemath", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//lodash", - "@npm//moment", - "@npm//tslib", -] - -TYPES_DEPS = [ - "//packages/kbn-datemath:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//moment", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc index 2c86eea21c0c1..980cdb3979fc9 100644 --- a/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-io-ts-utils", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-io-ts-utils/package.json b/packages/kbn-securitysolution-io-ts-utils/package.json index 8ae2eff526ac9..c6bdf4a7d0987 100644 --- a/packages/kbn-securitysolution-io-ts-utils/package.json +++ b/packages/kbn-securitysolution-io-ts-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-io-ts-utils/tsconfig.json b/packages/kbn-securitysolution-io-ts-utils/tsconfig.json index 57c1dd1c94e0f..13f8244edd1ad 100644 --- a/packages/kbn-securitysolution-io-ts-utils/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/datemath" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-list-api/BUILD.bazel b/packages/kbn-securitysolution-list-api/BUILD.bazel deleted file mode 100644 index 05254f32c2c7e..0000000000000 --- a/packages/kbn-securitysolution-list-api/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-list-api" -PKG_REQUIRE_NAME = "@kbn/securitysolution-list-api" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-securitysolution-io-ts-list-types", - "//packages/kbn-securitysolution-io-ts-utils", - "//packages/kbn-securitysolution-list-constants", - "@npm//fp-ts", - "@npm//io-ts", -] - -TYPES_DEPS = [ - "//packages/kbn-securitysolution-io-ts-list-types:npm_module_types", - "//packages/kbn-securitysolution-io-ts-utils:npm_module_types", - "//packages/kbn-securitysolution-list-constants:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - srcs = SRCS, - deps = TYPES_DEPS, - args = ["--pretty"], - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-list-api/kibana.jsonc b/packages/kbn-securitysolution-list-api/kibana.jsonc index b162805a8c8b4..d8dc7a8a9057d 100644 --- a/packages/kbn-securitysolution-list-api/kibana.jsonc +++ b/packages/kbn-securitysolution-list-api/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-api", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-list-api/package.json b/packages/kbn-securitysolution-list-api/package.json index 01156ef460a99..681f624f1d8c9 100644 --- a/packages/kbn-securitysolution-list-api/package.json +++ b/packages/kbn-securitysolution-list-api/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution list REST API", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-api/src/api/index.test.ts b/packages/kbn-securitysolution-list-api/src/api/index.test.ts deleted file mode 100644 index 02cc02ced5ac4..0000000000000 --- a/packages/kbn-securitysolution-list-api/src/api/index.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -describe('Exceptions Lists API', () => { - test('we should port these tests', () => { - // See the file outside of this at: x-pack/plugins/lists/public/exceptions/api.test.ts - // for the tests. We cannot port the tests over until we move the mocks into their own package - // and possibly core mocks end up within packages. - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-api/tsconfig.json b/packages/kbn-securitysolution-list-api/tsconfig.json index 57c1dd1c94e0f..2c2ca29316fcd 100644 --- a/packages/kbn-securitysolution-list-api/tsconfig.json +++ b/packages/kbn-securitysolution-list-api/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-io-ts-list-types", + "@kbn/securitysolution-io-ts-utils", + "@kbn/securitysolution-list-constants", + "@kbn/core-http-browser", + "@kbn/core-http-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-list-constants/BUILD.bazel b/packages/kbn-securitysolution-list-constants/BUILD.bazel deleted file mode 100644 index ac40cb7889e8d..0000000000000 --- a/packages/kbn-securitysolution-list-constants/BUILD.bazel +++ /dev/null @@ -1,115 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-list-constants" -PKG_REQUIRE_NAME = "@kbn/securitysolution-list-constants" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-std", -] - -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "//packages/kbn-std:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - srcs = SRCS, - deps = TYPES_DEPS, - args = ["--pretty"], - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-list-constants/kibana.jsonc b/packages/kbn-securitysolution-list-constants/kibana.jsonc index ffe606ca6ade8..898927abb1ea8 100644 --- a/packages/kbn-securitysolution-list-constants/kibana.jsonc +++ b/packages/kbn-securitysolution-list-constants/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-constants", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-list-constants/package.json b/packages/kbn-securitysolution-list-constants/package.json index 2b8be64d94547..adba0ce4ab22d 100644 --- a/packages/kbn-securitysolution-list-constants/package.json +++ b/packages/kbn-securitysolution-list-constants/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution list constants to use across plugins such lists, security_solution, cases, etc...", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-constants/tsconfig.json b/packages/kbn-securitysolution-list-constants/tsconfig.json index 57c1dd1c94e0f..0cd8de173ed4f 100644 --- a/packages/kbn-securitysolution-list-constants/tsconfig.json +++ b/packages/kbn-securitysolution-list-constants/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/std" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-list-hooks/BUILD.bazel b/packages/kbn-securitysolution-list-hooks/BUILD.bazel deleted file mode 100644 index e1cbefa4ab0c6..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/BUILD.bazel +++ /dev/null @@ -1,131 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-list-hooks" -PKG_REQUIRE_NAME = "@kbn/securitysolution-list-hooks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-securitysolution-hook-utils", - "//packages/kbn-securitysolution-io-ts-list-types", - "//packages/kbn-securitysolution-list-api", - "//packages/kbn-securitysolution-list-constants", - "//packages/kbn-securitysolution-list-utils", - "//packages/kbn-securitysolution-utils", - "@npm//@testing-library/react-hooks", - "@npm//fp-ts", - "@npm//react", -] - -TYPES_DEPS = [ - "//packages/kbn-securitysolution-hook-utils:npm_module_types", - "//packages/kbn-securitysolution-io-ts-list-types:npm_module_types", - "//packages/kbn-securitysolution-list-api:npm_module_types", - "//packages/kbn-securitysolution-list-constants:npm_module_types", - "//packages/kbn-securitysolution-list-utils:npm_module_types", - "//packages/kbn-securitysolution-utils:npm_module_types", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "@npm//fp-ts", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-list-hooks/kibana.jsonc b/packages/kbn-securitysolution-list-hooks/kibana.jsonc index 12d670f46ae32..bf885e2ac37cb 100644 --- a/packages/kbn-securitysolution-list-hooks/kibana.jsonc +++ b/packages/kbn-securitysolution-list-hooks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-hooks", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-list-hooks/package.json b/packages/kbn-securitysolution-list-hooks/package.json index 75d0ec81e656c..0a21618561b2e 100644 --- a/packages/kbn-securitysolution-list-hooks/package.json +++ b/packages/kbn-securitysolution-list-hooks/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "Security solution list ReactJS hooks", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-hooks/src/transforms/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/transforms/index.test.ts index aab7dfd7b2b70..6b46fb33cfabd 100644 --- a/packages/kbn-securitysolution-list-hooks/src/transforms/index.test.ts +++ b/packages/kbn-securitysolution-list-hooks/src/transforms/index.test.ts @@ -19,7 +19,7 @@ import { removeIdFromExceptionItemsEntries, transformInput, transformOutput, -} from '@kbn/securitysolution-list-hooks'; +} from '../..'; import { getCreateExceptionListItemSchemaMock } from '../mocks/request/create_exception_list_item_schema.mock'; import { getUpdateExceptionListItemSchemaMock } from '../mocks/request/update_exception_list_item_schema.mock'; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_api/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_api/index.test.ts deleted file mode 100644 index 7ccf2146594be..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_api/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useApi', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/exceptions/hooks/use_api.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_create_list_index/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_create_list_index/index.test.ts deleted file mode 100644 index e0285d39f2fa9..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_create_list_index/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useCreateListIndex', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/lists/hooks/use_create_list_index.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_delete_list/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_delete_list/index.test.ts deleted file mode 100644 index f1a6f9e8348ba..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_delete_list/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useDeleteList', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/lists/hooks/use_delete_list.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_exception_lists/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_exception_lists/index.test.ts deleted file mode 100644 index 7236000fef999..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_exception_lists/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useExceptionLists', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/exceptions/hooks/use_exception_lists.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_export_list/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_export_list/index.test.ts deleted file mode 100644 index 92ac43c834273..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_export_list/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useExceptionLists', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/lists/hooks/use_export_list.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_import_list/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_import_list/index.test.ts deleted file mode 100644 index 0bf2a722a8332..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_import_list/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useImportList', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/lists/hooks/use_import_list.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_item/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_item/index.test.ts deleted file mode 100644 index 3971d066ddee1..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_item/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('usePersistExceptionItem', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/exceptions/hooks/persist_exception_item.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_list/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_list/index.test.ts deleted file mode 100644 index 6fe38f4d6d273..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_persist_exception_list/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('usePersistExceptionList', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/exceptions/hooks/persist_exception_list.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/src/use_read_list_index/index.test.ts b/packages/kbn-securitysolution-list-hooks/src/use_read_list_index/index.test.ts deleted file mode 100644 index bb63ed86d01ef..0000000000000 --- a/packages/kbn-securitysolution-list-hooks/src/use_read_list_index/index.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('useReadListIndex', () => { - test('Tests should be ported', () => { - // TODO: Port all the tests from: x-pack/plugins/lists/public/lists/hooks/use_read_list_index.test.ts here once mocks are figured out and kbn package mocks are figured out - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-hooks/tsconfig.json b/packages/kbn-securitysolution-list-hooks/tsconfig.json index 57c1dd1c94e0f..417beef57542f 100644 --- a/packages/kbn-securitysolution-list-hooks/tsconfig.json +++ b/packages/kbn-securitysolution-list-hooks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/securitysolution-hook-utils", + "@kbn/securitysolution-io-ts-list-types", + "@kbn/securitysolution-list-api", + "@kbn/securitysolution-list-utils", + "@kbn/securitysolution-utils", + "@kbn/core-http-browser-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-list-utils/BUILD.bazel b/packages/kbn-securitysolution-list-utils/BUILD.bazel deleted file mode 100644 index 20a6074aee9c9..0000000000000 --- a/packages/kbn-securitysolution-list-utils/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-list-utils" -PKG_REQUIRE_NAME = "@kbn/securitysolution-list-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-es-query", - "//packages/kbn-i18n", - "//packages/kbn-securitysolution-io-ts-list-types", - "//packages/kbn-securitysolution-io-ts-utils", - "//packages/kbn-securitysolution-list-constants", - "//packages/kbn-securitysolution-utils", - "@npm//lodash", - "@npm//uuid", -] - -TYPES_DEPS = [ - "//packages/kbn-es-query:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-securitysolution-io-ts-list-types:npm_module_types", - "//packages/kbn-securitysolution-io-ts-utils:npm_module_types", - "//packages/kbn-securitysolution-list-constants:npm_module_types", - "//packages/kbn-securitysolution-utils:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/uuid", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], - -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], - -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-list-utils/kibana.jsonc b/packages/kbn-securitysolution-list-utils/kibana.jsonc index db7d0a5ec334f..0c6f734a2360f 100644 --- a/packages/kbn-securitysolution-list-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-list-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-list-utils", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-list-utils/package.json b/packages/kbn-securitysolution-list-utils/package.json index 548f68c1f0ebb..0cb4d35b2d5e8 100644 --- a/packages/kbn-securitysolution-list-utils/package.json +++ b/packages/kbn-securitysolution-list-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution list utilities", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-list-utils/src/helpers/index.test.ts b/packages/kbn-securitysolution-list-utils/src/helpers/index.test.ts deleted file mode 100644 index e0cab13b44521..0000000000000 --- a/packages/kbn-securitysolution-list-utils/src/helpers/index.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -describe('Exception builder helpers', () => { - test('we should port these tests', () => { - // See the file outside of this at: x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts - // for the tests. We cannot port the tests over until we move the mocks into their own package - // and possibly core mocks end up within packages. - expect(true).toBe(true); - }); -}); diff --git a/packages/kbn-securitysolution-list-utils/tsconfig.json b/packages/kbn-securitysolution-list-utils/tsconfig.json index 57c1dd1c94e0f..c0aaedaafd845 100644 --- a/packages/kbn-securitysolution-list-utils/tsconfig.json +++ b/packages/kbn-securitysolution-list-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,16 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/es-query", + "@kbn/i18n", + "@kbn/securitysolution-io-ts-list-types", + "@kbn/securitysolution-io-ts-utils", + "@kbn/securitysolution-list-constants", + "@kbn/securitysolution-utils" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-rules/BUILD.bazel b/packages/kbn-securitysolution-rules/BUILD.bazel deleted file mode 100644 index 7519e7bae1dd4..0000000000000 --- a/packages/kbn-securitysolution-rules/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-rules" -PKG_REQUIRE_NAME = "@kbn/securitysolution-rules" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//tslib", - "@npm//uuid", -] - -TYPES_DEPS = [ - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/uuid" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-rules/kibana.jsonc b/packages/kbn-securitysolution-rules/kibana.jsonc index b7e64cfd39e6b..38deebcbbdc55 100644 --- a/packages/kbn-securitysolution-rules/kibana.jsonc +++ b/packages/kbn-securitysolution-rules/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-rules", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-rules/package.json b/packages/kbn-securitysolution-rules/package.json index 5e41733300a35..1ca22df9300f1 100644 --- a/packages/kbn-securitysolution-rules/package.json +++ b/packages/kbn-securitysolution-rules/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution rule utilities to use across plugins", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-rules/tsconfig.json b/packages/kbn-securitysolution-rules/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-securitysolution-rules/tsconfig.json +++ b/packages/kbn-securitysolution-rules/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-t-grid/BUILD.bazel b/packages/kbn-securitysolution-t-grid/BUILD.bazel deleted file mode 100644 index 219d8e85a6642..0000000000000 --- a/packages/kbn-securitysolution-t-grid/BUILD.bazel +++ /dev/null @@ -1,120 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-t-grid" -PKG_REQUIRE_NAME = "@kbn/securitysolution-t-grid" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//jest", - "@npm//lodash", - "@npm//react-beautiful-dnd", - "@npm//tslib", -] - -TYPES_DEPS = [ - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react-beautiful-dnd", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-t-grid/kibana.jsonc b/packages/kbn-securitysolution-t-grid/kibana.jsonc index bc0f533b72120..bc63fa6a8cb1f 100644 --- a/packages/kbn-securitysolution-t-grid/kibana.jsonc +++ b/packages/kbn-securitysolution-t-grid/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-t-grid", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-t-grid/package.json b/packages/kbn-securitysolution-t-grid/package.json index 95c525df9b152..5144111cca187 100644 --- a/packages/kbn-securitysolution-t-grid/package.json +++ b/packages/kbn-securitysolution-t-grid/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution t-grid packages will allow sharing components between timelines and security_solution plugin until we transfer all functionality to timelines plugin", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-t-grid/tsconfig.json b/packages/kbn-securitysolution-t-grid/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-securitysolution-t-grid/tsconfig.json +++ b/packages/kbn-securitysolution-t-grid/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-securitysolution-utils/BUILD.bazel b/packages/kbn-securitysolution-utils/BUILD.bazel deleted file mode 100644 index 1144c136e74a2..0000000000000 --- a/packages/kbn-securitysolution-utils/BUILD.bazel +++ /dev/null @@ -1,119 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-securitysolution-utils" -PKG_REQUIRE_NAME = "@kbn/securitysolution-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "@npm//tslib", - "@npm//uuid" -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/uuid" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ["--pretty"], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-securitysolution-utils/kibana.jsonc b/packages/kbn-securitysolution-utils/kibana.jsonc index 24e63965c20c8..de28a8dae699e 100644 --- a/packages/kbn-securitysolution-utils/kibana.jsonc +++ b/packages/kbn-securitysolution-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/securitysolution-utils", - "owner": "@elastic/security-solution-platform", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/security-solution-platform" } diff --git a/packages/kbn-securitysolution-utils/package.json b/packages/kbn-securitysolution-utils/package.json index 2c77139c326dd..63bcac7f14f15 100644 --- a/packages/kbn-securitysolution-utils/package.json +++ b/packages/kbn-securitysolution-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "description": "security solution utilities to use across plugins such lists, security_solution, cases, etc...", "license": "SSPL-1.0 OR Elastic License 2.0", - "browser": "./target_web/index.js", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-securitysolution-utils/tsconfig.json b/packages/kbn-securitysolution-utils/tsconfig.json index 57c1dd1c94e0f..9e62b09e954fc 100644 --- a/packages/kbn-securitysolution-utils/tsconfig.json +++ b/packages/kbn-securitysolution-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/i18n" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-server-http-tools/BUILD.bazel b/packages/kbn-server-http-tools/BUILD.bazel deleted file mode 100644 index 6cbd74e12656d..0000000000000 --- a/packages/kbn-server-http-tools/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-server-http-tools" -PKG_REQUIRE_NAME = "@kbn/server-http-tools" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.mocks.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-config-schema", - "//packages/kbn-crypto", - "@npm//@hapi/hapi", - "@npm//@hapi/hoek", - "@npm//joi", - "@npm//moment", - "@npm//uuid", -] - -TYPES_DEPS = [ - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-crypto:npm_module_types", - "@npm//@hapi/hapi", - "@npm//@hapi/hoek", - "@npm//joi", - "@npm//moment", - "@npm//@types/hapi__hapi", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/uuid", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-server-http-tools/kibana.jsonc b/packages/kbn-server-http-tools/kibana.jsonc index b96916745c984..c2b6aae999c2f 100644 --- a/packages/kbn-server-http-tools/kibana.jsonc +++ b/packages/kbn-server-http-tools/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/server-http-tools", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-server-http-tools/package.json b/packages/kbn-server-http-tools/package.json index b0abbd436e938..309e405200e4a 100644 --- a/packages/kbn-server-http-tools/package.json +++ b/packages/kbn-server-http-tools/package.json @@ -1,9 +1,7 @@ { "name": "@kbn/server-http-tools", - "main": "./target_node/index.js", "version": "1.0.0", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-server-http-tools/tsconfig.json b/packages/kbn-server-http-tools/tsconfig.json index 57c1dd1c94e0f..179eec6f37c26 100644 --- a/packages/kbn-server-http-tools/tsconfig.json +++ b/packages/kbn-server-http-tools/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/crypto" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-server-route-repository/BUILD.bazel b/packages/kbn-server-route-repository/BUILD.bazel deleted file mode 100644 index 19360a1da0f80..0000000000000 --- a/packages/kbn-server-route-repository/BUILD.bazel +++ /dev/null @@ -1,130 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-server-route-repository" -PKG_REQUIRE_NAME = "@kbn/server-route-repository" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-config-schema", - "//packages/kbn-io-ts-utils", - "@npm//@hapi/boom", - "@npm//fp-ts", - "@npm//lodash", - "@npm//utility-types" -] - -TYPES_DEPS = [ - "//packages/kbn-config-schema:npm_module_types", - "//packages/kbn-io-ts-utils:npm_module_types", - "@npm//@hapi/boom", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//utility-types", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = [ - "web_index.ts", - "src/format_request.ts", - "src/parse_endpoint.ts", - ], - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-server-route-repository/web_index.ts b/packages/kbn-server-route-repository/browser_index.ts similarity index 100% rename from packages/kbn-server-route-repository/web_index.ts rename to packages/kbn-server-route-repository/browser_index.ts diff --git a/packages/kbn-server-route-repository/kibana.jsonc b/packages/kbn-server-route-repository/kibana.jsonc index e1e69049b1791..8161be4b80951 100644 --- a/packages/kbn-server-route-repository/kibana.jsonc +++ b/packages/kbn-server-route-repository/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/server-route-repository", - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-server-route-repository/package.json b/packages/kbn-server-route-repository/package.json index 04ca169ad0ab3..a1c4cfa515633 100644 --- a/packages/kbn-server-route-repository/package.json +++ b/packages/kbn-server-route-repository/package.json @@ -1,9 +1,7 @@ { "name": "@kbn/server-route-repository", - "browser": "./target_web/web_index.js", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "private": true, - "types": "./target_types/index.d.ts" -} + "browser": "./browser_index" +} \ No newline at end of file diff --git a/packages/kbn-server-route-repository/tsconfig.json b/packages/kbn-server-route-repository/tsconfig.json index a1cd5336c6255..68e576e00b06e 100644 --- a/packages/kbn-server-route-repository/tsconfig.json +++ b/packages/kbn-server-route-repository/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/io-ts-utils" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-shared-svg/BUILD.bazel b/packages/kbn-shared-svg/BUILD.bazel deleted file mode 100644 index 79262ef0b54b1..0000000000000 --- a/packages/kbn-shared-svg/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-shared-svg" -PKG_REQUIRE_NAME = "@kbn/shared-svg" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react" -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-shared-svg/kibana.jsonc b/packages/kbn-shared-svg/kibana.jsonc index e816819c9c24a..6634bd9dffc5d 100644 --- a/packages/kbn-shared-svg/kibana.jsonc +++ b/packages/kbn-shared-svg/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-svg", - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-shared-svg/package.json b/packages/kbn-shared-svg/package.json index d28953d0d843a..16d0ddda08510 100644 --- a/packages/kbn-shared-svg/package.json +++ b/packages/kbn-shared-svg/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-svg", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-shared-svg/tsconfig.json b/packages/kbn-shared-svg/tsconfig.json index df76c43764ad6..faea0b4bf0765 100644 --- a/packages/kbn-shared-svg/tsconfig.json +++ b/packages/kbn-shared-svg/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,10 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-shared-ux-utility/BUILD.bazel b/packages/kbn-shared-ux-utility/BUILD.bazel deleted file mode 100644 index d19df36a5ea49..0000000000000 --- a/packages/kbn-shared-ux-utility/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-shared-ux-utility" -PKG_REQUIRE_NAME = "@kbn/shared-ux-utility" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@elastic/eui", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@emotion/react", - "@npm//@emotion/css", - "@npm//@elastic/eui", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-shared-ux-utility/kibana.jsonc b/packages/kbn-shared-ux-utility/kibana.jsonc index 63b05a89f558b..db36089572290 100644 --- a/packages/kbn-shared-ux-utility/kibana.jsonc +++ b/packages/kbn-shared-ux-utility/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-utility", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/kbn-shared-ux-utility/package.json b/packages/kbn-shared-ux-utility/package.json index 6bf6571104b45..302da6f03a812 100644 --- a/packages/kbn-shared-ux-utility/package.json +++ b/packages/kbn-shared-ux-utility/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-utility", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-shared-ux-utility/tsconfig.json b/packages/kbn-shared-ux-utility/tsconfig.json index 4990376ba9063..b89bc5610aa12 100644 --- a/packages/kbn-shared-ux-utility/tsconfig.json +++ b/packages/kbn-shared-ux-utility/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,8 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-slo-schema/README.md b/packages/kbn-slo-schema/README.md new file mode 100644 index 0000000000000..f3e10ab2ca138 --- /dev/null +++ b/packages/kbn-slo-schema/README.md @@ -0,0 +1,4 @@ +# @kbn/slo-schema + +This shared package contains the io-ts schema definition for the observability SLO project. +As well as the REST API schema specs and some common models that can be reused between public/ and server/, as the Duration model. diff --git a/packages/kbn-slo-schema/index.ts b/packages/kbn-slo-schema/index.ts new file mode 100644 index 0000000000000..28c29b1f3b01a --- /dev/null +++ b/packages/kbn-slo-schema/index.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './src/schema'; +export * from './src/rest_specs'; +export * from './src/models/duration'; diff --git a/packages/kbn-slo-schema/jest.config.js b/packages/kbn-slo-schema/jest.config.js new file mode 100644 index 0000000000000..74310ff75d4f9 --- /dev/null +++ b/packages/kbn-slo-schema/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-slo-schema'], +}; diff --git a/packages/kbn-slo-schema/kibana.jsonc b/packages/kbn-slo-schema/kibana.jsonc new file mode 100644 index 0000000000000..2d12cd108585c --- /dev/null +++ b/packages/kbn-slo-schema/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/slo-schema", + "owner": "@elastic/actionable-observability", +} diff --git a/packages/kbn-slo-schema/package.json b/packages/kbn-slo-schema/package.json new file mode 100644 index 0000000000000..0113236189c7c --- /dev/null +++ b/packages/kbn-slo-schema/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/slo-schema", + "description": "SLO io-ts schema definition and common models shared between public and server.", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/x-pack/plugins/observability/server/domain/models/duration.test.ts b/packages/kbn-slo-schema/src/models/duration.test.ts similarity index 80% rename from x-pack/plugins/observability/server/domain/models/duration.test.ts rename to packages/kbn-slo-schema/src/models/duration.test.ts index ce99d4be0571a..f3cd23278b41a 100644 --- a/x-pack/plugins/observability/server/domain/models/duration.test.ts +++ b/packages/kbn-slo-schema/src/models/duration.test.ts @@ -1,8 +1,9 @@ /* * 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. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import { Duration, DurationUnit } from './duration'; @@ -77,4 +78,25 @@ describe('Duration', () => { expect(short.isLongerOrEqualThan(new Duration(1, DurationUnit.Year))).toBe(false); }); }); + + describe('add', () => { + it('returns the duration result in minute', () => { + const someDuration = new Duration(1, DurationUnit.Minute); + expect(someDuration.add(new Duration(1, DurationUnit.Minute))).toEqual( + new Duration(2, DurationUnit.Minute) + ); + expect(someDuration.add(new Duration(1, DurationUnit.Hour))).toEqual( + new Duration(61, DurationUnit.Minute) + ); + expect(someDuration.add(new Duration(1, DurationUnit.Day))).toEqual( + new Duration(1441, DurationUnit.Minute) + ); + expect(someDuration.add(new Duration(1, DurationUnit.Week))).toEqual( + new Duration(10081, DurationUnit.Minute) + ); + expect(someDuration.add(new Duration(1, DurationUnit.Month))).toEqual( + new Duration(43201, DurationUnit.Minute) + ); + }); + }); }); diff --git a/packages/kbn-slo-schema/src/models/duration.ts b/packages/kbn-slo-schema/src/models/duration.ts new file mode 100644 index 0000000000000..ecffb97f30e57 --- /dev/null +++ b/packages/kbn-slo-schema/src/models/duration.ts @@ -0,0 +1,99 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { assertNever } from '@kbn/std'; +import * as moment from 'moment'; + +enum DurationUnit { + 'Minute' = 'm', + 'Hour' = 'h', + 'Day' = 'd', + 'Week' = 'w', + 'Month' = 'M', + 'Quarter' = 'Q', + 'Year' = 'Y', +} + +class Duration { + constructor(public readonly value: number, public readonly unit: DurationUnit) { + if (isNaN(value) || value <= 0) { + throw new Error('invalid duration value'); + } + if (!Object.values(DurationUnit).includes(unit as unknown as DurationUnit)) { + throw new Error('invalid duration unit'); + } + } + + add(other: Duration): Duration { + const currentDurationMoment = moment.duration(this.value, toMomentUnitOfTime(this.unit)); + const otherDurationMoment = moment.duration(other.value, toMomentUnitOfTime(other.unit)); + + return new Duration( + currentDurationMoment.add(otherDurationMoment).asMinutes(), + DurationUnit.Minute + ); + } + + isShorterThan(other: Duration): boolean { + const otherDurationMoment = moment.duration(other.value, toMomentUnitOfTime(other.unit)); + const currentDurationMoment = moment.duration(this.value, toMomentUnitOfTime(this.unit)); + return currentDurationMoment.asSeconds() < otherDurationMoment.asSeconds(); + } + + isLongerOrEqualThan(other: Duration): boolean { + return !this.isShorterThan(other); + } + + format(): string { + return `${this.value}${this.unit}`; + } +} + +const toDurationUnit = (unit: string): DurationUnit => { + switch (unit) { + case 'm': + return DurationUnit.Minute; + case 'h': + return DurationUnit.Hour; + case 'd': + return DurationUnit.Day; + case 'w': + return DurationUnit.Week; + case 'M': + return DurationUnit.Month; + case 'Q': + return DurationUnit.Quarter; + case 'y': + return DurationUnit.Year; + default: + throw new Error('invalid duration unit'); + } +}; + +const toMomentUnitOfTime = (unit: DurationUnit): moment.unitOfTime.Diff => { + switch (unit) { + case DurationUnit.Minute: + return 'minutes'; + case DurationUnit.Hour: + return 'hours'; + case DurationUnit.Day: + return 'days'; + case DurationUnit.Week: + return 'weeks'; + case DurationUnit.Month: + return 'months'; + case DurationUnit.Quarter: + return 'quarters'; + case DurationUnit.Year: + return 'years'; + default: + assertNever(unit); + } +}; + +export { Duration, DurationUnit, toMomentUnitOfTime, toDurationUnit }; diff --git a/packages/kbn-slo-schema/src/rest_specs/index.ts b/packages/kbn-slo-schema/src/rest_specs/index.ts new file mode 100644 index 0000000000000..d6536c908f0f6 --- /dev/null +++ b/packages/kbn-slo-schema/src/rest_specs/index.ts @@ -0,0 +1,9 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './slo'; diff --git a/packages/kbn-slo-schema/src/rest_specs/slo.ts b/packages/kbn-slo-schema/src/rest_specs/slo.ts new file mode 100644 index 0000000000000..629a7ac5b5738 --- /dev/null +++ b/packages/kbn-slo-schema/src/rest_specs/slo.ts @@ -0,0 +1,151 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as t from 'io-ts'; + +import { + budgetingMethodSchema, + dateType, + indicatorSchema, + indicatorTypesArraySchema, + objectiveSchema, + optionalSettingsSchema, + settingsSchema, + summarySchema, + timeWindowSchema, +} from '../schema'; + +const createSLOParamsSchema = t.type({ + body: t.intersection([ + t.type({ + name: t.string, + description: t.string, + indicator: indicatorSchema, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + }), + t.partial({ settings: optionalSettingsSchema }), + ]), +}); + +const createSLOResponseSchema = t.type({ + id: t.string, +}); + +const deleteSLOParamsSchema = t.type({ + path: t.type({ + id: t.string, + }), +}); + +const getSLOParamsSchema = t.type({ + path: t.type({ + id: t.string, + }), +}); + +const sortDirectionSchema = t.union([t.literal('asc'), t.literal('desc')]); +const sortBySchema = t.union([t.literal('name'), t.literal('indicatorType')]); + +const findSLOParamsSchema = t.partial({ + query: t.partial({ + name: t.string, + indicatorTypes: indicatorTypesArraySchema, + page: t.string, + perPage: t.string, + sortBy: sortBySchema, + sortDirection: sortDirectionSchema, + }), +}); + +const sloResponseSchema = t.type({ + id: t.string, + name: t.string, + description: t.string, + indicator: indicatorSchema, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + revision: t.number, + settings: settingsSchema, + createdAt: dateType, + updatedAt: dateType, +}); + +const sloWithSummaryResponseSchema = t.intersection([ + sloResponseSchema, + t.type({ summary: summarySchema }), +]); + +const getSLOResponseSchema = sloWithSummaryResponseSchema; + +const updateSLOParamsSchema = t.type({ + path: t.type({ + id: t.string, + }), + body: t.partial({ + name: t.string, + description: t.string, + indicator: indicatorSchema, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + settings: settingsSchema, + }), +}); + +const updateSLOResponseSchema = sloResponseSchema; + +const findSLOResponseSchema = t.type({ + page: t.number, + perPage: t.number, + total: t.number, + results: t.array(sloWithSummaryResponseSchema), +}); + +type SLOResponse = t.OutputOf; +type SLOWithSummaryResponse = t.OutputOf; + +type CreateSLOParams = t.TypeOf; +type CreateSLOResponse = t.TypeOf; + +type GetSLOResponse = t.OutputOf; + +type UpdateSLOParams = t.TypeOf; +type UpdateSLOResponse = t.OutputOf; + +type FindSLOParams = t.TypeOf; +type FindSLOResponse = t.OutputOf; + +type BudgetingMethod = t.TypeOf; + +export { + createSLOParamsSchema, + deleteSLOParamsSchema, + findSLOParamsSchema, + findSLOResponseSchema, + getSLOParamsSchema, + getSLOResponseSchema, + sloResponseSchema, + sloWithSummaryResponseSchema, + updateSLOParamsSchema, + updateSLOResponseSchema, +}; +export type { + BudgetingMethod, + CreateSLOParams, + CreateSLOResponse, + FindSLOParams, + FindSLOResponse, + GetSLOResponse, + SLOResponse, + SLOWithSummaryResponse, + UpdateSLOParams, + UpdateSLOResponse, +}; diff --git a/packages/kbn-slo-schema/src/schema/common.ts b/packages/kbn-slo-schema/src/schema/common.ts new file mode 100644 index 0000000000000..36404aad390f1 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/common.ts @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { either } from 'fp-ts/lib/Either'; +import * as t from 'io-ts'; + +const ALL_VALUE = '*'; + +const allOrAnyString = t.union([t.literal(ALL_VALUE), t.string]); + +const dateType = new t.Type( + 'DateType', + (input: unknown): input is Date => input instanceof Date, + (input: unknown, context: t.Context) => + either.chain(t.string.validate(input, context), (value: string) => { + const decoded = new Date(value); + return isNaN(decoded.getTime()) ? t.failure(input, context) : t.success(decoded); + }), + (date: Date): string => date.toISOString() +); + +const errorBudgetSchema = t.type({ + initial: t.number, + consumed: t.number, + remaining: t.number, + isEstimated: t.boolean, +}); + +const statusSchema = t.union([ + t.literal('NO_DATA'), + t.literal('HEALTHY'), + t.literal('DEGRADING'), + t.literal('VIOLATED'), +]); + +const summarySchema = t.type({ + status: statusSchema, + sliValue: t.number, + errorBudget: errorBudgetSchema, +}); + +const dateRangeSchema = t.type({ from: dateType, to: dateType }); + +export { + ALL_VALUE, + allOrAnyString, + dateRangeSchema, + dateType, + errorBudgetSchema, + statusSchema, + summarySchema, +}; diff --git a/packages/kbn-slo-schema/src/schema/duration.ts b/packages/kbn-slo-schema/src/schema/duration.ts new file mode 100644 index 0000000000000..7d831a3e26e41 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/duration.ts @@ -0,0 +1,32 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { either } from 'fp-ts/lib/Either'; +import * as t from 'io-ts'; + +import { Duration, DurationUnit } from '../models/duration'; + +const durationType = new t.Type( + 'Duration', + (input: unknown): input is Duration => input instanceof Duration, + (input: unknown, context: t.Context) => + either.chain(t.string.validate(input, context), (value: string) => { + try { + const decoded = new Duration( + parseInt(value.slice(0, -1), 10), + value.slice(-1) as DurationUnit + ); + return t.success(decoded); + } catch (err) { + return t.failure(input, context); + } + }), + (duration: Duration): string => duration.format() +); + +export { durationType }; diff --git a/packages/kbn-slo-schema/src/schema/index.ts b/packages/kbn-slo-schema/src/schema/index.ts new file mode 100644 index 0000000000000..1bfbdf35f4449 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/index.ts @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './slo'; +export * from './common'; +export * from './indicators'; +export * from './duration'; +export * from './time_window'; diff --git a/x-pack/plugins/observability/server/types/schema/indicators.ts b/packages/kbn-slo-schema/src/schema/indicators.ts similarity index 84% rename from x-pack/plugins/observability/server/types/schema/indicators.ts rename to packages/kbn-slo-schema/src/schema/indicators.ts index d9b2f9bbe51f7..73933fb785794 100644 --- a/x-pack/plugins/observability/server/types/schema/indicators.ts +++ b/packages/kbn-slo-schema/src/schema/indicators.ts @@ -1,22 +1,23 @@ /* * 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. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import * as t from 'io-ts'; import { allOrAnyString, dateRangeSchema } from './common'; -const apmTransactionDurationIndicatorTypeSchema = t.literal('sli.apm.transaction_duration'); +const apmTransactionDurationIndicatorTypeSchema = t.literal('sli.apm.transactionDuration'); const apmTransactionDurationIndicatorSchema = t.type({ type: apmTransactionDurationIndicatorTypeSchema, params: t.intersection([ t.type({ environment: allOrAnyString, service: allOrAnyString, - transaction_type: allOrAnyString, - transaction_name: allOrAnyString, + transactionType: allOrAnyString, + transactionName: allOrAnyString, 'threshold.us': t.number, }), t.partial({ @@ -25,18 +26,18 @@ const apmTransactionDurationIndicatorSchema = t.type({ ]), }); -const apmTransactionErrorRateIndicatorTypeSchema = t.literal('sli.apm.transaction_error_rate'); +const apmTransactionErrorRateIndicatorTypeSchema = t.literal('sli.apm.transactionErrorRate'); const apmTransactionErrorRateIndicatorSchema = t.type({ type: apmTransactionErrorRateIndicatorTypeSchema, params: t.intersection([ t.type({ environment: allOrAnyString, service: allOrAnyString, - transaction_type: allOrAnyString, - transaction_name: allOrAnyString, + transactionType: allOrAnyString, + transactionName: allOrAnyString, }), t.partial({ - good_status_codes: t.array( + goodStatusCodes: t.array( t.union([t.literal('2xx'), t.literal('3xx'), t.literal('4xx'), t.literal('5xx')]) ), index: t.string, @@ -56,7 +57,7 @@ const kqlCustomIndicatorSchema = t.type({ }); const indicatorDataSchema = t.type({ - date_range: dateRangeSchema, + dateRange: dateRangeSchema, good: t.number, total: t.number, }); @@ -68,7 +69,7 @@ const indicatorTypesSchema = t.union([ ]); // Validate that a string is a comma separated list of indicator types, -// e.g. sli.kql.custom,sli.apm.transaction_duration +// e.g. sli.kql.custom,sli.apm.transactionDuration // Transform to an array of indicator type const indicatorTypesArraySchema = new t.Type( 'indicatorTypesArray', diff --git a/x-pack/plugins/observability/server/types/schema/schema.test.ts b/packages/kbn-slo-schema/src/schema/schema.test.ts similarity index 85% rename from x-pack/plugins/observability/server/types/schema/schema.test.ts rename to packages/kbn-slo-schema/src/schema/schema.test.ts index 1f16c1dfa267e..cc53cd3bd19ce 100644 --- a/x-pack/plugins/observability/server/types/schema/schema.test.ts +++ b/packages/kbn-slo-schema/src/schema/schema.test.ts @@ -1,8 +1,9 @@ /* * 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. + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. */ import * as t from 'io-ts'; diff --git a/packages/kbn-slo-schema/src/schema/slo.ts b/packages/kbn-slo-schema/src/schema/slo.ts new file mode 100644 index 0000000000000..91727fe4e9973 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/slo.ts @@ -0,0 +1,61 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as t from 'io-ts'; +import { dateType, summarySchema } from './common'; +import { durationType } from './duration'; +import { indicatorSchema } from './indicators'; +import { timeWindowSchema } from './time_window'; + +const occurrencesBudgetingMethodSchema = t.literal('occurrences'); +const timeslicesBudgetingMethodSchema = t.literal('timeslices'); + +const budgetingMethodSchema = t.union([ + occurrencesBudgetingMethodSchema, + timeslicesBudgetingMethodSchema, +]); + +const objectiveSchema = t.intersection([ + t.type({ target: t.number }), + t.partial({ timesliceTarget: t.number, timesliceWindow: durationType }), +]); + +const settingsSchema = t.type({ + timestampField: t.string, + syncDelay: durationType, + frequency: durationType, +}); + +const optionalSettingsSchema = t.partial({ ...settingsSchema.props }); + +const sloSchema = t.type({ + id: t.string, + name: t.string, + description: t.string, + indicator: indicatorSchema, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + settings: settingsSchema, + revision: t.number, + createdAt: dateType, + updatedAt: dateType, +}); + +const sloWithSummarySchema = t.intersection([sloSchema, t.type({ summary: summarySchema })]); + +export { + budgetingMethodSchema, + objectiveSchema, + occurrencesBudgetingMethodSchema, + optionalSettingsSchema, + settingsSchema, + sloSchema, + sloWithSummarySchema, + timeslicesBudgetingMethodSchema, +}; diff --git a/packages/kbn-slo-schema/src/schema/time_window.ts b/packages/kbn-slo-schema/src/schema/time_window.ts new file mode 100644 index 0000000000000..599f6ffd2c088 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/time_window.ts @@ -0,0 +1,25 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as t from 'io-ts'; +import { dateType } from './common'; +import { durationType } from './duration'; + +const rollingTimeWindowSchema = t.type({ + duration: durationType, + isRolling: t.literal(true), +}); + +const calendarAlignedTimeWindowSchema = t.type({ + duration: durationType, + calendar: t.type({ startTime: dateType }), +}); + +const timeWindowSchema = t.union([rollingTimeWindowSchema, calendarAlignedTimeWindowSchema]); + +export { rollingTimeWindowSchema, calendarAlignedTimeWindowSchema, timeWindowSchema }; diff --git a/packages/kbn-slo-schema/tsconfig.json b/packages/kbn-slo-schema/tsconfig.json new file mode 100644 index 0000000000000..0cd8de173ed4f --- /dev/null +++ b/packages/kbn-slo-schema/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts" + ], + "kbn_references": [ + "@kbn/std" + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-some-dev-log/BUILD.bazel b/packages/kbn-some-dev-log/BUILD.bazel deleted file mode 100644 index 02ba30b3d1dba..0000000000000 --- a/packages/kbn-some-dev-log/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-some-dev-log" -PKG_REQUIRE_NAME = "@kbn/some-dev-log" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-some-dev-log/kibana.jsonc b/packages/kbn-some-dev-log/kibana.jsonc index e39904defc552..d83704903bdfb 100644 --- a/packages/kbn-some-dev-log/kibana.jsonc +++ b/packages/kbn-some-dev-log/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/some-dev-log", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-some-dev-log/package.json b/packages/kbn-some-dev-log/package.json index 2dccc54aa1e35..e68e9b1e29066 100644 --- a/packages/kbn-some-dev-log/package.json +++ b/packages/kbn-some-dev-log/package.json @@ -2,7 +2,5 @@ "name": "@kbn/some-dev-log", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-some-dev-log/tsconfig.json b/packages/kbn-some-dev-log/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-some-dev-log/tsconfig.json +++ b/packages/kbn-some-dev-log/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-sort-package-json/BUILD.bazel b/packages/kbn-sort-package-json/BUILD.bazel deleted file mode 100644 index 9014d4cc2ada5..0000000000000 --- a/packages/kbn-sort-package-json/BUILD.bazel +++ /dev/null @@ -1,124 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-sort-package-json" -PKG_REQUIRE_NAME = "@kbn/sort-package-json" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//sort-package-json", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//sort-package-json", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-sort-package-json/kibana.jsonc b/packages/kbn-sort-package-json/kibana.jsonc index 72345c2ccd31c..cc7f2b8a1ecb0 100644 --- a/packages/kbn-sort-package-json/kibana.jsonc +++ b/packages/kbn-sort-package-json/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/sort-package-json", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-sort-package-json/package.json b/packages/kbn-sort-package-json/package.json index 316213bcac017..d0b12357f5c20 100644 --- a/packages/kbn-sort-package-json/package.json +++ b/packages/kbn-sort-package-json/package.json @@ -2,7 +2,5 @@ "name": "@kbn/sort-package-json", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-sort-package-json/tsconfig.json b/packages/kbn-sort-package-json/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-sort-package-json/tsconfig.json +++ b/packages/kbn-sort-package-json/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-spec-to-console/BUILD.bazel b/packages/kbn-spec-to-console/BUILD.bazel deleted file mode 100644 index 9d41b5762d470..0000000000000 --- a/packages/kbn-spec-to-console/BUILD.bazel +++ /dev/null @@ -1,56 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-spec-to-console" -PKG_REQUIRE_NAME = "@kbn/spec-to-console" - -SOURCE_FILES = glob( - [ - "bin/**/*", - "lib/**/*", - "index.js" - ], - exclude = [ - "**/*.test.*", - "**/__fixtures__/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//globby", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-spec-to-console/kibana.jsonc b/packages/kbn-spec-to-console/kibana.jsonc index cf71c222f6f16..8138406cbeaa5 100644 --- a/packages/kbn-spec-to-console/kibana.jsonc +++ b/packages/kbn-spec-to-console/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/spec-to-console", "devOnly": true, - "owner": "@elastic/platform-deployment-management", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/platform-deployment-management" } diff --git a/packages/kbn-std/BUILD.bazel b/packages/kbn-std/BUILD.bazel index b5b198ffd873d..5ddc74ab55de4 100644 --- a/packages/kbn-std/BUILD.bazel +++ b/packages/kbn-std/BUILD.bazel @@ -1,11 +1,6 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") -PKG_DIRNAME = "kbn-std" -PKG_REQUIRE_NAME = "@kbn/std" - -SOURCE_FILES = glob( +SRCS = glob( [ "**/*.ts", ], @@ -25,93 +20,17 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-utility-types", +BUNDLER_DEPS = [ "@npm//lodash", "@npm//query-string", "@npm//rxjs", "@npm//tslib", ] -TYPES_DEPS = [ - "//packages/kbn-utility-types:npm_module_types", - "@npm//query-string", - "@npm//rxjs", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-std", + package_name = "@kbn/std", + srcs = ["package.json"] + SRCS, + deps = BUNDLER_DEPS, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-std/kibana.jsonc b/packages/kbn-std/kibana.jsonc index 246c11ee7c3f1..062ba5970f539 100644 --- a/packages/kbn-std/kibana.jsonc +++ b/packages/kbn-std/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/std", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-std/package.json b/packages/kbn-std/package.json index b338657ccea3c..d8317ac361f53 100644 --- a/packages/kbn-std/package.json +++ b/packages/kbn-std/package.json @@ -1,9 +1,7 @@ { "name": "@kbn/std", - "main": "./target_node/index.js", "version": "1.0.0", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-std/src/deep_freeze.ts b/packages/kbn-std/src/deep_freeze.ts index dbc31f06b36ba..49d3e5bfb17bb 100644 --- a/packages/kbn-std/src/deep_freeze.ts +++ b/packages/kbn-std/src/deep_freeze.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { RecursiveReadonly } from '@kbn/utility-types'; +import type { RecursiveReadonly } from '@kbn/utility-types'; /** @public */ export type Freezable = { [k: string]: any } | any[]; diff --git a/packages/kbn-std/tsconfig.json b/packages/kbn-std/tsconfig.json index 292157c18591a..a293593c7b035 100644 --- a/packages/kbn-std/tsconfig.json +++ b/packages/kbn-std/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,11 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-stdio-dev-helpers/BUILD.bazel b/packages/kbn-stdio-dev-helpers/BUILD.bazel deleted file mode 100644 index fee92d0b182d8..0000000000000 --- a/packages/kbn-stdio-dev-helpers/BUILD.bazel +++ /dev/null @@ -1,126 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-stdio-dev-helpers" -PKG_REQUIRE_NAME = "@kbn/stdio-dev-helpers" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//tslib", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//rxjs", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-stdio-dev-helpers/kibana.jsonc b/packages/kbn-stdio-dev-helpers/kibana.jsonc index 0001ba53d7b7e..4cb58f510906c 100644 --- a/packages/kbn-stdio-dev-helpers/kibana.jsonc +++ b/packages/kbn-stdio-dev-helpers/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/stdio-dev-helpers", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-stdio-dev-helpers/package.json b/packages/kbn-stdio-dev-helpers/package.json index 6d0237b0d0f68..64334acad3361 100644 --- a/packages/kbn-stdio-dev-helpers/package.json +++ b/packages/kbn-stdio-dev-helpers/package.json @@ -2,7 +2,5 @@ "name": "@kbn/stdio-dev-helpers", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-stdio-dev-helpers/tsconfig.json b/packages/kbn-stdio-dev-helpers/tsconfig.json index 57c1dd1c94e0f..9bd4f35cf62a7 100644 --- a/packages/kbn-stdio-dev-helpers/tsconfig.json +++ b/packages/kbn-stdio-dev-helpers/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-storybook/BUILD.bazel b/packages/kbn-storybook/BUILD.bazel deleted file mode 100644 index aed873551d328..0000000000000 --- a/packages/kbn-storybook/BUILD.bazel +++ /dev/null @@ -1,149 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-storybook" -PKG_REQUIRE_NAME = "@kbn/storybook" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.ejs", - ], - exclude = [ - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "preset/package.json", - "package.json", - "README.md", - "preset.js", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-ui-shared-deps-npm", - "//packages/kbn-ui-shared-deps-src", - "//packages/kbn-utils", - "@npm//@elastic/eui", - "@npm//@emotion/cache", - "@npm//@storybook/addons", - "@npm//@storybook/api", - "@npm//@storybook/components", - "@npm//@storybook/core", - "@npm//@storybook/core-common", - "@npm//@storybook/node-logger", - "@npm//@storybook/react", - "@npm//@storybook/theming", - "@npm//loader-utils", - "@npm//react", - "@npm//webpack", - "@npm//webpack-merge", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-ui-shared-deps-src:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-ambient-storybook-types:npm_module_types", - "@npm//@elastic/eui", - "@npm//@emotion/cache", - "@npm//@storybook/addons", - "@npm//@storybook/api", - "@npm//@storybook/components", - "@npm//@storybook/core", - "@npm//@storybook/core-common", - "@npm//@storybook/node-logger", - "@npm//@storybook/react", - "@npm//@storybook/theming", - "@npm//@types/loader-utils", - "@npm//@types/node", - "@npm//@types/react", - "@npm//@types/webpack", - "@npm//@types/webpack-merge", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-storybook/kibana.jsonc b/packages/kbn-storybook/kibana.jsonc index b5499440f46ad..4faf58c309267 100644 --- a/packages/kbn-storybook/kibana.jsonc +++ b/packages/kbn-storybook/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/storybook", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-storybook/package.json b/packages/kbn-storybook/package.json index 59f6a1a58e3a8..77fc16106c990 100644 --- a/packages/kbn-storybook/package.json +++ b/packages/kbn-storybook/package.json @@ -3,7 +3,5 @@ "author": "Operations", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-storybook/preset.js b/packages/kbn-storybook/preset.js index dae3529f878a1..5757609ec90cc 100644 --- a/packages/kbn-storybook/preset.js +++ b/packages/kbn-storybook/preset.js @@ -6,16 +6,16 @@ * Side Public License, v 1. */ -const webpackConfig = require('./target_node/src/webpack.config'); +const webpackConfig = require('./src/webpack.config'); module.exports = { managerEntries: (entry = []) => { - return [require.resolve('./target_node/src/lib/register'), ...entry]; + return [require.resolve('./src/lib/register'), ...entry]; }, webpackFinal: (config) => { return webpackConfig({ config }); }, config: (entry) => { - return [...entry, require.resolve('./target_node/src/lib/decorators')]; + return [...entry, require.resolve('./src/lib/decorators')]; }, }; diff --git a/packages/kbn-storybook/src/lib/constants.ts b/packages/kbn-storybook/src/lib/constants.ts index 69b05c94ea1b0..df339111c699b 100644 --- a/packages/kbn-storybook/src/lib/constants.ts +++ b/packages/kbn-storybook/src/lib/constants.ts @@ -7,7 +7,7 @@ */ import { resolve } from 'path'; -import { REPO_ROOT as KIBANA_ROOT } from '@kbn/utils'; +import { REPO_ROOT as KIBANA_ROOT } from '@kbn/repo-info'; export const REPO_ROOT = KIBANA_ROOT; export const ASSET_DIR = resolve(KIBANA_ROOT, 'built_assets/storybook'); diff --git a/packages/kbn-storybook/src/lib/run_storybook_cli.ts b/packages/kbn-storybook/src/lib/run_storybook_cli.ts index 0d6a9302c1970..ad074e6dbfc42 100644 --- a/packages/kbn-storybook/src/lib/run_storybook_cli.ts +++ b/packages/kbn-storybook/src/lib/run_storybook_cli.ts @@ -12,7 +12,7 @@ import buildStandalone from '@storybook/react/standalone'; import { Flags, run } from '@kbn/dev-cli-runner'; import UiSharedDepsNpm from '@kbn/ui-shared-deps-npm'; import * as UiSharedDepsSrc from '@kbn/ui-shared-deps-src'; -import { REPO_ROOT } from '@kbn/utils'; + // @ts-expect-error internal dep of storybook import interpret from 'interpret'; // eslint-disable-line import/no-extraneous-dependencies import * as constants from './constants'; @@ -49,6 +49,7 @@ export function runStorybookCli({ configDir, name }: { configDir: string; name: mode: flags.site ? 'static' : 'dev', port: 9001, staticDir, + debugWebpack: true, }; if (flags.site) { config.outputDir = join(constants.ASSET_DIR, name); @@ -57,9 +58,9 @@ export function runStorybookCli({ configDir, name }: { configDir: string; name: logger.setLevel(getLogLevelFromFlags(flags)); // force storybook to use our transpilation rather than ts-node or anything else - interpret.extensions['.ts'] = [join(REPO_ROOT, 'src/setup_node_env')]; - interpret.extensions['.tsx'] = [join(REPO_ROOT, 'src/setup_node_env')]; - interpret.extensions['.jsx'] = [join(REPO_ROOT, 'src/setup_node_env')]; + interpret.extensions['.ts'] = [require.resolve('@kbn/babel-register/install')]; + interpret.extensions['.tsx'] = [require.resolve('@kbn/babel-register/install')]; + interpret.extensions['.jsx'] = [require.resolve('@kbn/babel-register/install')]; await buildStandalone(config); diff --git a/packages/kbn-storybook/src/webpack.config.ts b/packages/kbn-storybook/src/webpack.config.ts index cca984fbe83b5..93c746e66af34 100644 --- a/packages/kbn-storybook/src/webpack.config.ts +++ b/packages/kbn-storybook/src/webpack.config.ts @@ -85,7 +85,7 @@ export default ({ config: storybookConfig }: { config: Configuration }) => { { test: /\.peggy$/, use: { - loader: '@kbn/peggy-loader', + loader: require.resolve('@kbn/peggy-loader'), }, }, { @@ -98,7 +98,7 @@ export default ({ config: storybookConfig }: { config: Configuration }) => { loader: 'postcss-loader', options: { postcssOptions: { - config: require.resolve('@kbn/optimizer/postcss.config.js'), + config: require.resolve('@kbn/optimizer/postcss.config'), }, }, }, @@ -151,8 +151,9 @@ export default ({ config: storybookConfig }: { config: Configuration }) => { // move the plugins to the top of the preset array so they will run after the typescript preset options.presets = [ + require.resolve('@kbn/babel-preset/common_preset'), { - plugins: [...plugins, require.resolve('@kbn/babel-plugin-synthetic-packages')], + plugins: [...plugins, require.resolve('@kbn/babel-plugin-package-imports')], }, ...(options.presets as Preset[]).filter(isDesiredPreset).map((preset) => { const tsPreset = getTsPreset(preset); diff --git a/packages/kbn-storybook/tsconfig.json b/packages/kbn-storybook/tsconfig.json index 3621ceb664a10..765dd18aee082 100644 --- a/packages/kbn-storybook/tsconfig.json +++ b/packages/kbn-storybook/tsconfig.json @@ -1,11 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "skipLibCheck": true, - "target": "es2015", + "outDir": "target/types", "types": [ "node", "@kbn/ambient-storybook-types" @@ -14,5 +10,14 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/ui-shared-deps-npm", + "@kbn/ui-shared-deps-src", + "@kbn/repo-info", + "@kbn/dev-cli-runner", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-synthetic-package-map/BUILD.bazel b/packages/kbn-synthetic-package-map/BUILD.bazel deleted file mode 100644 index 6b1d32fcbbb1e..0000000000000 --- a/packages/kbn-synthetic-package-map/BUILD.bazel +++ /dev/null @@ -1,51 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-synthetic-package-map" -PKG_REQUIRE_NAME = "@kbn/synthetic-package-map" - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "index.js", - "index.d.ts", - "synthetic-packages.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-synthetic-package-map/index.js b/packages/kbn-synthetic-package-map/index.js deleted file mode 100644 index 9a9b8c51d90a9..0000000000000 --- a/packages/kbn-synthetic-package-map/index.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const Fs = require('fs'); -const Path = require('path'); -const Crypto = require('crypto'); - -const PACKAGE_MAP_PATH = Path.resolve(__dirname, 'synthetic-packages.json'); - -function readPackageMap() { - return new Map(JSON.parse(Fs.readFileSync(PACKAGE_MAP_PATH, 'utf8'))); -} - -function readHashOfPackageMap() { - return Crypto.createHash('sha256').update(Fs.readFileSync(PACKAGE_MAP_PATH)).digest('hex'); -} - -module.exports = { - readPackageMap, - readHashOfPackageMap, -}; diff --git a/packages/kbn-synthetic-package-map/kibana.jsonc b/packages/kbn-synthetic-package-map/kibana.jsonc deleted file mode 100644 index 153b6548ce841..0000000000000 --- a/packages/kbn-synthetic-package-map/kibana.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/synthetic-package-map", - "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] -} diff --git a/packages/kbn-synthetic-package-map/package.json b/packages/kbn-synthetic-package-map/package.json deleted file mode 100644 index ec6ac454bf31d..0000000000000 --- a/packages/kbn-synthetic-package-map/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@kbn/synthetic-package-map", - "private": true, - "version": "1.0.0", - "main": "./index.js", - "license": "SSPL-1.0 OR Elastic License 2.0" -} diff --git a/packages/kbn-synthetic-package-map/tsconfig.json b/packages/kbn-synthetic-package-map/tsconfig.json deleted file mode 100644 index 75177b5488a9b..0000000000000 --- a/packages/kbn-synthetic-package-map/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "types": [ - "node" - ] - }, - "include": [ - "index.d.ts" - ] -} diff --git a/packages/kbn-telemetry-tools/BUILD.bazel b/packages/kbn-telemetry-tools/BUILD.bazel deleted file mode 100644 index 7b55705968e78..0000000000000 --- a/packages/kbn-telemetry-tools/BUILD.bazel +++ /dev/null @@ -1,123 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-telemetry-tools" -PKG_REQUIRE_NAME = "@kbn/telemetry-tools" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ] -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", - "GUIDELINE.md", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-eslint-plugin-imports", - "//packages/kbn-utility-types", - "//packages/kbn-utils", - "@npm//globby", - "@npm//listr", - "@npm//normalize-path", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-eslint-plugin-imports:npm_module_types", - "//packages/kbn-utility-types:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//globby", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/listr", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/normalize-path", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-telemetry-tools/kibana.jsonc b/packages/kbn-telemetry-tools/kibana.jsonc index c182ddd3e6960..f36e6d272b81b 100644 --- a/packages/kbn-telemetry-tools/kibana.jsonc +++ b/packages/kbn-telemetry-tools/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/telemetry-tools", "devOnly": true, - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-telemetry-tools/package.json b/packages/kbn-telemetry-tools/package.json index 9381f23de133f..e4e890b32ab23 100644 --- a/packages/kbn-telemetry-tools/package.json +++ b/packages/kbn-telemetry-tools/package.json @@ -3,7 +3,5 @@ "version": "1.0.0", "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-telemetry-tools/src/tools/compiler_host.ts b/packages/kbn-telemetry-tools/src/tools/compiler_host.ts index a49bee64e5642..55dcfe61b8659 100644 --- a/packages/kbn-telemetry-tools/src/tools/compiler_host.ts +++ b/packages/kbn-telemetry-tools/src/tools/compiler_host.ts @@ -9,7 +9,7 @@ import Path from 'path'; import ts from 'typescript'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ImportResolver } from '@kbn/import-resolver'; function readTsConfigFile(path: string) { diff --git a/packages/kbn-telemetry-tools/tsconfig.json b/packages/kbn-telemetry-tools/tsconfig.json index 59c205335d6ab..1b30dc5c7516a 100644 --- a/packages/kbn-telemetry-tools/tsconfig.json +++ b/packages/kbn-telemetry-tools/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,15 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/repo-info", + "@kbn/import-resolver", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-test-jest-helpers/BUILD.bazel b/packages/kbn-test-jest-helpers/BUILD.bazel deleted file mode 100644 index 7562c7aded78f..0000000000000 --- a/packages/kbn-test-jest-helpers/BUILD.bazel +++ /dev/null @@ -1,182 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@npm//@babel/cli:index.bzl", "babel") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-test-jest-helpers" -PKG_REQUIRE_NAME = "@kbn/test-jest-helpers" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ] -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "jest.config.js", - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-i18n-react", - "//packages/kbn-axe-config", - "//packages/kbn-std", - "//packages/kbn-utils", - "@npm//@elastic/elasticsearch", - "@npm//axios", - "@npm//@babel/traverse", - "@npm//chance", - "@npm//dedent", - "@npm//del", - "@npm//enzyme", - "@npm//execa", - "@npm//exit-hook", - "@npm//form-data", - "@npm//getopts", - "@npm//globby", - "@npm//he", - "@npm//history", - "@npm//jest", - "@npm//jest-axe", - "@npm//jest-cli", - "@npm//jest-snapshot", - "@npm//jest-styled-components", - "@npm//@jest/reporters", - "@npm//joi", - "@npm//mustache", - "@npm//normalize-path", - "@npm//prettier", - "@npm//react", - "@npm//react-dom", - "@npm//react-redux", - "@npm//react-router-dom", - "@npm//redux", - "@npm//rxjs", - "@npm//semver", - "@npm//strip-ansi", - "@npm//xmlbuilder", - "@npm//xml2js", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-axe-config:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//axios", - "@npm//axe-core", - "@npm//elastic-apm-node", - "@npm//del", - "@npm//exit-hook", - "@npm//form-data", - "@npm//getopts", - "@npm//jest", - "@npm//jest-cli", - "@npm//jest-snapshot", - "@npm//redux", - "@npm//rxjs", - "@npm//xmlbuilder", - "@npm//@types/chance", - "@npm//@types/dedent", - "@npm//@types/enzyme", - "@npm//@types/he", - "@npm//@types/history", - "@npm//@types/jest", - "@npm//@types/jest-axe", - "@npm//joi", - "@npm//@types/lodash", - "@npm//@types/mustache", - "@npm//@types/normalize-path", - "@npm//@types/node", - "@npm//@types/prettier", - "@npm//@types/react", - "@npm//@types/react-dom", - "@npm//@types/react-router-dom", - "@npm//@types/semver", - "@npm//@types/xml2js", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-test-jest-helpers/kibana.jsonc b/packages/kbn-test-jest-helpers/kibana.jsonc index 70750f8f4f28d..4780aa00d4aa9 100644 --- a/packages/kbn-test-jest-helpers/kibana.jsonc +++ b/packages/kbn-test-jest-helpers/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/test-jest-helpers", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-test-jest-helpers/package.json b/packages/kbn-test-jest-helpers/package.json index 646b0baa96a13..216350e757a84 100644 --- a/packages/kbn-test-jest-helpers/package.json +++ b/packages/kbn-test-jest-helpers/package.json @@ -2,7 +2,5 @@ "name": "@kbn/test-jest-helpers", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-test-jest-helpers/src/stub_web_worker.ts b/packages/kbn-test-jest-helpers/src/stub_web_worker.ts index 987f6ea7867f7..76302be07bcca 100644 --- a/packages/kbn-test-jest-helpers/src/stub_web_worker.ts +++ b/packages/kbn-test-jest-helpers/src/stub_web_worker.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -function stubWebWorker() { +export function stubWebWorker() { if (!window.Worker) { // @ts-ignore we aren't honoring the real Worker spec here window.Worker = function Worker() { @@ -18,8 +18,3 @@ function stubWebWorker() { }; } } - -stubWebWorker(); - -// Add an export to avoid TS complaining "stub_web_worker.ts" is not a module. -export { stubWebWorker }; diff --git a/packages/kbn-test-jest-helpers/tsconfig.json b/packages/kbn-test-jest-helpers/tsconfig.json index 2b02a63db1d05..5a79ec9d8b015 100644 --- a/packages/kbn-test-jest-helpers/tsconfig.json +++ b/packages/kbn-test-jest-helpers/tsconfig.json @@ -1,13 +1,18 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["jest", "node"] }, "include": [ "**/*.ts", "**/*.tsx", ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/axe-config", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/packages/kbn-test-subj-selector/BUILD.bazel b/packages/kbn-test-subj-selector/BUILD.bazel deleted file mode 100644 index 57afbf86c1bc9..0000000000000 --- a/packages/kbn-test-subj-selector/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-test-subj-selector" -PKG_REQUIRE_NAME = "@kbn/test-subj-selector" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-test-subj-selector/kibana.jsonc b/packages/kbn-test-subj-selector/kibana.jsonc index 708e1fd44ac39..53a90dc467c80 100644 --- a/packages/kbn-test-subj-selector/kibana.jsonc +++ b/packages/kbn-test-subj-selector/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/test-subj-selector", "owner": "@elastic/kibana-operations", - "devOnly": true, - "runtimeDeps": [], - "typeDeps": [], + "devOnly": true } diff --git a/packages/kbn-test-subj-selector/package.json b/packages/kbn-test-subj-selector/package.json index 1cb9f52b9e027..6175fe8710619 100644 --- a/packages/kbn-test-subj-selector/package.json +++ b/packages/kbn-test-subj-selector/package.json @@ -2,7 +2,5 @@ "name": "@kbn/test-subj-selector", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-test-subj-selector/tsconfig.json b/packages/kbn-test-subj-selector/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-test-subj-selector/tsconfig.json +++ b/packages/kbn-test-subj-selector/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-test/BUILD.bazel b/packages/kbn-test/BUILD.bazel deleted file mode 100644 index 11ff0fbadebba..0000000000000 --- a/packages/kbn-test/BUILD.bazel +++ /dev/null @@ -1,211 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@npm//@babel/cli:index.bzl", "babel") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-test" -PKG_REQUIRE_NAME = "@kbn/test" - -SOURCE_FILES = glob( - [ - "src/failed_tests_reporter/es_config", - "src/jest/jest_flags.json", - "**/*.html", - "**/*.js", - "**/*.ts", - ], - exclude = [ - "types/**/*", - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/*.snap", - "**/__fixture__/**", - "**/__fixtures__/**", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "jest-preset.js", - "jest_integration/jest-preset.js", - "jest_integration_node/jest-preset.js", - "jest_node/jest-preset.js", - "jest.config.js", - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-dev-utils", - "//packages/kbn-i18n-react", - "//packages/kbn-std", - "//packages/kbn-utils", - "//packages/kbn-bazel-packages", - "@npm//@elastic/elasticsearch", - "@npm//@babel/traverse", - "@npm//@jest/console", - "@npm//@jest/reporters", - "@npm//axios", - "@npm//chance", - "@npm//dedent", - "@npm//del", - "@npm//enzyme", - "@npm//execa", - "@npm//exit-hook", - "@npm//form-data", - "@npm//get-port", - "@npm//getopts", - "@npm//globby", - "@npm//he", - "@npm//history", - "@npm//jest", - "@npm//jest-cli", - "@npm//jest-snapshot", - "@npm//jest-styled-components", - "@npm//joi", - "@npm//js-yaml", - "@npm//minimatch", - "@npm//mustache", - "@npm//normalize-path", - "@npm//prettier", - "@npm//react-dom", - "@npm//react-redux", - "@npm//react-router-dom", - "@npm//redux", - "@npm//rxjs", - "@npm//semver", - "@npm//strip-ansi", - "@npm//supertest", - "@npm//xmlbuilder", - "@npm//xml2js", -] - -TYPES_DEPS = [ - "//packages/kbn-dev-utils:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-tooling-log:npm_module_types", - "//packages/kbn-bazel-packages:npm_module_types", - "//packages/kbn-get-repo-files:npm_module_types", - "//packages/kbn-ftr-screenshot-filename:npm_module_types", - "//packages/kbn-peggy:npm_module_types", - "@npm//@elastic/elasticsearch", - "@npm//@jest/console", - "@npm//@jest/reporters", - "@npm//axe-core", - "@npm//axios", - "@npm//elastic-apm-node", - "@npm//del", - "@npm//exit-hook", - "@npm//form-data", - "@npm//get-port", - "@npm//getopts", - "@npm//globby", - "@npm//jest", - "@npm//jest-cli", - "@npm//jest-snapshot", - "@npm//redux", - "@npm//rxjs", - "@npm//playwright", - "@npm//xmlbuilder", - "@npm//@jest/transform", - "@npm//@types/archiver", - "@npm//@types/chance", - "@npm//@types/dedent", - "@npm//@types/enzyme", - "@npm//@types/he", - "@npm//@types/history", - "@npm//@types/jest", - "@npm//@types/js-yaml", - "@npm//joi", - "@npm//@types/lodash", - "@npm//@types/minimatch", - "@npm//@types/mustache", - "@npm//@types/normalize-path", - "@npm//@types/node", - "@npm//@types/prettier", - "@npm//@types/react-dom", - "@npm//@types/react-router-dom", - "@npm//@types/semver", - "@npm//@types/supertest", - "@npm//@types/uuid", - "@npm//@types/xml2js", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), - additional_args = [ - "--copy-files", - "--quiet" - ] -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-test/jest-preset.js b/packages/kbn-test/jest-preset.js index e9031f0d022be..dbbbc7481e895 100644 --- a/packages/kbn-test/jest-preset.js +++ b/packages/kbn-test/jest-preset.js @@ -9,10 +9,7 @@ // For a detailed explanation regarding each configuration property, visit: // https://jestjs.io/docs/en/configuration.html -const pkgMap = require('@kbn/synthetic-package-map').readPackageMap(); - -/** @typedef {import("@jest/types").Config.InitialOptions} JestConfig */ -/** @type {JestConfig} */ +/** @type {import("@jest/types").Config.InitialOptions} */ module.exports = { // The directory where Jest should output its coverage files coverageDirectory: '/target/kibana-coverage/jest', @@ -26,32 +23,10 @@ module.exports = { : ['html', 'text'], // An array of file extensions your modules use - moduleFileExtensions: ['js', 'mjs', 'json', 'ts', 'tsx', 'node'], + moduleFileExtensions: ['ts', 'tsx', 'js', 'mjs', 'json', 'node'], - // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module moduleNameMapper: { - '@elastic/eui/lib/(.*)?': '/node_modules/@elastic/eui/test-env/$1', - '@elastic/eui$': '/node_modules/@elastic/eui/test-env', - 'elastic-apm-node': - '/node_modules/@kbn/test/target_node/src/jest/mocks/apm_agent_mock.js', - '\\.module.(css|scss)$': - '/node_modules/@kbn/test/target_node/src/jest/mocks/css_module_mock.js', - '\\.(css|less|scss)$': - '/node_modules/@kbn/test/target_node/src/jest/mocks/style_mock.js', - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': - '/node_modules/@kbn/test/target_node/src/jest/mocks/file_mock.js', - '\\.ace\\.worker$': - '/node_modules/@kbn/test/target_node/src/jest/mocks/worker_module_mock.js', - '\\.editor\\.worker(\\.js)?$': - '/node_modules/@kbn/test/target_node/src/jest/mocks/worker_module_mock.js', - '^(!!)?file-loader!': - '/node_modules/@kbn/test/target_node/src/jest/mocks/file_mock.js', - ...Object.fromEntries( - Array.from(pkgMap.entries()).map(([pkgId, repoRelativeDir]) => [ - `^${pkgId}(/.*)?$`, - `/${repoRelativeDir}$1`, - ]) - ), + // do not use these, they're so slow. We have a custom resolver that can handle resolving different types of requests. }, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader @@ -61,7 +36,7 @@ module.exports = { reporters: [ 'default', [ - '@kbn/test/target_node/src/jest/junit_reporter', + '/packages/kbn-test/src/jest/junit_reporter', { rootDirectory: '.', }, @@ -69,7 +44,7 @@ module.exports = { ...(process.env.TEST_GROUP_TYPE_UNIT ? [ [ - '@kbn/test/target_node/src/jest/ci_stats_jest_reporter', + '/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts', { testGroupType: process.env.TEST_GROUP_TYPE_UNIT, }, @@ -80,20 +55,18 @@ module.exports = { // The paths to modules that run some code to configure or set up the testing environment before each test setupFiles: [ - '/node_modules/@kbn/test/target_node/src/jest/setup/babel_polyfill.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/polyfills.jsdom.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/enzyme.js', + '/src/setup_node_env/polyfill.ts', + '/packages/kbn-test/src/jest/setup/polyfills.jsdom.js', + '/packages/kbn-test/src/jest/setup/enzyme.js', ], // A list of paths to modules that run some code to configure or set up the testing framework before each test setupFilesAfterEnv: [ - '/node_modules/@kbn/test/target_node/src/jest/setup/setup_test.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/mocks.moment_timezone.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/mocks.eui.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/react_testing_library.js', - process.env.CI - ? '/node_modules/@kbn/test/target_node/src/jest/setup/disable_console_logs.js' - : [], + '/packages/kbn-test/src/jest/setup/setup_test.js', + '/packages/kbn-test/src/jest/setup/mocks.moment_timezone.js', + '/packages/kbn-test/src/jest/setup/mocks.eui.js', + '/packages/kbn-test/src/jest/setup/react_testing_library.js', + process.env.CI ? '/packages/kbn-test/src/jest/setup/disable_console_logs.js' : [], ].flat(), snapshotFormat: { @@ -104,8 +77,8 @@ module.exports = { // A list of paths to snapshot serializer modules Jest should use for snapshot testing snapshotSerializers: [ '/src/plugins/kibana_react/public/util/test_helpers/react_mount_serializer.ts', - '/node_modules/enzyme-to-json/serializer', - '/node_modules/@kbn/test/target_node/src/jest/setup/emotion.js', + 'enzyme-to-json/serializer', + '/packages/kbn-test/src/jest/setup/emotion.js', ], // The test environment that will be used for testing @@ -123,9 +96,9 @@ module.exports = { // A map from regular expressions to paths to transformers transform: { - '^.+\\.(js|tsx?)$': '/node_modules/@kbn/test/target_node/src/jest/transforms/babel.js', - '^.+\\.(txt|html)?$': '/node_modules/@kbn/test/target_node/src/jest/transforms/raw.js', - '^.+\\.peggy?$': '/node_modules/@kbn/test/target_node/src/jest/transforms/peggy.js', + '^.+\\.(js|tsx?)$': '/packages/kbn-test/src/jest/transforms/babel.js', + '^.+\\.(txt|html)?$': '/packages/kbn-test/src/jest/transforms/raw.js', + '^.+\\.peggy?$': '/packages/kbn-test/src/jest/transforms/peggy.js', }, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation @@ -146,9 +119,7 @@ module.exports = { '!**/index.{js,ts,tsx}', ], - // A custom resolver to preserve symlinks by default - resolver: - '/node_modules/@kbn/test/target_node/src/jest/setup/preserve_symlinks_resolver.js', - watchPathIgnorePatterns: ['.*/__tmp__/.*'], + + resolver: '/packages/kbn-test/src/jest/resolver.js', }; diff --git a/packages/kbn-test/jest_integration/jest-preset.js b/packages/kbn-test/jest_integration/jest-preset.js index 8b40dca6a5db3..6ccdb6cc98fc1 100644 --- a/packages/kbn-test/jest_integration/jest-preset.js +++ b/packages/kbn-test/jest_integration/jest-preset.js @@ -8,22 +8,21 @@ const preset = require('../jest-preset'); -/** @typedef {import("@jest/types").Config.InitialOptions} JestConfig */ -/** @type {JestConfig} */ +/** @type {import("@jest/types").Config.InitialOptions} */ module.exports = { ...preset, - testMatch: ['**/integration_tests**/*.test.{js,mjs,ts,tsx}'], + testMatch: ['**/integration_tests/**/*.test.{js,mjs,ts,tsx}'], testPathIgnorePatterns: preset.testPathIgnorePatterns.filter( (pattern) => !pattern.includes('integration_tests') ), setupFilesAfterEnv: [ ...preset.setupFilesAfterEnv, - '/node_modules/@kbn/test/target_node/src/jest/setup/after_env.integration.js', + '/packages/kbn-test/src/jest/setup/after_env.integration.js', ], reporters: [ 'default', [ - '@kbn/test/target_node/src/jest/junit_reporter', + '/packages/kbn-test/src/jest/junit_reporter', { rootDirectory: '.', reportName: 'Jest Integration Tests', @@ -32,7 +31,7 @@ module.exports = { ...(process.env.TEST_GROUP_TYPE_INTEGRATION ? [ [ - '@kbn/test/target_node/src/jest/ci_stats_jest_reporter', + '/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts', { testGroupType: process.env.TEST_GROUP_TYPE_INTEGRATION, }, diff --git a/packages/kbn-test/jest_integration_node/jest-preset.js b/packages/kbn-test/jest_integration_node/jest-preset.js index 0e793093708f7..43373e41db5c1 100644 --- a/packages/kbn-test/jest_integration_node/jest-preset.js +++ b/packages/kbn-test/jest_integration_node/jest-preset.js @@ -12,8 +12,7 @@ const presetClone = { ...preset }; delete presetClone.testEnvironment; // simply redefining as `testEnvironment: 'node'` has some weird side-effects (https://github.com/elastic/kibana/pull/138877) -/** @typedef {import("@jest/types").Config.InitialOptions} JestConfig */ -/** @type {JestConfig} */ +/** @type {import("@jest/types").Config.InitialOptions} */ module.exports = { ...presetClone, testMatch: ['**/integration_tests**/*.test.{js,mjs,ts,tsx}'], @@ -21,20 +20,20 @@ module.exports = { (pattern) => !pattern.includes('integration_tests') ), setupFilesAfterEnv: [ - '/node_modules/@kbn/test/target_node/src/jest/setup/after_env.integration.js', - '/node_modules/@kbn/test/target_node/src/jest/setup/mocks.moment_timezone.js', + '/packages/kbn-test/src/jest/setup/after_env.integration.js', + '/packages/kbn-test/src/jest/setup/mocks.moment_timezone.js', ], reporters: [ 'default', [ - '@kbn/test/target_node/src/jest/junit_reporter', + '/packages/kbn-test/src/jest/junit_reporter', { rootDirectory: '.', reportName: 'Jest Integration Tests', }, ], [ - '@kbn/test/target_node/src/jest/ci_stats_jest_reporter', + '/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts', { testGroupType: 'Jest Integration Tests', }, @@ -45,7 +44,7 @@ module.exports = { : ['html', 'text'], snapshotSerializers: [], - setupFiles: ['/node_modules/@kbn/test/target_node/src/jest/setup/babel_polyfill.js'], + setupFiles: ['/src/setup_node_env/polyfill.ts'], haste: { ...preset.haste, throwOnModuleCollision: true, diff --git a/packages/kbn-test/jest_node/jest-preset.js b/packages/kbn-test/jest_node/jest-preset.js index 94d973807fc9b..f259ca5d9d998 100644 --- a/packages/kbn-test/jest_node/jest-preset.js +++ b/packages/kbn-test/jest_node/jest-preset.js @@ -12,12 +12,11 @@ const presetClone = { ...preset }; delete presetClone.testEnvironment; // simply redefining as `testEnvironment: 'node'` has some weird side-effects (https://github.com/elastic/kibana/pull/138877#issuecomment-1222366247) -/** @typedef {import("@jest/types").Config.InitialOptions} JestConfig */ -/** @type {JestConfig} */ +/** @type {import("@jest/types").Config.InitialOptions} */ module.exports = { ...presetClone, snapshotSerializers: [], - setupFiles: ['/node_modules/@kbn/test/target_node/src/jest/setup/babel_polyfill.js'], + setupFiles: ['/src/setup_node_env/polyfill.ts'], haste: { ...preset.haste, throwOnModuleCollision: true, diff --git a/packages/kbn-test/kibana.jsonc b/packages/kbn-test/kibana.jsonc index c921f7ac39626..c38e4f38bf65d 100644 --- a/packages/kbn-test/kibana.jsonc +++ b/packages/kbn-test/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/test", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-test/package.json b/packages/kbn-test/package.json index dff56ec9b524c..79c74b2e3ae86 100644 --- a/packages/kbn-test/package.json +++ b/packages/kbn-test/package.json @@ -3,7 +3,5 @@ "author": "Operations", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-test/src/es/es_test_config.ts b/packages/kbn-test/src/es/es_test_config.ts index 7abfe25545cd2..c31728b0fd7d8 100644 --- a/packages/kbn-test/src/es/es_test_config.ts +++ b/packages/kbn-test/src/es/es_test_config.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import Url from 'url'; import { systemIndicesSuperuser } from '../kbn'; diff --git a/packages/kbn-test/src/es/test_es_cluster.ts b/packages/kbn-test/src/es/test_es_cluster.ts index 70fa5f2e8d375..6f7310e4bd2e2 100644 --- a/packages/kbn-test/src/es/test_es_cluster.ts +++ b/packages/kbn-test/src/es/test_es_cluster.ts @@ -14,12 +14,10 @@ import globby from 'globby'; import createArchiver from 'archiver'; import Fs from 'fs'; import { pipeline } from 'stream/promises'; -import type { ChildProcess } from 'child_process'; -// @ts-expect-error in js import { Cluster } from '@kbn/es'; import { Client, HttpConnection } from '@elastic/elasticsearch'; import type { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { CI_PARALLEL_PROCESS_PREFIX } from '../ci_parallel_process_prefix'; import { esTestConfig } from './es_test_config'; @@ -37,23 +35,9 @@ interface TestEsClusterNodesOptions { dataArchive?: string; } -interface Node { - installSource: (opts: Record) => Promise<{ installPath: string }>; - installSnapshot: (opts: Record) => Promise<{ installPath: string }>; - extractDataDirectory: ( - installPath: string, - archivePath: string, - extractDirName?: string - ) => Promise<{ insallPath: string }>; - start: (installPath: string, opts: Record) => Promise; - stop: () => Promise; - kill: () => Promise; - _process?: ChildProcess; -} - export interface ICluster { ports: number[]; - nodes: Node[]; + nodes: Cluster[]; getStartTimeout: () => number; start: () => Promise; stop: () => Promise; @@ -207,7 +191,7 @@ export function createTestEsCluster< return new (class TestCluster { ports: number[] = []; - nodes: Node[] = []; + nodes: Cluster[] = []; constructor() { for (let i = 0; i < nodes.length; i++) { diff --git a/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts b/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts index 17e9663e33883..f5091b01735ff 100644 --- a/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts +++ b/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts @@ -14,7 +14,12 @@ import { EventEmitter } from 'events'; -export interface Suite { +export interface Suite extends Runnable { + _beforeAll: Runnable[]; + _beforeEach: Runnable[]; + _afterEach: Runnable[]; + _afterAll: Runnable[]; + currentTest?: Test; suites: Suite[]; tests: Test[]; @@ -26,7 +31,7 @@ export interface Suite { suiteTag: string; } -export interface Test { +export interface Test extends Runnable { fullTitle(): string; title: string; file?: string; @@ -35,6 +40,16 @@ export interface Test { pending?: boolean; } +export interface Runnable { + isFailed(): boolean; + isPending(): boolean; + duration?: number; + titlePath(): string[]; + file?: string; + title: string; + parent?: Suite; +} + export interface Runner extends EventEmitter { abort(): void; failures: any[]; diff --git a/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts b/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts index 11f99abfa6fbf..5b06393cf7d50 100644 --- a/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts +++ b/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts @@ -9,7 +9,7 @@ import { writeFileSync, mkdirSync } from 'fs'; import Path, { dirname } from 'path'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Suite, Test } from './fake_mocha_types'; import { diff --git a/packages/kbn-test/src/functional_test_runner/integration_tests/basic.test.js b/packages/kbn-test/src/functional_test_runner/integration_tests/basic.test.js index dbc3094e29aea..d026a80a7984c 100644 --- a/packages/kbn-test/src/functional_test_runner/integration_tests/basic.test.js +++ b/packages/kbn-test/src/functional_test_runner/integration_tests/basic.test.js @@ -9,7 +9,7 @@ import { spawnSync } from 'child_process'; import { resolve } from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const SCRIPT = resolve(REPO_ROOT, 'scripts/functional_test_runner.js'); const BASIC_CONFIG = require.resolve('./__fixtures__/simple_project/config.js'); diff --git a/packages/kbn-test/src/functional_test_runner/integration_tests/failure_hooks.test.js b/packages/kbn-test/src/functional_test_runner/integration_tests/failure_hooks.test.js index 47ae51ca62f13..7efd431e3ceb0 100644 --- a/packages/kbn-test/src/functional_test_runner/integration_tests/failure_hooks.test.js +++ b/packages/kbn-test/src/functional_test_runner/integration_tests/failure_hooks.test.js @@ -10,7 +10,7 @@ import { spawnSync } from 'child_process'; import { resolve } from 'path'; import stripAnsi from 'strip-ansi'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const SCRIPT = resolve(REPO_ROOT, 'scripts/functional_test_runner.js'); const FAILURE_HOOKS_CONFIG = require.resolve('./__fixtures__/failure_hooks/config.js'); diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/config_loading.ts b/packages/kbn-test/src/functional_test_runner/lib/config/config_loading.ts index cfa2cabec4dfc..ad03d6d1c76ba 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/config_loading.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/config_loading.ts @@ -10,7 +10,7 @@ import Path from 'path'; import { ToolingLog } from '@kbn/tooling-log'; import { defaultsDeep } from 'lodash'; import { createFlagError, createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { FtrConfigProvider, GenericFtrProviderContext } from '../../public_types'; import { Config } from './config'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/ftr_configs_manifest.ts b/packages/kbn-test/src/functional_test_runner/lib/config/ftr_configs_manifest.ts index 0452c0b7de305..f45f4e7a5736d 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/ftr_configs_manifest.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/ftr_configs_manifest.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import JsYaml from 'js-yaml'; export const FTR_CONFIGS_MANIFEST_REL = '.buildkite/ftr_configs.yml'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts b/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts index 7f69ad6de5df6..bfc727537fe22 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts @@ -8,7 +8,7 @@ import execa from 'execa'; import { readFileSync } from 'fs'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/es_version.ts b/packages/kbn-test/src/functional_test_runner/lib/es_version.ts index ccdd9cc902c5b..c7cf398debde3 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/es_version.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/es_version.ts @@ -7,7 +7,7 @@ */ import semver from 'semver'; -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; export class EsVersion { static getDefault() { diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js index a0db7db6f0017..af73af1f50bb5 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js @@ -7,7 +7,7 @@ */ import { relative } from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createAssignmentProxy } from './assignment_proxy'; import { wrapFunction } from './wrap_function'; import { wrapRunnableArgs } from './wrap_runnable_args'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts index 96900555db745..f8cfabfc0bc7a 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts @@ -8,7 +8,7 @@ import * as Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { CiStatsReporter, CiStatsReportTestsOptions, @@ -16,38 +16,21 @@ import { } from '@kbn/ci-stats-reporter'; import { Config } from '../../config'; -import { Runner } from '../../../fake_mocha_types'; +import { Runner, Runnable } from '../../../fake_mocha_types'; import { Lifecycle } from '../../lifecycle'; import { getSnapshotOfRunnableLogs } from '../../../../mocha'; -interface Suite { - _beforeAll: Runnable[]; - _beforeEach: Runnable[]; - _afterEach: Runnable[]; - _afterAll: Runnable[]; -} - -interface Runnable { - isFailed(): boolean; - isPending(): boolean; - duration?: number; - titlePath(): string[]; - file: string; - title: string; - parent: Suite; -} - function getHookType(hook: Runnable): CiStatsTestType { - if (hook.parent._afterAll.includes(hook)) { + if (hook.parent?._afterAll.includes(hook)) { return 'after all hook'; } - if (hook.parent._afterEach.includes(hook)) { + if (hook.parent?._afterEach.includes(hook)) { return 'after each hook'; } - if (hook.parent._beforeEach.includes(hook)) { + if (hook.parent?._beforeEach.includes(hook)) { return 'before each hook'; } - if (hook.parent._beforeAll.includes(hook)) { + if (hook.parent?._beforeAll.includes(hook)) { return 'before all hook'; } @@ -100,7 +83,7 @@ export function setupCiStatsFtrTestGroupReporter({ startTime: new Date(Date.now() - (runnable.duration ?? 0)).toJSON(), durationMs: runnable.duration ?? 0, seq: testRuns.length + 1, - file: Path.relative(REPO_ROOT, runnable.file), + file: Path.relative(REPO_ROOT, runnable.file ?? '.'), name: runnable.title, suites: runnable.titlePath().slice(0, -1), result: runnable.isFailed() ? 'fail' : runnable.isPending() ? 'skip' : 'pass', diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.ts b/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.ts index e2a29f8d15717..9bc399ea1215d 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.ts @@ -8,7 +8,7 @@ import { relative } from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; // @ts-expect-error we don't use @types/mocha so it doesn't conflict with @types/jest import Mocha from 'mocha'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/validate_ci_group_tags.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/validate_ci_group_tags.js index a0298b635a135..826971a30b836 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/validate_ci_group_tags.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/validate_ci_group_tags.js @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; /** * Traverse the suites configured and ensure that each suite has no more than one ciGroup assigned diff --git a/packages/kbn-test/src/functional_test_runner/lib/providers/provider_collection.ts b/packages/kbn-test/src/functional_test_runner/lib/providers/provider_collection.ts index 8723a424f6e22..06815d7ff38aa 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/providers/provider_collection.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/providers/provider_collection.ts @@ -10,21 +10,19 @@ import { ToolingLog } from '@kbn/tooling-log'; import { loadTracer } from '../load_tracer'; import { createAsyncInstance, isAsyncInstance } from './async_instance'; -import { Providers } from './read_provider_spec'; +import { Providers, ProviderFn, isProviderConstructor } from './read_provider_spec'; import { createVerboseInstance } from './verbose_instance'; -import { GenericFtrService } from '../../public_types'; export class ProviderCollection { - static callProviderFn(providerFn: any, ctx: any) { - if (providerFn.prototype instanceof GenericFtrService) { - const Constructor = providerFn as any as new (ctx: any) => any; - return new Constructor(ctx); + static callProviderFn(providerFn: ProviderFn, ctx: any) { + if (isProviderConstructor(providerFn)) { + return new providerFn(ctx); } return providerFn(ctx); } - private readonly instances = new Map(); + private readonly instances = new Map(); constructor(private readonly log: ToolingLog, private readonly providers: Providers) {} @@ -67,7 +65,7 @@ export class ProviderCollection { } } - public invokeProviderFn(provider: (args: any) => any) { + public invokeProviderFn(provider: ProviderFn) { return ProviderCollection.callProviderFn(provider, { getService: this.getService, hasService: this.hasService, diff --git a/packages/kbn-test/src/functional_test_runner/lib/providers/read_provider_spec.ts b/packages/kbn-test/src/functional_test_runner/lib/providers/read_provider_spec.ts index 0e4c10b4a851e..573507eef404e 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/providers/read_provider_spec.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/providers/read_provider_spec.ts @@ -6,10 +6,20 @@ * Side Public License, v 1. */ +import { GenericFtrService } from '../../public_types'; + +export type ProviderConstructor = new (...args: any[]) => any; +export type ProviderFactory = (...args: any[]) => any; + +export function isProviderConstructor(x: unknown): x is ProviderConstructor { + return typeof x === 'function' && x.prototype instanceof GenericFtrService; +} + +export type ProviderFn = ProviderConstructor | ProviderFactory; export type Providers = ReturnType; export type Provider = Providers extends Array ? X : unknown; -export function readProviderSpec(type: string, providers: Record any>) { +export function readProviderSpec(type: string, providers: Record) { return Object.keys(providers).map((name) => { return { type, diff --git a/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.test.ts b/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.test.ts index 43f1508ab7938..2d417b5cdc807 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.test.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.test.ts @@ -12,11 +12,11 @@ import { join, resolve } from 'path'; import { ToolingLog } from '@kbn/tooling-log'; jest.mock('fs'); -jest.mock('@kbn/utils', () => { +jest.mock('@kbn/repo-info', () => { return { REPO_ROOT: '/dev/null/root' }; }); -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Lifecycle } from './lifecycle'; import { SuiteTracker } from './suite_tracker'; import { Suite } from '../fake_mocha_types'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.ts b/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.ts index 7832e89cb32c0..74e33321e1fab 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/suite_tracker.ts @@ -9,7 +9,7 @@ import fs from 'fs'; import { dirname, relative, resolve } from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Lifecycle } from './lifecycle'; diff --git a/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js b/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js index 9888116e72272..823881ee4a31b 100644 --- a/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js +++ b/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js @@ -6,31 +6,20 @@ * Side Public License, v 1. */ -const Fs = require('fs'); const Path = require('path'); -const { REPO_ROOT: REPO_ROOT_FOLLOWING_SYMLINKS } = require('@kbn/utils'); -const BASE_REPO_ROOT = Path.resolve( - Fs.realpathSync(Path.resolve(REPO_ROOT_FOLLOWING_SYMLINKS, 'package.json')), - '..' -); +const { REPO_ROOT } = require('@kbn/repo-info'); -const transpileKbnPaths = [ - 'test', - 'x-pack/test', - 'examples', - 'x-pack/examples', - // TODO: should should probably remove this link back to the source - 'x-pack/plugins/task_manager/server/config.ts', - 'src/plugins/field_formats/common', -].map((path) => Path.resolve(BASE_REPO_ROOT, path)); - -// modifies all future calls to require() to automatically -// compile the required source with babel -require('@babel/register')({ - ignore: [/[\/\\](node_modules|target|dist)[\/\\]/], - only: transpileKbnPaths, - babelrc: false, - presets: [require.resolve('@kbn/babel-preset/node_preset')], - extensions: ['.js', '.ts', '.tsx'], +require('@kbn/babel-register').install({ + only: [ + 'test', + 'x-pack/test', + 'examples', + 'x-pack/examples', + // TODO: should should probably remove this link back to the source + 'x-pack/plugins/task_manager/server/config.ts', + 'src/plugins/field_formats/common', + 'packages', + 'x-pack/packages', + ].map((path) => Path.resolve(REPO_ROOT, path)), }); diff --git a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts index b367af4daf492..24f3eb9a527b2 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts @@ -9,7 +9,7 @@ import { resolve } from 'path'; import type { ToolingLog } from '@kbn/tooling-log'; import getPort from 'get-port'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import type { Config } from '../../functional_test_runner'; import { createTestEsCluster } from '../../es'; diff --git a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts index 2ab4af2df2e2d..2f82d23d72874 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts @@ -11,7 +11,7 @@ import Os from 'os'; import Uuid from 'uuid'; import type { ProcRunner } from '@kbn/dev-proc-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import type { Config } from '../../functional_test_runner'; import { DedicatedTaskRunner } from '../../functional_test_runner/lib'; diff --git a/packages/kbn-test/src/functional_tests/run_tests/flags.ts b/packages/kbn-test/src/functional_tests/run_tests/flags.ts index 7639ae341f071..5d7fffc2a965b 100644 --- a/packages/kbn-test/src/functional_tests/run_tests/flags.ts +++ b/packages/kbn-test/src/functional_tests/run_tests/flags.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { v4 as uuidV4 } from 'uuid'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { FlagsReader, FlagOptions } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; diff --git a/packages/kbn-test/src/functional_tests/run_tests/run_tests.ts b/packages/kbn-test/src/functional_tests/run_tests/run_tests.ts index 3eb8348691a1b..e936264d8bf04 100644 --- a/packages/kbn-test/src/functional_tests/run_tests/run_tests.ts +++ b/packages/kbn-test/src/functional_tests/run_tests/run_tests.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { setTimeout } from 'timers/promises'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; import { withProcRunner } from '@kbn/dev-proc-runner'; diff --git a/packages/kbn-test/src/functional_tests/start_servers/flags.test.ts b/packages/kbn-test/src/functional_tests/start_servers/flags.test.ts index a8498d9e4e49d..95c989b00cf1e 100644 --- a/packages/kbn-test/src/functional_tests/start_servers/flags.test.ts +++ b/packages/kbn-test/src/functional_tests/start_servers/flags.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import { getFlags, FlagsReader } from '@kbn/dev-cli-runner'; import { createAnyInstanceSerializer, createAbsolutePathSerializer } from '@kbn/jest-serializers'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { EsVersion } from '../../functional_test_runner'; import { parseFlags, FLAG_OPTIONS } from './flags'; diff --git a/packages/kbn-test/src/functional_tests/start_servers/flags.ts b/packages/kbn-test/src/functional_tests/start_servers/flags.ts index 99c7de9e53ea0..0f53ca6866fa8 100644 --- a/packages/kbn-test/src/functional_tests/start_servers/flags.ts +++ b/packages/kbn-test/src/functional_tests/start_servers/flags.ts @@ -11,7 +11,7 @@ import Path from 'path'; import { v4 as uuidV4 } from 'uuid'; import { FlagsReader, FlagOptions } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { EsVersion } from '../../functional_test_runner'; diff --git a/packages/kbn-test/src/functional_tests/start_servers/start_servers.ts b/packages/kbn-test/src/functional_tests/start_servers/start_servers.ts index 3bb601fabe002..8c351db9b42f6 100644 --- a/packages/kbn-test/src/functional_tests/start_servers/start_servers.ts +++ b/packages/kbn-test/src/functional_tests/start_servers/start_servers.ts @@ -10,7 +10,7 @@ import Path from 'path'; import * as Rx from 'rxjs'; import dedent from 'dedent'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog } from '@kbn/tooling-log'; import { withProcRunner } from '@kbn/dev-proc-runner'; import { getTimeReporter } from '@kbn/ci-stats-reporter'; diff --git a/packages/kbn-test/src/jest/integration_tests/__fixtures__/jest.config.js b/packages/kbn-test/src/jest/integration_tests/__fixtures__/jest.config.js deleted file mode 100644 index 0795e7f391669..0000000000000 --- a/packages/kbn-test/src/jest/integration_tests/__fixtures__/jest.config.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -const { resolve } = require('path'); -const { REPO_ROOT } = require('@kbn/utils'); - -module.exports = { - reporters: [ - 'default', - [ - `${REPO_ROOT}/node_modules/@kbn/test/target_node/src/jest/junit_reporter`, - { - reportName: 'JUnit Reporter Integration Test', - rootDirectory: resolve( - REPO_ROOT, - 'packages/kbn-test/src/jest/integration_tests/__fixtures__' - ), - }, - ], - ], -}; diff --git a/packages/kbn-test/src/jest/integration_tests/__fixtures__/test.js b/packages/kbn-test/src/jest/integration_tests/__fixtures__/test.js deleted file mode 100644 index 140b981482ff3..0000000000000 --- a/packages/kbn-test/src/jest/integration_tests/__fixtures__/test.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -describe('JUnit Reporter', () => { - it('fails', () => { - throw new Error('failure'); - }); -}); diff --git a/packages/kbn-test/src/jest/integration_tests/junit_reporter.test.ts b/packages/kbn-test/src/jest/integration_tests/junit_reporter.test.ts deleted file mode 100644 index f2bf25067a9bd..0000000000000 --- a/packages/kbn-test/src/jest/integration_tests/junit_reporter.test.ts +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { resolve } from 'path'; -import { promisify } from 'util'; -import { readFileSync } from 'fs'; - -import del from 'del'; -import execa from 'execa'; -import xml2js from 'xml2js'; -import { getUniqueJunitReportPath } from '../../report_path'; -import { REPO_ROOT } from '@kbn/utils'; - -const MINUTE = 1000 * 60; -const FIXTURE_DIR = resolve(__dirname, '__fixtures__'); -const TARGET_DIR = resolve(FIXTURE_DIR, 'target'); -const XML_PATH = getUniqueJunitReportPath(FIXTURE_DIR, 'JUnit Reporter Integration Test'); - -afterAll(async () => { - await del(TARGET_DIR); -}); - -const parseXml = promisify(xml2js.parseString); -it( - 'produces a valid junit report for failures', - async () => { - const result = await execa( - 'node', - [ - '--preserve-symlinks', - './node_modules/.bin/jest', - '--config', - 'packages/kbn-test/src/jest/integration_tests/__fixtures__/jest.config.js', - ], - { - cwd: REPO_ROOT, - env: { - CI: 'true', - }, - reject: false, - } - ); - - expect(result.exitCode).toBe(1); - await expect(parseXml(readFileSync(XML_PATH, 'utf8'))).resolves.toEqual({ - testsuites: { - $: { - failures: '1', - name: 'jest', - skipped: '0', - tests: '1', - time: expect.anything(), - timestamp: expect.anything(), - }, - testsuite: [ - { - $: { - failures: '1', - file: resolve(FIXTURE_DIR, './test.js'), - name: 'test.js', - skipped: '0', - tests: '1', - time: expect.anything(), - timestamp: expect.anything(), - }, - testcase: [ - { - $: { - classname: 'JUnit Reporter Integration Test.·', - name: 'JUnit Reporter fails', - time: expect.anything(), - }, - failure: [expect.stringMatching(/Error: failure\s+at /m)], - }, - ], - }, - ], - }, - }); - }, - 3 * MINUTE -); diff --git a/packages/kbn-test/src/jest/junit_reporter/index.js b/packages/kbn-test/src/jest/junit_reporter/index.js new file mode 100644 index 0000000000000..5196e584cdd14 --- /dev/null +++ b/packages/kbn-test/src/jest/junit_reporter/index.js @@ -0,0 +1,10 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +require('@kbn/babel-register').install(); +module.exports = require('./junit_reporter'); diff --git a/packages/kbn-test/src/jest/junit_reporter.ts b/packages/kbn-test/src/jest/junit_reporter/junit_reporter.ts similarity index 96% rename from packages/kbn-test/src/jest/junit_reporter.ts rename to packages/kbn-test/src/jest/junit_reporter/junit_reporter.ts index 6a1ce9d51ded9..edb109eaa7000 100644 --- a/packages/kbn-test/src/jest/junit_reporter.ts +++ b/packages/kbn-test/src/jest/junit_reporter/junit_reporter.ts @@ -11,12 +11,12 @@ import { writeFileSync, mkdirSync } from 'fs'; import xmlBuilder from 'xmlbuilder'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import type { Config } from '@jest/types'; import { AggregatedResult, Test, BaseReporter } from '@jest/reporters'; -import { escapeCdata } from '../mocha/xml'; -import { getUniqueJunitReportPath } from '../report_path'; +import { escapeCdata } from '../../mocha/xml'; +import { getUniqueJunitReportPath } from '../../report_path'; interface ReporterOptions { reportName?: string; diff --git a/packages/kbn-test/src/jest/resolver.js b/packages/kbn-test/src/jest/resolver.js new file mode 100644 index 0000000000000..9334cdbf74be5 --- /dev/null +++ b/packages/kbn-test/src/jest/resolver.js @@ -0,0 +1,101 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// Inspired in a discussion found at https://github.com/facebook/jest/issues/5356 as Jest currently doesn't +// offer any other option to preserve symlinks. +// +// It would be available once https://github.com/facebook/jest/pull/9976 got merged. + +const Path = require('path'); +const resolve = require('resolve'); +const { REPO_ROOT } = require('@kbn/repo-info'); +const { readPackageMap } = require('@kbn/package-map'); + +const pkgMap = readPackageMap(); + +const APM_AGENT_MOCK = Path.resolve(__dirname, 'mocks/apm_agent_mock.ts'); +const CSS_MODULE_MOCK = Path.resolve(__dirname, 'mocks/css_module_mock.js'); +const STYLE_MOCK = Path.resolve(__dirname, 'mocks/style_mock.js'); +const FILE_MOCK = Path.resolve(__dirname, 'mocks/file_mock.js'); +const WORKER_MOCK = Path.resolve(__dirname, 'mocks/worker_module_mock.js'); + +const STATIC_FILE_EXT = + `jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga` + .split('|') + .map((e) => `.${e}`); + +/** + * @param {string} request + * @param {import('resolve').SyncOpts} options + * @returns + */ +module.exports = (request, options) => { + if (request === `@elastic/eui`) { + return module.exports(`@elastic/eui/test-env`, options); + } + + if (request.startsWith('@elastic/eui/lib/')) { + return module.exports(request.replace('@elastic/eui/lib/', '@elastic/eui/test-env/'), options); + } + + if (request === `elastic-apm-node`) { + return APM_AGENT_MOCK; + } + + const reqExt = Path.extname(request); + if (reqExt) { + const reqBasename = Path.basename(request, reqExt); + if ((reqExt === '.css' || reqExt === '.scss') && reqBasename.endsWith('.module')) { + return CSS_MODULE_MOCK; + } + + if (reqExt === '.css' || reqExt === '.less' || reqExt === '.scss') { + return STYLE_MOCK; + } + + if (STATIC_FILE_EXT.includes(reqExt)) { + return FILE_MOCK; + } + + if (reqExt === '.worker' && (reqBasename.endsWith('.ace') || reqBasename.endsWith('.editor'))) { + return WORKER_MOCK; + } + } + + if (request.startsWith('file-loader!') || request.startsWith('!!file-loader!')) { + return FILE_MOCK; + } + + if (request.startsWith('@kbn/')) { + const [, id, ...sub] = request.split('/'); + const pkgDir = pkgMap.get(`@kbn/${id}`); + if (!pkgDir) { + throw new Error( + `unable to resolve pkg import, pkg '@kbn/${id}' is not in the pkg map. Do you need to bootstrap?` + ); + } + + return resolve.sync(`./${pkgDir}${sub.length ? `/${sub.join('/')}` : ''}`, { + basedir: REPO_ROOT, + extensions: options.extensions, + }); + } + + try { + return resolve.sync(request, { + basedir: options.basedir, + extensions: options.extensions, + }); + } catch (error) { + if (error.code === 'MODULE_NOT_FOUND') { + return options.defaultResolver(request, options); + } + + throw error; + } +}; diff --git a/packages/kbn-test/src/jest/run.ts b/packages/kbn-test/src/jest/run.ts index 262d483dfd41b..c517e8d323dec 100644 --- a/packages/kbn-test/src/jest/run.ts +++ b/packages/kbn-test/src/jest/run.ts @@ -23,7 +23,7 @@ import { run } from 'jest'; import { ToolingLog } from '@kbn/tooling-log'; import { getTimeReporter } from '@kbn/ci-stats-reporter'; import { createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { map } from 'lodash'; import getopts from 'getopts'; import jestFlags from './jest_flags.json'; diff --git a/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts b/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts index 5adbe0afdbef0..b2628490d7497 100644 --- a/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts +++ b/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getAllJestPaths, getTestsForConfigPaths } from './configs'; diff --git a/packages/kbn-test/src/jest/setup/babel_polyfill.js b/packages/kbn-test/src/jest/setup/babel_polyfill.js deleted file mode 100644 index 8d85e0043b8bf..0000000000000 --- a/packages/kbn-test/src/jest/setup/babel_polyfill.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -// Note: In theory importing the polyfill should not be needed, as Babel should -// include the necessary polyfills when using `@babel/preset-env`, but for some -// reason it did not work. See https://github.com/elastic/kibana/issues/14506 -import '@kbn/optimizer/target_node/src/node/polyfill'; diff --git a/packages/kbn-test/src/jest/setup/preserve_symlinks_resolver.js b/packages/kbn-test/src/jest/setup/preserve_symlinks_resolver.js deleted file mode 100644 index 711bf2c9aa189..0000000000000 --- a/packages/kbn-test/src/jest/setup/preserve_symlinks_resolver.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -// Inspired in a discussion found at https://github.com/facebook/jest/issues/5356 as Jest currently doesn't -// offer any other option to preserve symlinks. -// -// It would be available once https://github.com/facebook/jest/pull/9976 got merged. - -const resolve = require('resolve'); - -module.exports = (request, options) => { - try { - return resolve.sync(request, { - basedir: options.basedir, - extensions: options.extensions, - preserveSymlinks: true, - }); - } catch (error) { - if (error.code === 'MODULE_NOT_FOUND') { - return options.defaultResolver(request, options); - } - - throw error; - } -}; diff --git a/packages/kbn-test/src/jest/transforms/babel.js b/packages/kbn-test/src/jest/transforms/babel.js index f2fbbfe00b603..907a9a66297c6 100644 --- a/packages/kbn-test/src/jest/transforms/babel.js +++ b/packages/kbn-test/src/jest/transforms/babel.js @@ -18,6 +18,7 @@ module.exports = babelJest.default.createTransformer({ useBuiltIns: false, corejs: false, }, + 'kibana/ignoreAllPkgImports': true, }, ], ], diff --git a/packages/kbn-test/src/kbn/users.ts b/packages/kbn-test/src/kbn/users.ts index 9e35e9d7b6c01..b0db9e88ffc40 100644 --- a/packages/kbn-test/src/kbn/users.ts +++ b/packages/kbn-test/src/kbn/users.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -// @ts-expect-error no types import { SYSTEM_INDICES_SUPERUSER } from '@kbn/es'; const env = process.env; diff --git a/packages/kbn-test/src/kbn_client/kbn_client_import_export.ts b/packages/kbn-test/src/kbn_client/kbn_client_import_export.ts index 4b2b4da3f75c2..5259b50cfce85 100644 --- a/packages/kbn-test/src/kbn_client/kbn_client_import_export.ts +++ b/packages/kbn-test/src/kbn_client/kbn_client_import_export.ts @@ -15,7 +15,7 @@ import FormData from 'form-data'; import { isAxiosResponseError } from '@kbn/dev-utils'; import { createFailError } from '@kbn/dev-cli-errors'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { KbnClientRequester, uriencode, ReqOptions } from './kbn_client_requester'; import { KbnClientSavedObjects } from './kbn_client_saved_objects'; diff --git a/packages/kbn-test/src/mocha/junit_report_generation.js b/packages/kbn-test/src/mocha/junit_report_generation.js index 599d1f366194f..001fe79a38061 100644 --- a/packages/kbn-test/src/mocha/junit_report_generation.js +++ b/packages/kbn-test/src/mocha/junit_report_generation.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { dirname, relative } from 'path'; import { writeFileSync, mkdirSync } from 'fs'; import { inspect } from 'util'; diff --git a/packages/kbn-test/src/mocha/log_cache.js b/packages/kbn-test/src/mocha/log_cache.js index 669ad34463f47..e1c0030b53d17 100644 --- a/packages/kbn-test/src/mocha/log_cache.js +++ b/packages/kbn-test/src/mocha/log_cache.js @@ -12,7 +12,7 @@ const cachesRunnableLogs = new WeakMap(); /** * Add a chunk of log output to the cached * output for a suite - * @param {Mocha.Suite} suite + * @param {import('../functional_test_runner/fake_mocha_types').Suite} suite * @param {string} chunk */ export function recordLog(suite, chunk) { @@ -23,7 +23,7 @@ export function recordLog(suite, chunk) { /** * Recursively walk up from a runnable to collect * the cached log for its suite and all its parents - * @param {Mocha.Suite} suite + * @param {import('../functional_test_runner/fake_mocha_types').Suite} suite */ function getCurrentCachedSuiteLogs(suite) { const history = suite.parent ? getCurrentCachedSuiteLogs(suite.parent) : ''; @@ -35,6 +35,7 @@ function getCurrentCachedSuiteLogs(suite) { * Snapshot the logs from this runnable's suite at this point, * as the suite logs will get updated to include output from * subsequent runnables + * @param {import('../functional_test_runner/fake_mocha_types').Runnable} runnable * @param {Mocha.Runnable} runnable */ export function snapshotLogsForRunnable(runnable) { @@ -44,7 +45,7 @@ export function snapshotLogsForRunnable(runnable) { /** * Get the suite logs as they were when the logs for this runnable * were snapshotted - * @param {Mocha.Runnable} runnable + * @param {import('../functional_test_runner/fake_mocha_types').Runnable} runnable */ export function getSnapshotOfRunnableLogs(runnable) { return cachesRunnableLogs.get(runnable); diff --git a/packages/kbn-test/tsconfig.json b/packages/kbn-test/tsconfig.json index 282d23e8bcb12..b1f4e9f0a152a 100644 --- a/packages/kbn-test/tsconfig.json +++ b/packages/kbn-test/tsconfig.json @@ -1,18 +1,35 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": true, "types": ["jest", "node"] }, "include": [ "**/*.ts", "**/*.js", + "src/jest/jest_flags.json", ], "exclude": [ "types/**/*", - "**/__fixtures__/**/*" + "**/__fixtures__/**/*", + "target/**/*", + ], + "kbn_references": [ + "@kbn/dev-utils", + "@kbn/std", + "@kbn/tooling-log", + "@kbn/get-repo-files", + "@kbn/peggy", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/ci-stats-reporter", + "@kbn/repo-info", + "@kbn/es", + "@kbn/dev-proc-runner", + "@kbn/jest-serializers", + "@kbn/stdio-dev-helpers", + "@kbn/babel-register", + "@kbn/package-map", ] } diff --git a/packages/kbn-timelion-grammar/BUILD.bazel b/packages/kbn-timelion-grammar/BUILD.bazel deleted file mode 100644 index 7898fef88f1fc..0000000000000 --- a/packages/kbn-timelion-grammar/BUILD.bazel +++ /dev/null @@ -1,31 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-timelion-grammar" -PKG_REQUIRE_NAME = "@kbn/timelion-grammar" - -NPM_MODULE_EXTRA_FILES = [ - "index.js", - "chain.peggy", - "package.json", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-timelion-grammar/kibana.jsonc b/packages/kbn-timelion-grammar/kibana.jsonc index ec0f5079abb80..88b61e0c15872 100644 --- a/packages/kbn-timelion-grammar/kibana.jsonc +++ b/packages/kbn-timelion-grammar/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/timelion-grammar", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-timelion-grammar/tsconfig.json b/packages/kbn-timelion-grammar/tsconfig.json new file mode 100644 index 0000000000000..939903f56b523 --- /dev/null +++ b/packages/kbn-timelion-grammar/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": [ + "*.js", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-tinymath/BUILD.bazel b/packages/kbn-tinymath/BUILD.bazel deleted file mode 100644 index b9f1fb9daf849..0000000000000 --- a/packages/kbn-tinymath/BUILD.bazel +++ /dev/null @@ -1,52 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-tinymath" -PKG_REQUIRE_NAME = "@kbn/tinymath" - -SOURCE_FILES = glob( - [ - "src/**/*", - ] -) - -TYPE_FILES = [ - "index.d.ts", -] - -SRCS = SOURCE_FILES + TYPE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [ - "@npm//lodash", -] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [":srcs"], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-tinymath/kibana.jsonc b/packages/kbn-tinymath/kibana.jsonc index 3a26322d2394b..dd790aee9fe9b 100644 --- a/packages/kbn-tinymath/kibana.jsonc +++ b/packages/kbn-tinymath/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/tinymath", - "owner": "@elastic/kibana-visualizations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-visualizations" } diff --git a/packages/kbn-tinymath/test/library.test.js b/packages/kbn-tinymath/test/library.test.js index 054d78fc60adb..fc5c94298d79c 100644 --- a/packages/kbn-tinymath/test/library.test.js +++ b/packages/kbn-tinymath/test/library.test.js @@ -11,7 +11,7 @@ Need tests for spacing, etc */ -import { evaluate, parse } from '@kbn/tinymath'; +import { evaluate, parse } from '../src'; function variableEqual(value) { return expect.objectContaining({ type: 'variable', value }); diff --git a/packages/kbn-tinymath/tsconfig.json b/packages/kbn-tinymath/tsconfig.json index 748eb53a69e3d..791a6d85a6853 100644 --- a/packages/kbn-tinymath/tsconfig.json +++ b/packages/kbn-tinymath/tsconfig.json @@ -1,4 +1,10 @@ { - "extends": "../../tsconfig.bazel.json", - "include": ["index.d.ts"] + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": ["index.d.ts"], + "exclude": [ + "target/**/*", + ] } diff --git a/packages/kbn-tooling-log/BUILD.bazel b/packages/kbn-tooling-log/BUILD.bazel deleted file mode 100644 index a61c6039312ae..0000000000000 --- a/packages/kbn-tooling-log/BUILD.bazel +++ /dev/null @@ -1,128 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-tooling-log" -PKG_REQUIRE_NAME = "@kbn/tooling-log" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//rxjs", - "@npm//tslib", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//rxjs", - "@npm//tslib", - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-some-dev-log:npm_module_types", - "//packages/kbn-jest-serializers:npm_module_types", # needed for windows development, only used in tests -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-tooling-log/kibana.jsonc b/packages/kbn-tooling-log/kibana.jsonc index 88eecfa75bf38..d855a7dc46c72 100644 --- a/packages/kbn-tooling-log/kibana.jsonc +++ b/packages/kbn-tooling-log/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/tooling-log", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-tooling-log/package.json b/packages/kbn-tooling-log/package.json index 45bdc79a120d8..eb1071293b982 100644 --- a/packages/kbn-tooling-log/package.json +++ b/packages/kbn-tooling-log/package.json @@ -2,7 +2,5 @@ "name": "@kbn/tooling-log", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-tooling-log/tsconfig.json b/packages/kbn-tooling-log/tsconfig.json index 57c1dd1c94e0f..7f4d0f5e1c7c8 100644 --- a/packages/kbn-tooling-log/tsconfig.json +++ b/packages/kbn-tooling-log/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/some-dev-log", + "@kbn/jest-serializers" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ts-project-linter-cli/README.md b/packages/kbn-ts-project-linter-cli/README.md new file mode 100644 index 0000000000000..d78e88f74e28d --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/README.md @@ -0,0 +1,3 @@ +# @kbn/ts-project-linter-cli + +Empty package generated by @kbn/generate diff --git a/packages/kbn-ts-project-linter-cli/jest.config.js b/packages/kbn-ts-project-linter-cli/jest.config.js new file mode 100644 index 0000000000000..544d6f3afa2fb --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-ts-project-linter-cli'], +}; diff --git a/packages/kbn-ts-project-linter-cli/kibana.jsonc b/packages/kbn-ts-project-linter-cli/kibana.jsonc new file mode 100644 index 0000000000000..d92db6b071770 --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/ts-project-linter-cli", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-ts-project-linter-cli/package.json b/packages/kbn-ts-project-linter-cli/package.json new file mode 100644 index 0000000000000..e82f4b23467b9 --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/ts-project-linter-cli", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0", + "main": "./run_lint_ts_projects_cli" +} diff --git a/packages/kbn-ts-project-linter-cli/run_lint_ts_projects_cli.ts b/packages/kbn-ts-project-linter-cli/run_lint_ts_projects_cli.ts new file mode 100644 index 0000000000000..ea3c9dbd4cb06 --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/run_lint_ts_projects_cli.ts @@ -0,0 +1,122 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { run } from '@kbn/dev-cli-runner'; +import { createFailError } from '@kbn/dev-cli-errors'; +import { RepoPath } from '@kbn/repo-path'; +import { getRepoFiles } from '@kbn/get-repo-files'; +import { PROJECTS as ALL_PROJECTS, type Project } from '@kbn/ts-projects'; +import { lintProjects, ProjectFileMap } from '@kbn/ts-project-linter'; + +run( + async ({ log, flagsReader }) => { + const projectFilter = new Set( + flagsReader.arrayOfStrings('project')?.map((i) => Path.resolve(i)) + ); + const projects = projectFilter.size + ? ALL_PROJECTS.filter((p) => projectFilter.has(p.path)) + : ALL_PROJECTS; + + const projectFileMap = new ProjectFileMap(); + await projectFileMap.preload(ALL_PROJECTS); + + const { lintingErrorCount } = await lintProjects(log, projects, { + fix: flagsReader.boolean('fix'), + projectFileMap, + skipRefs: + flagsReader.boolean('refs-check') === false || + flagsReader.boolean('no-refs-check') === true, + }); + + let failed = lintingErrorCount > 0; + + const isInMultipleTsProjects = new Map>(); + const pathsToProject = new Map(); + for (const proj of ALL_PROJECTS) { + const paths = projectFileMap.getFiles(proj); + + for (const path of paths) { + if (!pathsToProject.has(path.repoRel)) { + pathsToProject.set(path.repoRel, proj); + continue; + } + + if (path.isTypeScriptAmbient()) { + continue; + } + + isInMultipleTsProjects.set( + path.repoRel, + new Set([...(isInMultipleTsProjects.get(path.repoRel) ?? []), proj]) + ); + } + } + + if (isInMultipleTsProjects.size) { + failed = true; + const details = Array.from(isInMultipleTsProjects) + .map( + ([repoRel, list]) => + ` - ${repoRel}:\n${Array.from(list) + .map((p) => ` - ${p.repoRel}`) + .join('\n')}` + ) + .join('\n'); + + log.error( + `The following files belong to multiple tsconfig.json files listed in packages/kbn-ts-projects/projects.ts\n${details}` + ); + } + + const isNotInTsProject: RepoPath[] = []; + for (const path of await getRepoFiles()) { + if (!path.isTypeScript() || path.isFixture()) { + continue; + } + + const proj = pathsToProject.get(path.repoRel); + if (proj === undefined) { + isNotInTsProject.push(path); + } + } + + if (isNotInTsProject.length) { + failed = true; + log.error( + `The following files do not belong to a tsconfig.json file, or that tsconfig.json file is not listed in packages/kbn-ts-projects/projects.ts\n${isNotInTsProject + .map((file) => ` - ${file.repoRel}`) + .join('\n')}` + ); + } + + if (failed) { + throw createFailError('see above errors'); + } else { + log.success('All TS files belong to a single ts project'); + } + }, + { + usage: `node scripts/ts_project_linter`, + flags: { + boolean: ['fix', 'refs-check', 'no-refs-check'], + string: ['project'], + alias: { f: 'fix', R: 'no-refs-check' }, + default: { 'refs-check': true }, + help: ` + --no-lint Disables linting rules, only validting that every file is a member of just one project + --project Focus linting on a specific project, disables project membership checks, can be specified multiple times + --fix Automatically fix some issues in tsconfig.json files + -R, --no-refs-check Disables the reference checking rules, making the linting much faster, but less accruate + `, + }, + description: + 'Check that all .ts and .tsx files in the repository are assigned to a tsconfig.json file', + } +); diff --git a/packages/kbn-ts-project-linter-cli/tsconfig.json b/packages/kbn-ts-project-linter-cli/tsconfig.json new file mode 100644 index 0000000000000..16064f5764818 --- /dev/null +++ b/packages/kbn-ts-project-linter-cli/tsconfig.json @@ -0,0 +1,24 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/repo-path", + "@kbn/get-repo-files", + "@kbn/ts-projects", + "@kbn/ts-project-linter", + ] +} diff --git a/packages/kbn-ts-project-linter/README.md b/packages/kbn-ts-project-linter/README.md new file mode 100644 index 0000000000000..68e886e6b66d8 --- /dev/null +++ b/packages/kbn-ts-project-linter/README.md @@ -0,0 +1,3 @@ +# @kbn/ts-project-linter + +Empty package generated by @kbn/generate diff --git a/packages/kbn-ts-project-linter/ast/ast.ts b/packages/kbn-ts-project-linter/ast/ast.ts new file mode 100644 index 0000000000000..9881a9f96f002 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/ast.ts @@ -0,0 +1,17 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { T, parseExpression } from './babel'; + +export function getAst(source: string) { + const ast = parseExpression(source); + if (!T.isObjectExpression(ast)) { + throw new Error('expected tsconfig.json file to be an object expression'); + } + return ast; +} diff --git a/packages/kbn-ts-project-linter/ast/babel.ts b/packages/kbn-ts-project-linter/ast/babel.ts new file mode 100644 index 0000000000000..911166a49f90a --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/babel.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as T from '@babel/types'; +import { parseExpression } from '@babel/parser'; +export { T, parseExpression }; diff --git a/packages/kbn-ts-project-linter/ast/compiler_options.test.ts b/packages/kbn-ts-project-linter/ast/compiler_options.test.ts new file mode 100644 index 0000000000000..7a421d966d724 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/compiler_options.test.ts @@ -0,0 +1,292 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; + +import { removeCompilerOption, setCompilerOption } from './compiler_options'; + +describe('removeCompilerOption()', () => { + it('handles strings with trailing comma', () => { + const updated = removeCompilerOption( + dedent` + { + "compilerOptions": { + "foo": "bar", + } + } + `, + 'foo' + ); + + expect(updated).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + } + }" + `); + }); + it('handles booleans with trailing comma', () => { + const updated = removeCompilerOption( + dedent` + { + "compilerOptions": { + "foo": true, + } + } + `, + 'foo' + ); + + expect(updated).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + } + }" + `); + }); + it('handles numbers with trailing comma', () => { + const updated = removeCompilerOption( + dedent` + { + "compilerOptions": { + "foo": 1, + } + } + `, + 'foo' + ); + + expect(updated).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + } + }" + `); + }); + it('handles inline properties', () => { + const updated = removeCompilerOption( + dedent` + { + "compilerOptions": {"foo": 1} + } + `, + 'foo' + ); + + expect(updated).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": {} + }" + `); + }); + it('handles inline properties with trailing commas', () => { + const updated = removeCompilerOption( + dedent` + { + "compilerOptions": {"foo": 1,} + } + `, + 'foo' + ); + + expect(updated).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": {} + }" + `); + }); +}); + +describe('setCompilerOptions()', () => { + it('updated existing compiler options', () => { + expect( + setCompilerOption( + dedent` + { + "compilerOptions": {"foo": 1} + } + `, + 'foo', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": {\\"foo\\": 2} + }" + `); + + expect( + setCompilerOption( + dedent` + { + "compilerOptions": {"foo": true} + } + `, + 'foo', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": {\\"foo\\": 2} + }" + `); + + expect( + setCompilerOption( + dedent` + { + "compilerOptions": {"foo": "bar"} + } + `, + 'foo', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": {\\"foo\\": 2} + }" + `); + + expect( + setCompilerOption( + dedent` + { + "compilerOptions": { + "foo": "bar" + } + } + `, + 'foo', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + \\"foo\\": 2 + } + }" + `); + + expect( + setCompilerOption( + dedent` + { + "compilerOptions": { + "foo": "bar", + } + } + `, + 'foo', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + \\"foo\\": 2, + } + }" + `); + }); + + it('expands single line compiler options', () => { + expect( + setCompilerOption( + dedent` + { + "compilerOptions": {"foo": 1} + } + `, + 'bar', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + \\"foo\\": 1, + \\"bar\\": 2 + } + }" + `); + }); + + it('adds to multi-line compiler options', () => { + expect( + setCompilerOption( + dedent` + { + "compilerOptions": { + "foo": 1 + } + } + `, + 'bar', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + \\"foo\\": 1, + \\"bar\\": 2 + } + }" + `); + + expect( + setCompilerOption( + dedent` + { + "compilerOptions": { + "foo": 1, + } + } + `, + 'bar', + 2 + ) + ).toMatchInlineSnapshot(` + "{ + \\"compilerOptions\\": { + \\"foo\\": 1, + \\"bar\\": 2, + } + }" + `); + + expect( + setCompilerOption( + removeCompilerOption( + dedent` + { + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "skipLibCheck": false + }, + "include": [ + "expect.d.ts" + ] + } + `, + 'skipLibCheck' + ), + + 'outDir', + 'foo/bar' + ) + ).toMatchInlineSnapshot(` + "{ + \\"extends\\": \\"../../tsconfig.base.json\\", + \\"compilerOptions\\": { + \\"outDir\\": \\"foo/bar\\" + }, + \\"include\\": [ + \\"expect.d.ts\\" + ] + }" + `); + }); +}); diff --git a/packages/kbn-ts-project-linter/ast/compiler_options.ts b/packages/kbn-ts-project-linter/ast/compiler_options.ts new file mode 100644 index 0000000000000..9b368d5ee4a57 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/compiler_options.ts @@ -0,0 +1,80 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Jsonc } from '@kbn/bazel-packages'; + +import { T } from './babel'; +import { getAst } from './ast'; +import { getEnds, getExpandedEnds } from './ends'; +import { getProp, getEndOfLastProp } from './props'; + +export function getCompilerOptions(source: string) { + const compilerOptions = getProp(getAst(source), 'compilerOptions'); + if (!compilerOptions) { + throw new Error('unable to find compilerOptions property'); + } + if (!T.isObjectExpression(compilerOptions.value)) { + throw new Error('expected compilerOptions property to be an object expression'); + } + + return compilerOptions.value; +} + +export function setCompilerOption(source: string, name: string, value: any) { + const compilerOptions = getCompilerOptions(source); + + const existing = getProp(compilerOptions, name); + if (existing) { + const [start, end] = getEnds(existing.value); + return source.slice(0, start) + JSON.stringify(value) + source.slice(end); + } + + if ( + !compilerOptions.properties.length || + compilerOptions.loc?.start.line === compilerOptions.loc?.end.line + ) { + // convert to multiline + const orig = (Jsonc.parse(source) as any).compilerOptions; + const [start, end] = getEnds(compilerOptions); + return ( + source.slice(0, start) + + JSON.stringify( + { + ...orig, + [name]: value, + }, + null, + 2 + ) + .split('\n') + .map((l, i) => (i === 0 ? l : ` ${l}`)) + .join('\n') + + source.slice(end) + ); + } + + const endOfLastProp = getEndOfLastProp(compilerOptions); + let left = source.slice(0, endOfLastProp); + while (left.at(-1) === ',') { + left = left.slice(0, -1); + } + const right = source.slice(endOfLastProp); + return left + `,\n ${JSON.stringify(name)}: ${JSON.stringify(value)}` + right; +} + +export function removeCompilerOption(source: string, name: string) { + const compilerOptions = getCompilerOptions(source); + + const culprit = getProp(compilerOptions, name); + if (!culprit) { + throw new Error(`unable to find compiler option "${name}"`); + } + + const [start, end] = getExpandedEnds(source, culprit); + return source.slice(0, start) + source.slice(end); +} diff --git a/packages/kbn-ts-project-linter/ast/ends.test.ts b/packages/kbn-ts-project-linter/ast/ends.test.ts new file mode 100644 index 0000000000000..eff2161363424 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/ends.test.ts @@ -0,0 +1,43 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getAst } from './ast'; +import { getProp } from './props'; +import { getEnds, getExpandedEnds } from './ends'; + +const source = `{ + "foo": "bar", +}`; +const ast = getAst(source); +const foo = getProp(ast, 'foo')!; + +describe('getEnds()', () => { + it('returns the index of the first char of a node, and the index just past the last char', () => { + expect(getEnds(foo.value)).toMatchInlineSnapshot(` + Array [ + 11, + 16, + ] + `); + expect(source.slice(...getEnds(foo.value))).toMatchInlineSnapshot(`"\\"bar\\""`); + }); +}); + +describe('getExpandedEnds()', () => { + it('returns the index of the first char of whitespace preceding a node, and the index just past the last char and optionally trailing comma', () => { + expect(getExpandedEnds(source, foo.value)).toMatchInlineSnapshot(` + Array [ + 10, + 17, + ] + `); + expect(source.slice(...getExpandedEnds(source, foo.value))).toMatchInlineSnapshot( + `" \\"bar\\","` + ); + }); +}); diff --git a/packages/kbn-ts-project-linter/ast/ends.ts b/packages/kbn-ts-project-linter/ast/ends.ts new file mode 100644 index 0000000000000..4d0d23076fc74 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/ends.ts @@ -0,0 +1,30 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as T from '@babel/types'; + +export function getEnds(node: T.Node): [number, number] { + const { start, end } = node; + if (start == null || end == null) { + throw new Error('missing start/end of node'); + } + return [start, end]; +} + +export function getExpandedEnds(source: string, node: T.Node): [number, number] { + let [start, end] = getEnds(node); + while (source[start - 1] === ' ' || source[start - 1] === '\n') { + start -= 1; + } + + while (source[end] === ',') { + end += 1; + } + + return [start, end]; +} diff --git a/packages/kbn-ts-project-linter/ast/exclude.test.ts b/packages/kbn-ts-project-linter/ast/exclude.test.ts new file mode 100644 index 0000000000000..9539eaed9298e --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/exclude.test.ts @@ -0,0 +1,74 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; + +import { setExclude } from './exclude'; + +describe('setExclude()', () => { + it('overwrites previous formatting', () => { + expect( + setExclude( + dedent` + { + "exclude": [1, 2, + "foo" + ] + } + `, + ['1', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"exclude\\": [ + \\"1\\", + \\"bar\\", + ] + }" + `); + }); + + it('adds the property at the end if it does not exist', () => { + expect( + setExclude( + dedent` + { + "foo": 1 + } + `, + ['1', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"foo\\": 1, + \\"exclude\\": [ + \\"1\\", + \\"bar\\", + ] + }" + `); + expect( + setExclude( + dedent` + { + "foo": 1, + } + `, + ['1', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"foo\\": 1, + \\"exclude\\": [ + \\"1\\", + \\"bar\\", + ], + }" + `); + }); +}); diff --git a/packages/kbn-ts-project-linter/ast/exclude.ts b/packages/kbn-ts-project-linter/ast/exclude.ts new file mode 100644 index 0000000000000..c66cd9a21af42 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/exclude.ts @@ -0,0 +1,28 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { getAst } from './ast'; +import { getProp } from './props'; +import { getEnds } from './ends'; +import { getEndOfLastProp } from './props'; + +export function setExclude(source: string, excludes: string[]) { + const ast = getAst(source); + const newExcludes = `"exclude": [\n${excludes + .map((e) => ` ${JSON.stringify(e)},`) + .join('\n')}\n ]`; + + const existing = getProp(ast, 'exclude'); + if (existing) { + const [start, end] = getEnds(existing); + return source.slice(0, start) + newExcludes + source.slice(end); + } + + const endOfLastProp = getEndOfLastProp(ast); + return source.slice(0, endOfLastProp) + `,\n ${newExcludes}` + source.slice(endOfLastProp); +} diff --git a/packages/kbn-ts-project-linter/ast/index.ts b/packages/kbn-ts-project-linter/ast/index.ts new file mode 100644 index 0000000000000..83fd16c681986 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/index.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { removeCompilerOption, setCompilerOption } from './compiler_options'; +export { setExclude } from './exclude'; +export { addReferences, removeReferences, replaceReferences } from './references'; diff --git a/packages/kbn-ts-project-linter/ast/props.ts b/packages/kbn-ts-project-linter/ast/props.ts new file mode 100644 index 0000000000000..00549a291b967 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/props.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { T } from './babel'; +import { getEnds } from './ends'; + +export function getProp(obj: T.ObjectExpression, name: string) { + return obj.properties.find((p): p is T.ObjectProperty & { key: T.StringLiteral } => { + return T.isObjectProperty(p) && T.isStringLiteral(p.key) && p.key.value === name; + }); +} + +export function getEndOfLastProp(obj: T.ObjectExpression) { + if (obj.properties.length === 0) { + throw new Error('object has no properties'); + } + + return obj.properties.reduce((acc, prop) => Math.max(acc, getEnds(prop)[1]), 0); +} diff --git a/packages/kbn-ts-project-linter/ast/references.test.ts b/packages/kbn-ts-project-linter/ast/references.test.ts new file mode 100644 index 0000000000000..cd3a071bddac3 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/references.test.ts @@ -0,0 +1,215 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; + +import { addReferences, removeReferences, replaceReferences } from './references'; + +describe('addReferences()', () => { + it('replaces single line refs', () => { + expect( + addReferences( + dedent` + { + "kbn_references": [] + } + `, + ['foo', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + \\"foo\\", + \\"bar\\", + ] + }" + `); + expect( + addReferences( + dedent` + { + "kbn_references": [{"path": "x"}] + } + `, + ['foo', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + { \\"path\\": \\"x\\" }, + \\"foo\\", + \\"bar\\", + ] + }" + `); + }); + it('adds items to the end of existing expanded lists', () => { + expect( + addReferences( + dedent` + { + "kbn_references": [ + // this is a comment + {"path": "b" }, + "other", + "x", + ] + } + `, + ['foo', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + // this is a comment + {\\"path\\": \\"b\\" }, + \\"other\\", + \\"x\\", + \\"foo\\", + \\"bar\\", + ] + }" + `); + expect( + addReferences( + dedent` + { + "kbn_references": [ + // this is a comment + {"path": "b" }, + "other", + "x" + ] + } + `, + ['foo', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + // this is a comment + {\\"path\\": \\"b\\" }, + \\"other\\", + \\"x\\", + \\"foo\\", + \\"bar\\" + ] + }" + `); + }); +}); + +describe('removeReferences()', () => { + it('throws if the values are not found', () => { + expect(() => + removeReferences( + dedent` + { + "kbn_references": [] + } + `, + ['foo'] + ) + ).toThrowErrorMatchingInlineSnapshot(`"unable to find reference \\"foo\\""`); + }); + it('adds removes items from single-line and expanded lists', () => { + expect( + removeReferences( + dedent` + { + "kbn_references": ["foo", "bar", "baz"] + } + `, + ['foo', 'bar'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ \\"baz\\"] + }" + `); + expect( + removeReferences( + dedent` + { + "kbn_references": [ + // this is a comment + {"path": "b" }, + "other", + "x", + ] + } + `, + ['other', 'x'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + // this is a comment + {\\"path\\": \\"b\\" }, + ] + }" + `); + expect( + removeReferences( + dedent` + { + "kbn_references": [ + // this is a comment + {"path": "b" }, + "other", + "x" + ] + } + `, + ['other'] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + // this is a comment + {\\"path\\": \\"b\\" }, + \\"x\\" + ] + }" + `); + }); +}); + +describe('replaceReferences()', () => { + it('removes the old path refs and replaces them with the given pkgId', () => { + expect( + replaceReferences( + dedent` + { + "kbn_references": [ + "@kbn/core", + { + "path": "foo", + }, + "@kbn/other", + { "path": "bar" } + ] + } + `, + [ + ['foo', '@kbn/a'], + ['bar', '@kbn/b'], + ] + ) + ).toMatchInlineSnapshot(` + "{ + \\"kbn_references\\": [ + \\"@kbn/core\\", + \\"@kbn/a\\", + \\"@kbn/other\\", + \\"@kbn/b\\" + ] + }" + `); + }); +}); diff --git a/packages/kbn-ts-project-linter/ast/references.ts b/packages/kbn-ts-project-linter/ast/references.ts new file mode 100644 index 0000000000000..6b3563f0e9111 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/references.ts @@ -0,0 +1,110 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { T } from './babel'; +import { getAst } from './ast'; +import { getEnds, getExpandedEnds } from './ends'; +import { getProp, getEndOfLastProp } from './props'; +import { snip } from './snip'; + +const PROP = 'kbn_references'; + +export function addReferences(source: string, refsToAdd: string[]) { + const ast = getAst(source); + + const existing = getProp(ast, PROP); + const value = existing?.value; + if (value && !T.isArrayExpression(value)) { + throw new Error(`expected "${PROP}" to have an array value`); + } + + if (value && value.elements.length > 0 && value.loc?.start.line !== value.loc?.end.line) { + const lastEl = value.elements.at(-1); + if (!lastEl) { + throw new Error('missing last element...'); + } + + const [, endOfLastEl] = getEnds(lastEl); + return ( + source.slice(0, endOfLastEl) + + `,\n${refsToAdd.map((r) => ` ${JSON.stringify(r)}`).join(',\n')}` + + source.slice(endOfLastEl) + ); + } + + // replace/print JSON printed refs + const refs = [...(!value ? [] : JSON.parse(source.slice(...getEnds(value)))), ...refsToAdd]; + const refsSrc = `${JSON.stringify(PROP)}: [\n${refs + .map((l) => + typeof l === 'string' + ? ` ${JSON.stringify(l)},` + : ` { "path": ${JSON.stringify(l.path)} },` + ) + .join('\n')}\n ]`; + + if (!existing) { + const endOfLastProp = getEndOfLastProp(ast); + return source.slice(0, endOfLastProp) + `,\n ${refsSrc}` + source.slice(endOfLastProp); + } + + const [start, end] = getEnds(existing); + return source.slice(0, start) + refsSrc + source.slice(end); +} + +export function removeReferences(source: string, refs: string[]) { + const ast = getAst(source); + + const existing = getProp(ast, PROP); + const value = existing?.value; + if (!value || !T.isArrayExpression(value)) { + throw new Error(`expected "${PROP}" to have an array value`); + } + + return snip( + source, + refs.map((ref) => { + const el = value.elements.find((e) => T.isStringLiteral(e) && e.value === ref); + if (!el) { + throw new Error(`unable to find reference "${ref}"`); + } + + return getExpandedEnds(source, el); + }) + ); +} + +export function replaceReferences( + source: string, + replacements: Array<[path: string, pkgId: string]> +) { + const ast = getAst(source); + + const existing = getProp(ast, PROP); + const value = existing?.value; + if (!value || !T.isArrayExpression(value)) { + throw new Error(`expected "${PROP}" to have an array value`); + } + + return snip( + source, + replacements.map(([path, pkgId]) => { + const el = value.elements.find((e) => { + if (!T.isObjectExpression(e)) return; + const prop = getProp(e, 'path'); + if (!prop || !T.isStringLiteral(prop.value)) return; + return prop.value.value === path; + }); + + if (!el) { + throw new Error(`unable to find reference with path "${path}"`); + } + + return [...getEnds(el), JSON.stringify(pkgId)]; + }) + ); +} diff --git a/packages/kbn-ts-project-linter/ast/snip.test.ts b/packages/kbn-ts-project-linter/ast/snip.test.ts new file mode 100644 index 0000000000000..b3047d1360cd7 --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/snip.test.ts @@ -0,0 +1,54 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import dedent from 'dedent'; +import { snip } from './snip'; + +describe('snip()', () => { + it('removes ranges from a string', () => { + expect(snip('abcd', [[0, 1]])).toBe('bcd'); + expect( + snip('abcd', [ + [0, 1], + [2, 3], + ]) + ).toBe('bd'); + }); + + it('handles weirdly ordered and overlapping ranges', () => { + expect( + snip( + dedent` + This is the sentence and I would like to remove specific words to make it say something else. + `, + [ + [29, 59], + [30, 41], + [78, 80], + [12, 25], + [87, 92], + ] + ) + ).toMatchInlineSnapshot(`"This is the I words to make it say mething."`); + }); + + it('throws if the snips are misordered', () => { + expect(() => snip('foo', [[2, 1]])).toThrowErrorMatchingInlineSnapshot( + `"snips can not be reversed, received [2,1]"` + ); + }); + + it("supports snips with replacements, as long as they don't overlap", () => { + expect( + snip('foo bar', [ + [2, 3, 'Oo0'], + [4, 5, 'BbB'], + ]) + ).toMatchInlineSnapshot(`"foOo0 BbBar"`); + }); +}); diff --git a/packages/kbn-ts-project-linter/ast/snip.ts b/packages/kbn-ts-project-linter/ast/snip.ts new file mode 100644 index 0000000000000..c9c9915475e0e --- /dev/null +++ b/packages/kbn-ts-project-linter/ast/snip.ts @@ -0,0 +1,44 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +type Snip = [number, number] | [number, number, string]; +export function snip(source: string, snips: Snip[]) { + const queue = snips + .map((s): Snip => { + if (s[0] > s[1]) { + throw new Error(`snips can not be reversed, received [${s}]`); + } + return s; + }) + // sort snips by their starting position + .sort((a, b) => a[0] - b[0]) + // merge snips that overlap + .reduce((acc: Snip[], s) => { + const prev = acc.at(-1); + if (!prev || prev[1] < s[0]) { + return [...acc, s]; + } + + if (prev[2] || s[2]) { + throw new Error('snip() does not support replacement snips which overlap'); + } + + const merged: Snip = [Math.min(prev[0], s[0]), Math.max(prev[1], s[1])]; + return [...acc.slice(0, -1), merged]; + }, []); + + let offset = 0; + let snipped = source; + for (const [start, end, replacement = ''] of queue) { + snipped = snipped.slice(0, start + offset) + replacement + snipped.slice(end + offset); + const origLen = end - start; + offset += replacement.length - origLen; + } + + return snipped; +} diff --git a/packages/kbn-ts-project-linter/index.ts b/packages/kbn-ts-project-linter/index.ts new file mode 100644 index 0000000000000..7dd644fd6c4b2 --- /dev/null +++ b/packages/kbn-ts-project-linter/index.ts @@ -0,0 +1,10 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { lintProjects } from './lib/lint_projects'; +export { ProjectFileMap } from './lib/project_file_map'; diff --git a/packages/kbn-ts-project-linter/jest.config.js b/packages/kbn-ts-project-linter/jest.config.js new file mode 100644 index 0000000000000..fb273e1cafeaf --- /dev/null +++ b/packages/kbn-ts-project-linter/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-ts-project-linter'], +}; diff --git a/packages/kbn-ts-project-linter/kibana.jsonc b/packages/kbn-ts-project-linter/kibana.jsonc new file mode 100644 index 0000000000000..ea1fe1715beeb --- /dev/null +++ b/packages/kbn-ts-project-linter/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/ts-project-linter", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-ts-project-linter/lib/import_locator.ts b/packages/kbn-ts-project-linter/lib/import_locator.ts new file mode 100644 index 0000000000000..20d6ab013fcb3 --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/import_locator.ts @@ -0,0 +1,79 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// based on the code in https://github.com/nrwl/nx/blob/e12922b02908c90797e038324f2afa4bf69e2eab/packages/nx/src/project-graph/build-dependencies/typescript-import-locator.ts#L62 +// simplified to focuse on what we need, see license info in ./strip_source_code + +import Fsp from 'fs/promises'; +import Ts from 'typescript'; +import { RepoPath } from '@kbn/repo-path'; + +import { stripSourceCode } from './strip_source_code'; + +const EMPTY = new Set(); + +export class TypeScriptImportLocator { + private readonly scanner: Ts.Scanner; + + constructor() { + this.scanner = Ts.createScanner(Ts.ScriptTarget.Latest, false, Ts.LanguageVariant.JSX); + } + + async get(path: RepoPath): Promise> { + const content = await Fsp.readFile(path.abs, 'utf8'); + const strippedContent = stripSourceCode(this.scanner, content); + if (strippedContent === '') { + return EMPTY; + } + + const imports = new Set(); + const queue: Ts.Node[] = [ + Ts.createSourceFile(path.abs, strippedContent, Ts.ScriptTarget.Latest, true), + ]; + const addNodeToQueue = (n: Ts.Node) => { + queue.push(n); + }; + + while (queue.length) { + const node = queue.shift()!; + + if ( + (Ts.isImportDeclaration(node) || Ts.isExportDeclaration(node)) && + node.moduleSpecifier && + Ts.isStringLiteral(node.moduleSpecifier) + ) { + imports.add(node.moduleSpecifier.text); + continue; + } + + if ( + Ts.isCallExpression(node) && + node.expression.kind === Ts.SyntaxKind.ImportKeyword && + node.arguments.length === 1 && + Ts.isStringLiteral(node.arguments[0]) + ) { + imports.add(node.arguments[0].text); + continue; + } + + if ( + Ts.isCallExpression(node) && + node.expression.getText() === 'require' && + node.arguments.length === 1 && + Ts.isStringLiteral(node.arguments[0]) + ) { + imports.add(node.arguments[0].text); + continue; + } + + Ts.forEachChild(node, addNodeToQueue); + } + + return imports; + } +} diff --git a/packages/kbn-ts-project-linter/lib/lint_projects.ts b/packages/kbn-ts-project-linter/lib/lint_projects.ts new file mode 100644 index 0000000000000..590b886563097 --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/lint_projects.ts @@ -0,0 +1,117 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Fs from 'fs'; +import Path from 'path'; + +import { ToolingLog } from '@kbn/tooling-log'; +import { Project } from '@kbn/ts-projects'; + +import { PROJECT_LINTER_RULES } from '../rules'; +import { ProjectFileMap } from './project_file_map'; +import { Rule, NamedViolation } from './rule'; + +export interface LintOptions { + fix: boolean; + projectFileMap: ProjectFileMap; + skipRefs?: boolean; +} + +export async function lintProjects(log: ToolingLog, projects: Project[], options: LintOptions) { + let errorCount = 0; + let fixedCount = 0; + const ruleCache = new Map(); + + if (options.skipRefs) { + log.warning('skipping [referenceUsedPkgs] rule'); + } + + for (const project of projects) { + log.debug('starting to lint project:', project.name); + const unfixedJsonc = Fs.readFileSync(project.path, 'utf8'); + const unfixedErrors: NamedViolation[] = []; + let fixedJsonc = unfixedJsonc; + + await log.indent(4, async () => { + let haveNewFixes = false; + + for (const rule of PROJECT_LINTER_RULES) { + if (options.skipRefs && rule.name === 'referenceUsedPkgs') { + continue; + } + + if (haveNewFixes) { + haveNewFixes = false; + log.debug('overriding config with fixed config'); + project.overrideConfig(fixedJsonc); + } + + log.debug('rule:', rule.name); + await log.indent(4, async () => { + const errors = await rule.check(project, ruleCache, options.projectFileMap); + for (const error of errors) { + if (!error.fix || !options.fix) { + unfixedErrors.push(error); + continue; + } + + let update; + try { + update = error.fix(fixedJsonc); + } catch (e) { + log.debug(`error fixing project:`, e); + } + + if (update !== undefined && update !== fixedJsonc) { + fixedJsonc = update; + haveNewFixes = true; + } else { + unfixedErrors.push(error); + } + } + }); + } + }); + + if (fixedJsonc !== unfixedJsonc) { + Fs.writeFileSync(project.path, fixedJsonc, 'utf8'); + project.reloadFromDisk(); + log.debug('fixed', project.path); + fixedCount += 1; + } + + if (unfixedErrors.length) { + let msg = `Lint errors in ${Path.relative(process.cwd(), project.path)}:\n`; + for (const error of unfixedErrors) { + msg += ` [${error.name}]: ${error.msg}\n`; + } + errorCount += 1; + log.error(msg); + } + } + + if (fixedCount) { + log.success(`Applied ${fixedCount} fixes to projects`); + } + + if (errorCount) { + if (options.fix) { + log.error(`Found ${errorCount} un-fixable errors when linting projects.`); + } else { + log.error( + `Found ${errorCount} errors when linting projects. Pass --fix to try auto-fixing them.` + ); + } + } else { + log.success('All TS projects linted successfully'); + } + + return { + lintingErrorCount: errorCount, + }; +} diff --git a/packages/kbn-ts-project-linter/lib/project_file_map.ts b/packages/kbn-ts-project-linter/lib/project_file_map.ts new file mode 100644 index 0000000000000..eac7e369b7fc0 --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/project_file_map.ts @@ -0,0 +1,58 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import globby from 'globby'; + +import { asyncForEachWithLimit } from '@kbn/std'; +import { RepoPath } from '@kbn/repo-path'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { Project } from '@kbn/ts-projects'; + +export class ProjectFileMap { + private readonly filesByProject = new Map(); + + async preload(projects: Project[]) { + await asyncForEachWithLimit(projects, 5, async (project) => { + const paths = await globby(project.config.include ?? [], { + ignore: project.config.exclude ?? [], + cwd: project.directory, + onlyFiles: true, + absolute: true, + }); + + this.filesByProject.set( + project, + paths.map((path) => new RepoPath(REPO_ROOT, Path.relative(REPO_ROOT, path))) + ); + }); + } + + getFiles(project: Project) { + const cached = this.filesByProject.get(project); + if (cached) { + return cached; + } + + const files = globby + .sync(project.config.include ?? [], { + ignore: project.config.exclude ?? [], + cwd: project.directory, + onlyFiles: true, + absolute: true, + }) + .map((abs) => { + return new RepoPath(REPO_ROOT, Path.relative(REPO_ROOT, abs)); + }); + + this.filesByProject.set(project, files); + + return files; + } +} diff --git a/packages/kbn-ts-project-linter/lib/rule.ts b/packages/kbn-ts-project-linter/lib/rule.ts new file mode 100644 index 0000000000000..6a1b92803af7f --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/rule.ts @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Project } from '@kbn/ts-projects'; + +import { ProjectFileMap } from './project_file_map'; +import { RuleContext } from './rule_context'; + +export interface NamedViolation extends Violation { + name: string; +} + +export interface Violation { + msg: string; + fix?(source: string): string; +} + +export type CheckFn = ( + this: RuleContext, + project: Project +) => void | Violation[] | Violation | string | Promise; + +export class Rule { + static create(name: string, options: { check: CheckFn }) { + return new Rule(name, options.check); + } + + private constructor(public readonly name: string, private readonly fn: CheckFn) {} + + async check(project: Project, ruleCache: Map, projectFileMap: ProjectFileMap) { + const failures: NamedViolation[] = []; + + const ctx = new RuleContext(failures, project, this, ruleCache, projectFileMap); + const extraFailures = (await this.fn.call(ctx, project)) ?? []; + + for (const failure of Array.isArray(extraFailures) ? extraFailures : [extraFailures]) { + if (typeof failure === 'string') { + failures.push({ + name: this.name, + msg: failure, + }); + } else { + failures.push({ + name: this.name, + ...failure, + }); + } + } + + return failures; + } +} diff --git a/packages/kbn-ts-project-linter/lib/rule_context.ts b/packages/kbn-ts-project-linter/lib/rule_context.ts new file mode 100644 index 0000000000000..cdf05278f5d7c --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/rule_context.ts @@ -0,0 +1,57 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { Project } from '@kbn/ts-projects'; + +import { ProjectFileMap } from './project_file_map'; +import { NamedViolation, Rule } from './rule'; + +export class RuleContext { + constructor( + private readonly failures: NamedViolation[], + private readonly project: Project, + private readonly rule: Rule, + private readonly ruleCache: Map, + private readonly projectFileMap: ProjectFileMap + ) {} + + getCache(init: () => T) { + const cached = this.ruleCache.get(this.rule) as T | undefined; + if (cached !== undefined) { + return cached; + } + + const value = init(); + this.ruleCache.set(this.rule, value); + return value; + } + + /** + * Report an error with an optional fix for that erro + */ + err(msg: string, fix?: (source: string) => string) { + this.failures.push({ + name: this.rule.name, + msg, + fix, + }); + } + + /** + * Resolve a path relative to the directory of the current project being linted + */ + resolve(rel: string) { + return Path.resolve(this.project.directory, rel); + } + + getAllFiles() { + return this.projectFileMap.getFiles(this.project); + } +} diff --git a/packages/kbn-ts-project-linter/lib/strip_source_code.ts b/packages/kbn-ts-project-linter/lib/strip_source_code.ts new file mode 100644 index 0000000000000..f12810970c49b --- /dev/null +++ b/packages/kbn-ts-project-linter/lib/strip_source_code.ts @@ -0,0 +1,137 @@ +/* eslint-disable @kbn/eslint/require-license-header */ +/* eslint-disable @typescript-eslint/no-shadow */ + +// pulled from https://github.com/nrwl/nx/blob/e12922b02908c90797e038324f2afa4bf69e2eab/packages/nx/src/utils/strip-source-code.ts#L4 + +/** + * @notice + * + * This project includes code from the NX project, which is MIT licensed: + * + * (The MIT License) + * + * Copyright (c) 2017-2022 Narwhal Technologies Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +import { SyntaxKind } from 'typescript'; +import type { Scanner } from 'typescript'; + +export function stripSourceCode(scanner: Scanner, contents: string): string { + scanner.setText(contents); + let token = scanner.scan(); + const statements = []; + let start = null; + while (token !== SyntaxKind.EndOfFileToken) { + const potentialStart = scanner.getStartPos(); + switch (token) { + case SyntaxKind.MultiLineCommentTrivia: + case SyntaxKind.SingleLineCommentTrivia: { + const isMultiLineCommentTrivia = token === SyntaxKind.MultiLineCommentTrivia; + const start = potentialStart + 2; + token = scanner.scan(); + const end = scanner.getStartPos() - (isMultiLineCommentTrivia ? 2 : 0); + const comment = contents.substring(start, end).trim(); + if (comment === 'nx-ignore-next-line') { + // reading till the end of the line + while (token === SyntaxKind.WhitespaceTrivia || token === SyntaxKind.NewLineTrivia) { + token = scanner.scan(); + } + + // ignore next line + while (token !== SyntaxKind.NewLineTrivia && token !== SyntaxKind.EndOfFileToken) { + token = scanner.scan(); + } + } + break; + } + + case SyntaxKind.RequireKeyword: + case SyntaxKind.ImportKeyword: { + token = scanner.scan(); + while (token === SyntaxKind.WhitespaceTrivia || token === SyntaxKind.NewLineTrivia) { + token = scanner.scan(); + } + start = potentialStart; + break; + } + + case SyntaxKind.ExportKeyword: { + token = scanner.scan(); + while (token === SyntaxKind.WhitespaceTrivia || token === SyntaxKind.NewLineTrivia) { + token = scanner.scan(); + } + if ( + token === SyntaxKind.OpenBraceToken || + token === SyntaxKind.AsteriskToken || + token === SyntaxKind.TypeKeyword + ) { + start = potentialStart; + } + break; + } + + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: { + while (true) { + token = scanner.scan(); + + if (token === SyntaxKind.SlashToken) { + token = scanner.reScanSlashToken(); + } + + if (token === SyntaxKind.EndOfFileToken) { + // either the template is unterminated, or there + // is some other edge case we haven't compensated for + break; + } + + if (token === SyntaxKind.CloseBraceToken) { + token = scanner.reScanTemplateToken(false); + break; + } + } + break; + } + + case SyntaxKind.StringLiteral: { + if (start !== null) { + token = scanner.scan(); + if (token === SyntaxKind.CloseParenToken) { + token = scanner.scan(); + } + const end = scanner.getStartPos(); + statements.push(contents.substring(start, end)); + start = null; + } else { + token = scanner.scan(); + } + break; + } + + default: { + token = scanner.scan(); + } + } + } + + return statements.join('\n'); +} diff --git a/packages/kbn-ts-project-linter/package.json b/packages/kbn-ts-project-linter/package.json new file mode 100644 index 0000000000000..aadde23f6811b --- /dev/null +++ b/packages/kbn-ts-project-linter/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/ts-project-linter", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-ts-project-linter/rules/forbidden_compiler_options.ts b/packages/kbn-ts-project-linter/rules/forbidden_compiler_options.ts new file mode 100644 index 0000000000000..f9d1cf8d4a221 --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/forbidden_compiler_options.ts @@ -0,0 +1,39 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Rule } from '../lib/rule'; +import { removeCompilerOption } from '../ast'; + +const NAMES = [ + 'declaration', + 'declarationMap', + 'emitDeclarationOnly', + 'skipLibCheck', + 'target', + 'paths', +]; + +export const forbiddenCompilerOptions = Rule.create('forbiddenCompilerOptions', { + check({ config, repoRel }) { + for (const optName of NAMES) { + if (repoRel === '.buildkite/tsconfig.json' && optName === 'paths') { + // allow "paths" in this specific config file + continue; + } + + const value = config.compilerOptions?.[optName]; + if (value === undefined) { + continue; + } + + this.err(`specifying the "${optName}" compiler option is forbidden`, (source) => { + return removeCompilerOption(source, optName); + }); + } + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/index.ts b/packages/kbn-ts-project-linter/rules/index.ts new file mode 100644 index 0000000000000..4ed4b40e8ab98 --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/index.ts @@ -0,0 +1,25 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { forbiddenCompilerOptions } from './forbidden_compiler_options'; +import { refPkgsIds } from './reference_pkg_ids'; +import { requiredCompilerOptions } from './required_compiler_options'; +import { validBaseConfig } from './valid_base_config'; +import { requiredExcludes } from './required_excludes'; +import { requiredFileSelectors } from './required_file_selectors'; +import { referenceUsedPkgs } from './reference_used_pkgs'; + +export const PROJECT_LINTER_RULES = [ + forbiddenCompilerOptions, + refPkgsIds, + requiredCompilerOptions, + validBaseConfig, + requiredExcludes, + requiredFileSelectors, + referenceUsedPkgs, +]; diff --git a/packages/kbn-ts-project-linter/rules/reference_pkg_ids.ts b/packages/kbn-ts-project-linter/rules/reference_pkg_ids.ts new file mode 100644 index 0000000000000..f8b3209f8d37f --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/reference_pkg_ids.ts @@ -0,0 +1,56 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/repo-info'; +import { readPackageMap } from '@kbn/package-map'; + +import { Rule } from '../lib/rule'; +import { replaceReferences } from '../ast'; + +export const refPkgsIds = Rule.create('refPkgIds', { + check(proj) { + const dirsToPkgIds = this.getCache(() => { + const pkgMap = readPackageMap(); + return new Map(Array.from(pkgMap).map(([k, v]) => [v, k])); + }); + + const getPkgId = (tsconfigPath: string) => + dirsToPkgIds.get(Path.relative(REPO_ROOT, Path.dirname(tsconfigPath))); + + const replaceWithPkgId: Array<[string, string]> = []; + + for (const ref of proj.config.kbn_references ?? []) { + if (typeof ref === 'string' || ref.force === true) { + continue; + } + + const refPath = Path.resolve(proj.directory, ref.path); + const pkgIdJson = getPkgId(refPath); + if (pkgIdJson) { + replaceWithPkgId.push([ref.path, pkgIdJson]); + } + } + + if (!replaceWithPkgId.length) { + return; + } + + const list = replaceWithPkgId + .map(([from, to]) => ` - {"path": "${from}"} => ${JSON.stringify(to)}`) + .join('\n'); + + return { + msg: `kbn_references must use pkgIds to refer to other packages (use --fix to autofix, or add "force": true to ignore):\n${list}`, + fix(source) { + return replaceReferences(source, replaceWithPkgId); + }, + }; + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/reference_used_pkgs.ts b/packages/kbn-ts-project-linter/rules/reference_used_pkgs.ts new file mode 100644 index 0000000000000..5160701efdffe --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/reference_used_pkgs.ts @@ -0,0 +1,65 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { asyncForEachWithLimit } from '@kbn/std'; + +import { Rule } from '../lib/rule'; +import { TypeScriptImportLocator } from '../lib/import_locator'; +import { addReferences, removeReferences } from '../ast'; + +export const referenceUsedPkgs = Rule.create('referenceUsedPkgs', { + async check(project) { + const importLocator = this.getCache(() => new TypeScriptImportLocator()); + const usedPkgIds = new Set(); + + await asyncForEachWithLimit(this.getAllFiles(), 20, async (path) => { + if (!path.isTypeScript() && !path.isJavaScript()) { + return; + } + + for (const req of await importLocator.get(path)) { + if (!req.startsWith('@kbn/')) { + continue; + } + + const [, id] = req.split('/'); + usedPkgIds.add(`@kbn/${id}`); + } + }); + + const refs = new Set( + (project.config.kbn_references ?? []).flatMap((r) => (typeof r === 'string' ? r : [])) + ); + const missing = new Set(); + const extra = new Set(refs); + for (const used of usedPkgIds) { + extra.delete(used); + if (!refs.has(used)) { + missing.add(used); + } + } + + if (missing.size) { + const ids = Array.from(missing); + const list = ids.map((id) => ` - ${id}`).join('\n'); + this.err( + `the following packages are referenced in the code of this package but not listed in kbn_references:\n${list}`, + (source) => addReferences(source, ids) + ); + } + + if (extra.size) { + const ids = Array.from(extra); + const list = ids.map((id) => ` - ${id}`).join('\n'); + this.err( + `the following packages are listed in kbn_references but there are no detectable references in the code:\n${list}`, + (source) => removeReferences(source, ids) + ); + } + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/required_compiler_options.ts b/packages/kbn-ts-project-linter/rules/required_compiler_options.ts new file mode 100644 index 0000000000000..8c5f0f374656b --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/required_compiler_options.ts @@ -0,0 +1,24 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Rule } from '../lib/rule'; +import { setCompilerOption } from '../ast'; + +const REQUIRED: Array<[string, string]> = [['outDir', 'target/types']]; + +export const requiredCompilerOptions = Rule.create('requiredCompilerOptions', { + check({ config }) { + for (const [key, value] of REQUIRED) { + if (config.compilerOptions?.[key] !== value) { + this.err(`the value of the compiler option "${key}" must be set to "${value}"`, (source) => + setCompilerOption(source, key, value) + ); + } + } + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/required_excludes.ts b/packages/kbn-ts-project-linter/rules/required_excludes.ts new file mode 100644 index 0000000000000..54f084c33f98e --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/required_excludes.ts @@ -0,0 +1,41 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Rule } from '../lib/rule'; +import { setExclude } from '../ast'; + +const REQUIRED_EXCLUDES = ['target/**/*']; + +export const requiredExcludes = Rule.create('requiredExcludes', { + check(project) { + const existing = project.config.exclude; + if (!existing) { + return { + msg: `excludes must be defined and include "${REQUIRED_EXCLUDES.join('", "')}"`, + fix: (source) => setExclude(source, REQUIRED_EXCLUDES), + }; + } + + const missing = REQUIRED_EXCLUDES.filter((re) => !existing.includes(re)); + if (missing.length) { + return { + msg: `excludes must include "${REQUIRED_EXCLUDES.join('", "')}"`, + fix: (source) => + setExclude(source, [ + ...(missing.includes('target/**/*') + ? existing.filter((e) => { + const normalized = e.startsWith('./') ? e.slice(2) : e; + return normalized === 'target' || normalized.startsWith('target/'); + }) + : existing), + ...missing, + ]), + }; + } + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/required_file_selectors.ts b/packages/kbn-ts-project-linter/rules/required_file_selectors.ts new file mode 100644 index 0000000000000..d04f06409f2e2 --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/required_file_selectors.ts @@ -0,0 +1,19 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Rule } from '../lib/rule'; + +export const requiredFileSelectors = Rule.create('requiredFileSelectors', { + check(project) { + if (!project.config.include || project.config.files) { + return { + msg: 'every ts project must use the "include" key (and not the "files" key) to select the files for that project', + }; + } + }, +}); diff --git a/packages/kbn-ts-project-linter/rules/valid_base_config.ts b/packages/kbn-ts-project-linter/rules/valid_base_config.ts new file mode 100644 index 0000000000000..410f313851d20 --- /dev/null +++ b/packages/kbn-ts-project-linter/rules/valid_base_config.ts @@ -0,0 +1,37 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/repo-info'; +import { Project } from '@kbn/ts-projects'; + +import { Rule } from '../lib/rule'; + +function getBaseConfigRels(proj: Project): string[] { + const base = proj.getBase(); + if (!base) { + return []; + } + return [base.repoRel, ...getBaseConfigRels(base)]; +} + +export const validBaseConfig = Rule.create('validBaseConfig', { + check(proj) { + const baseConfigRels = getBaseConfigRels(proj); + + if (baseConfigRels[0] === 'tsconfig.json') { + return `This tsconfig extends the root tsconfig.json file and shouldn't. The root tsconfig.json file is not a valid base config, you probably want to point to the tsconfig.base.json file.`; + } + + const configRel = Path.relative(REPO_ROOT, proj.path); + if (configRel !== 'tsconfig.base.json' && !baseConfigRels.includes('tsconfig.base.json')) { + return `This tsconfig does not extend the tsconfig.base.json file either directly or indirectly. The TS config setup for the repo expects every tsconfig file to extend this base config file.`; + } + }, +}); diff --git a/packages/kbn-ts-project-linter/tsconfig.json b/packages/kbn-ts-project-linter/tsconfig.json new file mode 100644 index 0000000000000..14d04db83cb9d --- /dev/null +++ b/packages/kbn-ts-project-linter/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/bazel-packages", + "@kbn/tooling-log", + "@kbn/ts-projects", + "@kbn/std", + "@kbn/repo-path", + "@kbn/repo-info", + "@kbn/package-map", + ] +} diff --git a/packages/kbn-ts-projects/README.md b/packages/kbn-ts-projects/README.md new file mode 100644 index 0000000000000..5f89b7e6c1067 --- /dev/null +++ b/packages/kbn-ts-projects/README.md @@ -0,0 +1,3 @@ +# @kbn/ts-projects + +Empty package generated by @kbn/generate diff --git a/packages/kbn-ts-projects/index.ts b/packages/kbn-ts-projects/index.ts new file mode 100644 index 0000000000000..cb565b3a73bfc --- /dev/null +++ b/packages/kbn-ts-projects/index.ts @@ -0,0 +1,11 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { Project } from './project'; +export { PROJECTS } from './projects'; +export type { TsConfig } from './ts_configfile'; diff --git a/packages/kbn-ts-projects/jest.config.js b/packages/kbn-ts-projects/jest.config.js new file mode 100644 index 0000000000000..23c8bd7613782 --- /dev/null +++ b/packages/kbn-ts-projects/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-ts-projects'], +}; diff --git a/packages/kbn-ts-projects/kibana.jsonc b/packages/kbn-ts-projects/kibana.jsonc new file mode 100644 index 0000000000000..f73c7a91f73d4 --- /dev/null +++ b/packages/kbn-ts-projects/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/ts-projects", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-ts-projects/package.json b/packages/kbn-ts-projects/package.json new file mode 100644 index 0000000000000..32d2347fda8c8 --- /dev/null +++ b/packages/kbn-ts-projects/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/ts-projects", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-ts-projects/project.ts b/packages/kbn-ts-projects/project.ts new file mode 100644 index 0000000000000..7fb658443e75c --- /dev/null +++ b/packages/kbn-ts-projects/project.ts @@ -0,0 +1,158 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/repo-info'; +import { PackageMap } from '@kbn/package-map'; + +import { readTsConfig, parseTsConfig, TsConfig } from './ts_configfile'; + +export interface ProjectOptions { + name?: string; + disableTypeCheck?: boolean; +} + +type KbnRef = string | { path: string; force?: boolean }; +function isValidKbnRefs(refs: unknown): refs is KbnRef[] { + return ( + Array.isArray(refs) && + refs.every( + (r) => + typeof r === 'string' || + (typeof r === 'object' && r !== null && 'path' in r && typeof r.path === 'string') + ) + ); +} + +export class Project { + /** + * The parsed config file from disk + */ + public config: TsConfig; + + /** absolute path to the tsconfig file defininig this project */ + public readonly path: string; + /** repo relative path to the tsconfig file defininig this project */ + public readonly repoRel: string; + /** name of this project */ + public readonly name: string; + /** The directory containing this ts project */ + public readonly dir: string; + /** The directory containing this ts project */ + public readonly directory: string; + + /** absolute path to the tsconfig file that will be generated for type checking this file */ + public readonly typeCheckConfigPath: string; + /** `true` if we want to explicitly exclude this entire project from type checking */ + public readonly disableTypeCheck: boolean; + + constructor(private readonly others: Map, path: string, opts?: ProjectOptions) { + if (!Path.isAbsolute(path)) { + throw new Error(`Unable to create ts Project from relative path [${path}]`); + } + + this.path = path; + this.config = readTsConfig(this.path); + this.repoRel = Path.relative(REPO_ROOT, path); + this.name = opts?.name || this.repoRel; + this.dir = this.directory = Path.dirname(path); + + this.typeCheckConfigPath = Path.resolve( + this.directory, + Path.basename(this.repoRel, '.json') + '.type_check.json' + ); + + this.disableTypeCheck = !!opts?.disableTypeCheck; + } + + /** + * updates the project so that the tsconfig file will be + * read from disk the next time that this.config is accessed + */ + public reloadFromDisk() { + this.config = readTsConfig(this.path); + } + + public overrideConfig(jsonc: string) { + try { + this.config = parseTsConfig(this.path, jsonc); + } catch (error) { + throw new Error(`unable to parse jsonc in order to override config: ${error.message}`); + } + } + + /** + * Gets the base config file for this tsconfig file. If the + * "extends" key is not defined this returns undefined + */ + public getBase(): Project | undefined { + if (!this.config.extends) { + return undefined; + } + + return this.getOther( + Path.resolve(this.directory, this.config.extends), + `extends: ${JSON.stringify(this.config.extends)}` + ); + } + + /** + * Get the kbnRefs for this project + */ + public getKbnRefs(pkgMap: PackageMap) { + if (!this.config.kbn_references) { + return []; + } + + if (!isValidKbnRefs(this.config.kbn_references)) { + throw new Error(`invalid kbn_references in ${this.name}`); + } + + return this.config.kbn_references.flatMap((ref) => { + if (typeof ref !== 'string') { + return ( + this.getOther( + Path.resolve(this.directory, ref.path), + `kbn_references: ${JSON.stringify(ref)}` + ) ?? [] + ); + } + + const pkgDir = pkgMap.get(ref); + if (!pkgDir) { + throw new Error(`invalid kbn_references in ${this.name}: ${ref} is not a known package`); + } + + return ( + this.getOther( + Path.resolve(pkgDir, 'tsconfig.json'), + `kbn_references: ${JSON.stringify(ref)}` + ) ?? [] + ); + }); + } + + private getOther(abs: string, from: string) { + const cached = this.others.get(abs); + if (cached) { + return cached; + } + + try { + const base = new Project(this.others, abs); + this.others.set(abs, base); + return base; + } catch (error) { + if (error.code === 'ENOENT') { + return undefined; + } + throw new Error(`Failed to load tsconfig file from ${from}: ${error.message}`); + } + } +} diff --git a/src/dev/typescript/projects.ts b/packages/kbn-ts-projects/projects.ts similarity index 95% rename from src/dev/typescript/projects.ts rename to packages/kbn-ts-projects/projects.ts index 7afb1e4649cb9..0966f8023bc39 100644 --- a/src/dev/typescript/projects.ts +++ b/packages/kbn-ts-projects/projects.ts @@ -8,7 +8,7 @@ import globby from 'globby'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { BAZEL_PACKAGE_DIRS } from '@kbn/bazel-packages'; import { Project, ProjectOptions } from './project'; @@ -19,9 +19,7 @@ import { Project, ProjectOptions } from './project'; export const PROJECT_CACHE = new Map(); const createProject = (rootRelativePath: string, options: ProjectOptions = {}) => - Project.load(Path.resolve(REPO_ROOT, rootRelativePath), options, { - cache: PROJECT_CACHE, - }); + new Project(PROJECT_CACHE, Path.resolve(REPO_ROOT, rootRelativePath), options); const findProjects = (patterns: string[]) => globby.sync(patterns, { cwd: REPO_ROOT }).map((path) => createProject(path)); @@ -31,7 +29,6 @@ export const PROJECTS = [ createProject('test/tsconfig.json', { name: 'kibana/test' }), createProject('x-pack/test/tsconfig.json', { name: 'x-pack/test' }), createProject('x-pack/performance/tsconfig.json', { name: 'x-pack/performance' }), - ...findProjects(['src/*/tsconfig.json']), createProject('.buildkite/tsconfig.json', { // this directory has additionally dependencies which scripts/type_check can't guarantee // are present or up-to-date, and users likely won't know how to manage either, so the @@ -67,7 +64,6 @@ export const PROJECTS = [ }), createProject('x-pack/plugins/apm/ftr_e2e/tsconfig.json', { name: 'apm/ftr_e2e', - disableTypeCheck: true, }), createProject('x-pack/plugins/fleet/cypress/tsconfig.json', { name: 'fleet/cypress', @@ -91,6 +87,7 @@ export const PROJECTS = [ // Glob patterns to be all search at once ...findProjects([ + 'src/*/tsconfig.json', 'src/plugins/*/tsconfig.json', 'src/plugins/chart_expressions/*/tsconfig.json', 'src/plugins/vis_types/*/tsconfig.json', diff --git a/packages/kbn-ts-projects/ts_configfile.ts b/packages/kbn-ts-projects/ts_configfile.ts new file mode 100644 index 0000000000000..c4cf8f5fe7dcc --- /dev/null +++ b/packages/kbn-ts-projects/ts_configfile.ts @@ -0,0 +1,49 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Fs from 'fs'; + +import { parseConfigFileTextToJson } from 'typescript'; + +export interface TsConfig { + extends?: string; + compilerOptions?: { + types?: string[]; + [key: string]: unknown; + }; + include?: string[]; + exclude?: string[]; + kbn_references?: Array; + [key: string]: unknown; +} + +export function parseTsConfig(tsConfigPath: string, jsonc: string): TsConfig { + const { error, config } = parseConfigFileTextToJson(tsConfigPath, jsonc); + + if (error) { + throw new Error(`tsconfig parse error: [${error.file}] ${error.messageText}`); + } + + return config; +} + +export function readTsConfig(tsConfigPath: string): TsConfig { + try { + return parseTsConfig(tsConfigPath, Fs.readFileSync(tsConfigPath, 'utf8')); + } catch (error) { + if (error.code === 'ENOENT') { + const err = new Error( + `unable to read tsconfig file at ${tsConfigPath}. File does not exist.` + ); + Object.assign(err, { code: error.code }); + throw err; + } + + throw error; + } +} diff --git a/packages/kbn-ts-projects/tsconfig.json b/packages/kbn-ts-projects/tsconfig.json new file mode 100644 index 0000000000000..7394e3b03ea73 --- /dev/null +++ b/packages/kbn-ts-projects/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/repo-info", + "@kbn/bazel-packages", + "@kbn/package-map", + ] +} diff --git a/packages/kbn-ts-type-check-cli/README.md b/packages/kbn-ts-type-check-cli/README.md new file mode 100644 index 0000000000000..aed9220842476 --- /dev/null +++ b/packages/kbn-ts-type-check-cli/README.md @@ -0,0 +1,3 @@ +# @kbn/ts-type-check-cli + +Empty package generated by @kbn/generate diff --git a/packages/kbn-ts-type-check-cli/jest.config.js b/packages/kbn-ts-type-check-cli/jest.config.js new file mode 100644 index 0000000000000..a5a9aedfff02f --- /dev/null +++ b/packages/kbn-ts-type-check-cli/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-ts-type-check-cli'], +}; diff --git a/packages/kbn-ts-type-check-cli/kibana.jsonc b/packages/kbn-ts-type-check-cli/kibana.jsonc new file mode 100644 index 0000000000000..dc98e123efb00 --- /dev/null +++ b/packages/kbn-ts-type-check-cli/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "shared-common", + "id": "@kbn/ts-type-check-cli", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-ts-type-check-cli/package.json b/packages/kbn-ts-type-check-cli/package.json new file mode 100644 index 0000000000000..64b7904e87db0 --- /dev/null +++ b/packages/kbn-ts-type-check-cli/package.json @@ -0,0 +1,7 @@ +{ + "name": "@kbn/ts-type-check-cli", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0", + "main": "./run_type_check_cli" +} diff --git a/src/dev/typescript/root_refs_config.ts b/packages/kbn-ts-type-check-cli/root_refs_config.ts similarity index 83% rename from src/dev/typescript/root_refs_config.ts rename to packages/kbn-ts-type-check-cli/root_refs_config.ts index ebbc1574d85c5..43d64e5d972f4 100644 --- a/src/dev/typescript/root_refs_config.ts +++ b/packages/kbn-ts-type-check-cli/root_refs_config.ts @@ -10,13 +10,11 @@ import Path from 'path'; import Fsp from 'fs/promises'; import dedent from 'dedent'; +import normalize from 'normalize-path'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createFailError } from '@kbn/dev-cli-errors'; -import { BazelPackage } from '@kbn/bazel-packages'; -import normalize from 'normalize-path'; - -import { PROJECTS } from './projects'; +import { PROJECTS } from '@kbn/ts-projects'; export const ROOT_REFS_CONFIG_PATH = Path.resolve(REPO_ROOT, 'tsconfig.refs.json'); export const REF_CONFIG_PATHS = [ROOT_REFS_CONFIG_PATH]; @@ -46,18 +44,15 @@ ${refs.map((p) => ` { "path": ${JSON.stringify(p)} },`).join('\n')} `; } -export async function updateRootRefsConfig(log: ToolingLog, bazelPackages: BazelPackage[]) { +export async function updateRootRefsConfig(log: ToolingLog) { if (await isRootRefsConfigSelfManaged()) { throw createFailError( `tsconfig.refs.json starts with "// SELF MANAGED" but we removed this functinality because of some complexity it caused with TS performance upgrades and we were pretty sure that nobody was using it. Please reach out to operations to discuss options <3` ); } - const bazelPackageDirs = new Set( - bazelPackages.map((p) => Path.resolve(REPO_ROOT, p.normalizedRepoRelativeDir)) - ); const refs = PROJECTS.flatMap((p) => { - if (p.disableTypeCheck || bazelPackageDirs.has(p.directory)) { + if (p.disableTypeCheck) { return []; } diff --git a/packages/kbn-ts-type-check-cli/run_type_check_cli.ts b/packages/kbn-ts-type-check-cli/run_type_check_cli.ts new file mode 100644 index 0000000000000..20ea0845371b7 --- /dev/null +++ b/packages/kbn-ts-type-check-cli/run_type_check_cli.ts @@ -0,0 +1,177 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; +import Fsp from 'fs/promises'; + +import { run } from '@kbn/dev-cli-runner'; +import { createFailError } from '@kbn/dev-cli-errors'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { asyncForEachWithLimit, asyncMapWithLimit } from '@kbn/std'; +import { SomeDevLog } from '@kbn/some-dev-log'; +import { readPackageMap } from '@kbn/package-map'; +import { Project, PROJECTS } from '@kbn/ts-projects'; + +import { + updateRootRefsConfig, + cleanupRootRefsConfig, + ROOT_REFS_CONFIG_PATH, +} from './root_refs_config'; + +const rel = (from: string, to: string) => { + const path = Path.relative(from, to); + return path.startsWith('.') ? path : `./${path}`; +}; + +async function createTypeCheckConfigs(log: SomeDevLog, projects: Project[]) { + const pkgMap = readPackageMap(); + const writes: Array<[path: string, content: string]> = []; + + // write tsconfig.type_check.json files for each project that is not the root + const queue = new Set(projects); + for (const project of queue) { + const config = project.config; + const base = project.getBase(); + if (base) { + queue.add(base); + } + + const typeCheckConfig = { + ...config, + extends: base ? rel(project.directory, base.typeCheckConfigPath) : undefined, + compilerOptions: { + ...config.compilerOptions, + composite: true, + rootDir: '.', + paths: project.repoRel === 'tsconfig.base.json' ? config.compilerOptions?.paths : undefined, + }, + kbn_references: undefined, + references: project.getKbnRefs(pkgMap).map((refd) => { + queue.add(refd); + + return { + path: rel(project.directory, refd.typeCheckConfigPath), + }; + }), + }; + + writes.push([project.typeCheckConfigPath, JSON.stringify(typeCheckConfig, null, 2)]); + } + + return new Set( + await asyncMapWithLimit(writes, 50, async ([path, content]) => { + try { + const existing = await Fsp.readFile(path, 'utf8'); + if (existing === content) { + return path; + } + } catch (err) { + if (err.code !== 'ENOENT') { + throw err; + } + } + + log.verbose('updating', path); + await Fsp.writeFile(path, content, 'utf8'); + return path; + }) + ); +} + +run( + async ({ log, flagsReader, procRunner }) => { + if (flagsReader.boolean('clean-cache')) { + await asyncForEachWithLimit(PROJECTS, 10, async (proj) => { + await Fsp.rm(Path.resolve(proj.directory, 'target/types'), { + force: true, + recursive: true, + }); + }); + log.warning('Deleted all typescript caches'); + } + + // if the tsconfig.refs.json file is not self-managed then make sure it has + // a reference to every composite project in the repo + await updateRootRefsConfig(log); + + const projectFilter = flagsReader.path('project'); + + const projects = PROJECTS.filter( + (p) => !p.disableTypeCheck && (!projectFilter || p.path === projectFilter) + ); + + const created = await createTypeCheckConfigs(log, projects); + + let pluginBuildResult; + try { + log.info( + `Building TypeScript projects to check types (For visible, though excessive, progress info you can pass --verbose)` + ); + + const relative = Path.relative( + REPO_ROOT, + projects.length === 1 ? projects[0].typeCheckConfigPath : ROOT_REFS_CONFIG_PATH + ); + + await procRunner.run('tsc', { + cmd: Path.relative(REPO_ROOT, require.resolve('typescript/bin/tsc')), + args: [ + '-b', + relative, + '--pretty', + ...(flagsReader.boolean('verbose') ? ['--verbose'] : []), + ], + cwd: REPO_ROOT, + wait: true, + }); + + pluginBuildResult = { failed: false }; + } catch (error) { + pluginBuildResult = { failed: true }; + } + + // cleanup if requested + if (flagsReader.boolean('cleanup')) { + log.verbose('cleaning up'); + await cleanupRootRefsConfig(); + + await asyncForEachWithLimit(created, 40, async (path) => { + await Fsp.unlink(path); + }); + } + + if (pluginBuildResult.failed) { + throw createFailError('Unable to build TS project refs'); + } + }, + { + description: ` + Run the TypeScript compiler without emitting files so that it can check types during development. + + Examples: + # check types in all projects + node scripts/type_check + + # check types in a single project + node scripts/type_check --project packages/kbn-pm/tsconfig.json + `, + flags: { + string: ['project'], + boolean: ['clean-cache', 'cleanup'], + help: ` + --project [path] Path to a tsconfig.json file determines the project to check + --help Show this message + --clean-cache Delete any existing TypeScript caches before running type check + --cleanup Pass to avoid leaving temporary tsconfig files on disk. Leaving these + files in place makes subsequent executions faster because ts can + identify that none of the imports have changed (it uses creation/update + times) but cleaning them prevents leaving garbage around the repo. + `, + }, + } +); diff --git a/packages/kbn-ts-type-check-cli/tsconfig.json b/packages/kbn-ts-type-check-cli/tsconfig.json new file mode 100644 index 0000000000000..bc51e37a4c1ca --- /dev/null +++ b/packages/kbn-ts-type-check-cli/tsconfig.json @@ -0,0 +1,26 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/tooling-log", + "@kbn/repo-info", + "@kbn/dev-cli-errors", + "@kbn/ts-projects", + "@kbn/dev-cli-runner", + "@kbn/std", + "@kbn/some-dev-log", + "@kbn/package-map", + ] +} diff --git a/packages/kbn-type-summarizer-cli/BUILD.bazel b/packages/kbn-type-summarizer-cli/BUILD.bazel deleted file mode 100644 index 441fa393e5e44..0000000000000 --- a/packages/kbn-type-summarizer-cli/BUILD.bazel +++ /dev/null @@ -1,140 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "directory_file_path", "js_library", "nodejs_binary") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-type-summarizer-cli" -PKG_REQUIRE_NAME = "@kbn/type-summarizer-cli" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@babel/runtime", - "//packages/kbn-type-summarizer", - "//packages/kbn-type-summarizer-core", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-type-summarizer:npm_module_types", - "//packages/kbn-type-summarizer-core:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -directory_file_path( - name = "bazel-cli-path", - directory = ":target_node", - path = "index.js", -) - -nodejs_binary( - name = "bazel-cli", - data = [":" + PKG_DIRNAME], - entry_point = ":bazel-cli-path", - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-type-summarizer-cli/README.md b/packages/kbn-type-summarizer-cli/README.md deleted file mode 100644 index b35cfb615aaeb..0000000000000 --- a/packages/kbn-type-summarizer-cli/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# @kbn/type-summarizer-cli - -Exposes the` @kbn/type-summarizer` via a command line interface. Run `node scripts/type_summarizer` for information about running this command. - -## Example: - -```sh -node scripts/type_summarizer packages/kbn-type-summarizer-cli -``` diff --git a/packages/kbn-type-summarizer-cli/index.ts b/packages/kbn-type-summarizer-cli/index.ts deleted file mode 100644 index 7b7bd535485a7..0000000000000 --- a/packages/kbn-type-summarizer-cli/index.ts +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fsp from 'fs/promises'; - -import { Path } from '@kbn/type-summarizer-core'; -import { summarizePackage } from '@kbn/type-summarizer'; - -import { parseCliConfig } from './src/cli_config'; - -import { run } from './src/run'; - -const HELP = ` -Script called from bazel to create the summarized version of a package. When called by Bazel -config is passed as a JSON encoded object. To build config locally you can just pass a path to -a package directory. - -Usage: - - node scripts/type_summarizer -`; - -run( - async ({ argv, log }) => { - const { packageName, outputDir, inputPath, repoRelativePackageDir, tsconfigPath } = - parseCliConfig(argv); - - try { - await Fsp.rm(outputDir, { recursive: true }); - } catch (error) { - if (error && error.code !== 'ENOENT') { - throw error; - } - } - - await Fsp.mkdir(outputDir, { recursive: true }); - - // generate pkg json output - await Fsp.writeFile( - Path.join(outputDir, 'package.json'), - JSON.stringify( - { - name: `@types/${packageName.replaceAll('@', '').replaceAll('/', '__')}`, - description: 'Generated by @kbn/type-summarizer', - types: './index.d.ts', - private: true, - license: 'MIT', - version: '1.1.0', - }, - null, - 2 - ) - ); - - const sourceNode = await summarizePackage(log, { - dtsDir: Path.dirname(inputPath), - inputPath, - tsconfigPath, - repoRelativePackageDir, - }); - - const source = sourceNode.toStringWithSourceMap({ - file: 'index.d.ts', - sourceRoot: `../../../${Path.toNormal(repoRelativePackageDir)}`, - }); - - const code = `${source.code}${ - source.code.endsWith('\n') ? '' : '\n' - }//# sourceMappingURL=index.d.ts.map`; - - await Fsp.writeFile(Path.join(outputDir, 'index.d.ts'), code); - await Fsp.writeFile(Path.join(outputDir, 'index.d.ts.map'), JSON.stringify(source.map)); - - log.success('type summary created for', packageName); - }, - { - helpText: HELP, - defaultLogLevel: 'quiet', - } -); diff --git a/packages/kbn-type-summarizer-cli/jest.config.js b/packages/kbn-type-summarizer-cli/jest.config.js deleted file mode 100644 index bbf8a9ab4449c..0000000000000 --- a/packages/kbn-type-summarizer-cli/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-type-summarizer-cli'], -}; diff --git a/packages/kbn-type-summarizer-cli/kibana.jsonc b/packages/kbn-type-summarizer-cli/kibana.jsonc deleted file mode 100644 index 88434bc04812d..0000000000000 --- a/packages/kbn-type-summarizer-cli/kibana.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/type-summarizer-cli", - "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] -} diff --git a/packages/kbn-type-summarizer-cli/package.json b/packages/kbn-type-summarizer-cli/package.json deleted file mode 100644 index 2b013abe15705..0000000000000 --- a/packages/kbn-type-summarizer-cli/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@kbn/type-summarizer-cli", - "private": true, - "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} diff --git a/packages/kbn-type-summarizer-cli/src/cli_config.ts b/packages/kbn-type-summarizer-cli/src/cli_config.ts deleted file mode 100644 index 50ca0e161536b..0000000000000 --- a/packages/kbn-type-summarizer-cli/src/cli_config.ts +++ /dev/null @@ -1,177 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fs from 'fs'; - -import { CliError, Path } from '@kbn/type-summarizer-core'; -import { parseCliFlags } from './cli_flags'; - -const isString = (i: any): i is string => typeof i === 'string' && i.length > 0; - -interface CliConfig { - packageName: string; - outputDir: string; - tsconfigPath: string; - inputPath: string; - repoRelativePackageDir: string; - dump: boolean; -} - -function isKibanaRepo(dir: string) { - try { - const json = Fs.readFileSync(Path.join(dir, 'package.json'), 'utf8'); - const parsed = JSON.parse(json); - return parsed.name === 'kibana'; - } catch { - return false; - } -} - -export function findRepoRoot() { - const start = Path.resolve(__dirname); - let dir = start; - while (true) { - if (isKibanaRepo(dir)) { - return dir; - } - - // this is not the kibana directory, try moving up a directory - const parent = Path.join(dir, '..'); - if (parent === dir) { - throw new Error( - `unable to find Kibana's package.json file when traversing up from [${start}]` - ); - } - - dir = parent; - } -} - -function parseConfigFromFlags(argv: string[]): CliConfig { - const { rawFlags, unknownFlags } = parseCliFlags(argv, { - boolean: ['dump'], - }); - - if (unknownFlags.length) { - throw new CliError(`Unknown flags: ${unknownFlags.join(', ')}`, { - showHelp: true, - }); - } - - const repoRoot = findRepoRoot(); - - const [relativePackagePath, ...extraPositional] = rawFlags._; - if (typeof relativePackagePath !== 'string') { - throw new CliError(`missing path to package as first positional argument`, { showHelp: true }); - } - if (extraPositional.length) { - throw new CliError(`extra positional arguments`, { showHelp: true }); - } - - const packageDir = Path.resolve(relativePackagePath); - const packageName: string = JSON.parse( - Fs.readFileSync(Path.join(packageDir, 'package.json'), 'utf8') - ).name; - const repoRelativePackageDir = Path.relative(repoRoot, packageDir); - - const dump = !!rawFlags.dump; - - return { - packageName, - tsconfigPath: Path.join(repoRoot, repoRelativePackageDir, 'tsconfig.json'), - inputPath: Path.join(repoRoot, 'node_modules', packageName, 'target_types/index.d.ts'), - repoRelativePackageDir, - outputDir: Path.join(repoRoot, 'data/type-summarizer-output'), - dump, - }; -} - -function parseJsonFromCli(json: string) { - try { - return JSON.parse(json); - } catch (error) { - // TODO: This is to handle a bug in Bazel which escapes `"` in .bat arguments incorrectly, replacing them with `\` - if ( - error.message === 'Unexpected token \\ in JSON at position 1' && - process.platform === 'win32' - ) { - const unescapedJson = json.replaceAll('\\', '"'); - try { - return JSON.parse(unescapedJson); - } catch (e) { - throw new CliError( - `unable to parse first positional argument as JSON: "${e.message}"\n unescaped value: ${unescapedJson}\n raw value: ${json}` - ); - } - } - - throw new CliError( - `unable to parse first positional argument as JSON: "${error.message}"\n value: ${json}` - ); - } -} - -function parseConfigFromJson(json: string): CliConfig { - const config = parseJsonFromCli(json); - if (typeof config !== 'object' || config === null) { - throw new CliError('config JSON must be an object'); - } - - const packageName = config.packageName; - if (!isString(packageName)) { - throw new CliError('packageName config must be a non-empty string'); - } - - const outputDir = config.outputDir; - if (!isString(outputDir)) { - throw new CliError('outputDir config must be a non-empty string'); - } - if (Path.isAbsolute(outputDir)) { - throw new CliError(`outputDir [${outputDir}] must be a relative path`); - } - - const tsconfigPath = config.tsconfigPath; - if (!isString(tsconfigPath)) { - throw new CliError('tsconfigPath config must be a non-empty string'); - } - if (Path.isAbsolute(tsconfigPath)) { - throw new CliError(`tsconfigPath [${tsconfigPath}] must be a relative path`); - } - - const inputPath = config.inputPath; - if (!isString(inputPath)) { - throw new CliError('inputPath config must be a non-empty string'); - } - if (Path.isAbsolute(inputPath)) { - throw new CliError(`inputPath [${inputPath}] must be a relative path`); - } - - const buildFilePath = config.buildFilePath; - if (!isString(buildFilePath)) { - throw new CliError('buildFilePath config must be a non-empty string'); - } - if (Path.isAbsolute(buildFilePath)) { - throw new CliError(`buildFilePath [${buildFilePath}] must be a relative path`); - } - - return { - packageName, - outputDir: Path.resolve(outputDir), - tsconfigPath: Path.resolve(tsconfigPath), - inputPath: Path.resolve(inputPath), - repoRelativePackageDir: Path.dirname(buildFilePath), - dump: false, - }; -} - -export function parseCliConfig(argv: string[]): CliConfig { - if (typeof argv[0] === 'string' && argv[0].startsWith('{')) { - return parseConfigFromJson(argv[0]); - } - return parseConfigFromFlags(argv); -} diff --git a/packages/kbn-type-summarizer-cli/src/cli_flags.ts b/packages/kbn-type-summarizer-cli/src/cli_flags.ts deleted file mode 100644 index 0f616dca873be..0000000000000 --- a/packages/kbn-type-summarizer-cli/src/cli_flags.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import getopts from 'getopts'; - -interface ParseCliFlagsOptions { - alias?: Record; - boolean?: string[]; - string?: string[]; - default?: Record; -} - -export function parseCliFlags(argv = process.argv.slice(2), options: ParseCliFlagsOptions = {}) { - const unknownFlags: string[] = []; - - const string = options.string ?? []; - const boolean = ['help', 'verbose', 'debug', 'quiet', 'silent', ...(options.boolean ?? [])]; - const alias = { - v: 'verbose', - d: 'debug', - h: 'help', - ...options.alias, - }; - - const rawFlags = getopts(argv, { - alias, - boolean, - string, - default: options.default, - unknown(name) { - unknownFlags.push(name); - return false; - }, - }); - - return { - rawFlags, - unknownFlags, - }; -} diff --git a/packages/kbn-type-summarizer-cli/src/run.ts b/packages/kbn-type-summarizer-cli/src/run.ts deleted file mode 100644 index dfba870b359b9..0000000000000 --- a/packages/kbn-type-summarizer-cli/src/run.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import getopts from 'getopts'; - -import { CliLog, CliError, LogLevel, toError } from '@kbn/type-summarizer-core'; - -export interface RunContext { - argv: string[]; - log: CliLog; -} - -export interface RunOptions { - helpText: string; - defaultLogLevel?: LogLevel; -} - -export async function run(main: (ctx: RunContext) => Promise, options: RunOptions) { - const argv = process.argv.slice(2); - const rawFlags = getopts(argv); - - if (rawFlags.help) { - process.stdout.write(options.helpText); - process.exit(0); - } - - const log = new CliLog( - CliLog.pickLogLevelFromFlags(rawFlags, options.defaultLogLevel), - process.stdout - ); - - try { - await main({ argv, log }); - } catch (_) { - const error = toError(_); - if (error instanceof CliError) { - process.exitCode = error.exitCode; - log.error(error.message); - if (error.showHelp) { - process.stdout.write(options.helpText); - } - } else { - log.error('UNHANDLED ERROR', error.stack); - process.exitCode = 1; - } - } -} diff --git a/packages/kbn-type-summarizer-cli/tsconfig.json b/packages/kbn-type-summarizer-cli/tsconfig.json deleted file mode 100644 index 57c1dd1c94e0f..0000000000000 --- a/packages/kbn-type-summarizer-cli/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.ts" - ] -} diff --git a/packages/kbn-type-summarizer-core/BUILD.bazel b/packages/kbn-type-summarizer-core/BUILD.bazel deleted file mode 100644 index b63a38b44d088..0000000000000 --- a/packages/kbn-type-summarizer-core/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-type-summarizer-core" -PKG_REQUIRE_NAME = "@kbn/type-summarizer-core" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//getopts", - "@npm//chalk", - "@npm//normalize-path", - "@npm//strip-ansi", - "@npm//tslib", - "@npm//typescript", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/normalize-path", - "@npm//chalk", - "@npm//getopts", - "@npm//tslib", - "@npm//strip-ansi", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-type-summarizer-core/README.md b/packages/kbn-type-summarizer-core/README.md deleted file mode 100644 index b9e10dadd8d6b..0000000000000 --- a/packages/kbn-type-summarizer-core/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @kbn/type-summarizer-core - -Contains the common code needed for both `@kbn/type-summarizer` and `@kbn/type-summarizer-cli` \ No newline at end of file diff --git a/packages/kbn-type-summarizer-core/index.ts b/packages/kbn-type-summarizer-core/index.ts deleted file mode 100644 index 2785bb096372d..0000000000000 --- a/packages/kbn-type-summarizer-core/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export type { LogLevel } from './src/log'; -export type { LogWriter, Logger } from './src/log'; -export { CliLog, TestLog } from './src/log'; - -export { isSystemError, toError } from './src/error'; -export { tryReadFile } from './src/fs'; -export { parseJson } from './src/json'; -export type { CliErrorOptions } from './src/cli_error'; -export { CliError } from './src/cli_error'; -export { - describeNode, - describeSymbol, - getKindName, - hasIdentifierName, - isAliasSymbol, -} from './src/ts_helpers'; -import * as Path from './src/path'; -export { Path }; -export { SetMap } from './src/set_map'; diff --git a/packages/kbn-type-summarizer-core/jest.config.js b/packages/kbn-type-summarizer-core/jest.config.js deleted file mode 100644 index 1b0c701319036..0000000000000 --- a/packages/kbn-type-summarizer-core/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-type-summarizer-core'], -}; diff --git a/packages/kbn-type-summarizer-core/kibana.jsonc b/packages/kbn-type-summarizer-core/kibana.jsonc deleted file mode 100644 index 322a6c152b2f7..0000000000000 --- a/packages/kbn-type-summarizer-core/kibana.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/type-summarizer-core", - "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] -} diff --git a/packages/kbn-type-summarizer-core/package.json b/packages/kbn-type-summarizer-core/package.json deleted file mode 100644 index cae83a800eb3b..0000000000000 --- a/packages/kbn-type-summarizer-core/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@kbn/type-summarizer-core", - "private": true, - "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} diff --git a/packages/kbn-type-summarizer-core/src/cli_error.ts b/packages/kbn-type-summarizer-core/src/cli_error.ts deleted file mode 100644 index c15e5478ea34f..0000000000000 --- a/packages/kbn-type-summarizer-core/src/cli_error.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * Options for customizing CliError instances - */ -export interface CliErrorOptions { - exitCode?: number; - showHelp?: boolean; -} - -/** - * An error type with specicial behavior when it bubbles up all the way to the root of the CLI - */ -export class CliError extends Error { - public readonly exitCode: number; - public readonly showHelp: boolean; - - constructor(message: string, options: CliErrorOptions = {}) { - super(message); - - this.exitCode = options.exitCode ?? 1; - this.showHelp = options.showHelp ?? false; - } -} diff --git a/packages/kbn-type-summarizer-core/src/error.ts b/packages/kbn-type-summarizer-core/src/error.ts deleted file mode 100644 index 080fa8990ec46..0000000000000 --- a/packages/kbn-type-summarizer-core/src/error.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * Convert an unknown thrown value to an Error instance if it isn't alread - */ -export function toError(thrown: unknown) { - if (thrown instanceof Error) { - return thrown; - } - - return new Error(`${thrown} thrown`); -} - -/** - * Is this error instance a Node.js system error which has an error code attached? - */ -export function isSystemError(error: Error): error is NodeJS.ErrnoException { - return typeof (error as any).code === 'string'; -} diff --git a/packages/kbn-type-summarizer-core/src/fs.ts b/packages/kbn-type-summarizer-core/src/fs.ts deleted file mode 100644 index eafe789c9d05a..0000000000000 --- a/packages/kbn-type-summarizer-core/src/fs.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fsp from 'fs/promises'; -import { toError, isSystemError } from './error'; - -/** - * Read a file, if the file doesn't exist return undefined. If any other - * error occurs they will be thrown. - */ -export async function tryReadFile( - path: string, - encoding: 'utf-8' | 'utf8' -): Promise; -/** - * Read a file, if the file doesn't exist return undefined. If any other - * error occurs they will be thrown. - */ -export async function tryReadFile(path: string, encoding?: BufferEncoding) { - try { - return await Fsp.readFile(path, encoding); - } catch (_) { - const error = toError(_); - if (isSystemError(error) && error.code === 'ENOENT') { - return undefined; - } - throw error; - } -} diff --git a/packages/kbn-type-summarizer-core/src/json.test.ts b/packages/kbn-type-summarizer-core/src/json.test.ts deleted file mode 100644 index 4bb86652221d9..0000000000000 --- a/packages/kbn-type-summarizer-core/src/json.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { parseJson } from './json'; - -it('parses JSON', () => { - expect(parseJson('{"foo": "bar"}')).toMatchInlineSnapshot(` - Object { - "foo": "bar", - } - `); -}); - -it('throws more helpful errors', () => { - expect(() => parseJson('{"foo": bar}')).toThrowErrorMatchingInlineSnapshot( - `"Failed to parse JSON: Unexpected token b in JSON at position 8"` - ); -}); diff --git a/packages/kbn-type-summarizer-core/src/json.ts b/packages/kbn-type-summarizer-core/src/json.ts deleted file mode 100644 index dbabff5cbadd8..0000000000000 --- a/packages/kbn-type-summarizer-core/src/json.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { toError } from './error'; - -/** - * Parse JSON, but thrown a more meaningful error message when parsing fails - */ -export function parseJson(json: string, from?: string) { - try { - return JSON.parse(json); - } catch (_) { - const error = toError(_); - throw new Error(`Failed to parse JSON${from ? ` from ${from}` : ''}: ${error.message}`); - } -} diff --git a/packages/kbn-type-summarizer-core/src/log/cli_log.ts b/packages/kbn-type-summarizer-core/src/log/cli_log.ts deleted file mode 100644 index 35195dc1d2133..0000000000000 --- a/packages/kbn-type-summarizer-core/src/log/cli_log.ts +++ /dev/null @@ -1,249 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Util from 'util'; - -import { bold, dim, blueBright, yellowBright, gray, bgRed } from 'chalk'; -import getopts from 'getopts'; -import ts from 'typescript'; -import stripAnsi from 'strip-ansi'; - -import { Logger } from './logger'; -import { describeNode, describeSymbol } from '../ts_helpers'; - -const LOG_LEVEL_RANKS = { - silent: 0, - quiet: 1, - info: 2, - debug: 3, - verbose: 4, -}; - -/** - * Level that the logger is running at, any message logged "above" this level will be dropped - */ -export type LogLevel = keyof typeof LOG_LEVEL_RANKS; - -const LOG_LEVELS = (Object.keys(LOG_LEVEL_RANKS) as LogLevel[]).sort( - (a, b) => LOG_LEVEL_RANKS[a] - LOG_LEVEL_RANKS[b] -); -const LOG_LEVELS_DESC = LOG_LEVELS.slice().reverse(); - -type LogLevelMap = { [k in LogLevel]: boolean }; - -const now = - typeof performance !== 'undefined' ? performance.now.bind(performance) : Date.now.bind(Date); - -const fmt = (prefix: string, msg: string, ...args: string[]) => { - const lines = Util.format(msg, ...args).split('\n'); - - let formatted = lines[0]; - if (lines.length > 1) { - const padding = ' '.repeat(stripAnsi(prefix).length + 1); - for (const line of lines.slice(1)) { - formatted += `\n${padding}${line}`; - } - } - - return `${prefix} ${formatted}\n`; -}; - -const fmtMs = (ms: number) => { - if (ms < 1) { - return dim(`${Math.floor(ms * 100)}µs`); - } - - if (ms <= 5) { - return dim(`${Math.round(ms)}ms`); - } - - if (ms <= 500) { - return `${Math.round(ms)}ms`; - } - - return bold.yellow(`${(ms / 1000).toFixed(2)}s`); -}; - -const fmtDesc = (desc: string | ts.Symbol | ts.Node) => { - if (typeof desc === 'string') { - return Path.isAbsolute(desc) ? Path.relative(process.cwd(), desc) : desc; - } - - return 'kind' in desc ? describeNode(desc) : describeSymbol(desc); -}; - -/** - * Interface of objects which receive log messages, often times points to stdout, but - * replaced with a log message collector in tests - */ -export interface LogWriter { - write(chunk: string): void; -} - -interface Step { - verboseSteps: Map; -} - -/** - * Logger which writes messages in a text format designed for CLIs - */ -export class CliLog implements Logger { - private indent = ''; - private readonly stepStack: Step[] = []; - - static parseLogLevel(level: LogLevel) { - if (!LOG_LEVELS.includes(level)) { - throw new Error('invalid log level'); - } - - const rank = LOG_LEVEL_RANKS[level]; - return Object.fromEntries( - LOG_LEVELS.map((l) => [l, LOG_LEVEL_RANKS[l] <= rank]) - ) as LogLevelMap; - } - - static pickLogLevelFromFlags( - flags: getopts.ParsedOptions, - defaultLogLevl: LogLevel = 'info' - ): LogLevel { - for (const level of LOG_LEVELS_DESC) { - if (Object.prototype.hasOwnProperty.call(flags, level) && flags[level] === true) { - return level; - } - } - - return defaultLogLevl; - } - - private readonly map: LogLevelMap; - constructor( - public readonly level: LogLevel, - private readonly writeTo: LogWriter, - private readonly writeTimes = true - ) { - this.map = CliLog.parseLogLevel(level); - } - - info(msg: string, ...args: any[]) { - if (this.map.info) { - this.writeTo.write(fmt(`${this.indent}${blueBright('info')}`, msg, ...args)); - } - } - - warn(msg: string, ...args: any[]) { - if (this.map.quiet) { - this.writeTo.write(fmt(`${this.indent}${yellowBright('warn')}`, msg, ...args)); - } - } - - error(msg: string, ...args: any[]) { - if (this.map.quiet) { - this.writeTo.write(fmt(`${this.indent}${bgRed.whiteBright('ERROR')}`, msg, ...args)); - } - } - - debug(msg: string, ...args: any[]) { - if (this.map.debug) { - this.writeTo.write(fmt(`${this.indent}${gray('debg')}`, msg, ...args)); - } - } - - verbose(msg: string, ...args: any[]) { - if (this.map.verbose) { - this.writeTo.write(fmt(`${this.indent}${dim('verb')}`, msg, ...args)); - } - } - - success(msg: string, ...args: any[]): void { - if (this.map.quiet) { - this.writeTo.write(fmt(`${this.indent}✅`, msg, ...args)); - } - } - - step(name: string, desc: ts.Symbol | ts.Node | string | null, block: () => T): T { - return this.stepImpl('debug', name, desc, block); - } - - verboseStep(name: string, desc: string | ts.Symbol | ts.Node | null, block: () => T): T { - if (!this.map.debug) { - return block(); - } - - if (!this.stepStack.length || this.map.verbose) { - return this.stepImpl('verbose', name, desc, block); - } - - const step = this.stepStack[0]; - const start = now(); - try { - return block(); - } finally { - const ms = now() - start; - const group = step.verboseSteps.get(name); - if (group) { - group.count += 1; - group.ms += ms; - } else { - step.verboseSteps.set(name, { - count: 1, - ms, - }); - } - } - } - - private stepImpl( - level: 'debug' | 'verbose', - name: string, - desc: string | ts.Symbol | ts.Node | null, - block: () => T - ): T { - if (!this.map[level]) { - return block(); - } - - if (desc !== null) { - this[level]('>', bold(name), dim(`-- ${fmtDesc(desc)}`)); - } else { - this[level]('>', bold(name)); - } - - const start = now(); - let success = true; - const prevIndent = this.indent; - this.indent = ' '.repeat(prevIndent.length + 4); - - const verboseSteps = new Map(); - this.stepStack.unshift({ verboseSteps }); - - try { - return block(); - } catch (error) { - success = false; - throw error; - } finally { - const ms = now() - start; - - this.stepStack.shift(); - if (verboseSteps.size) { - const summary = []; - for (const [step, { count, ms: m }] of verboseSteps) { - summary.push(`${step}x${count}${this.writeTimes ? `: ${fmtMs(m)}` : ''}`); - } - this[level](dim(`verbose steps:\n${summary.join('\n')}`)); - } - - if (this.writeTimes) { - this[level](success ? fmtMs(ms) : `‼️ ${fmtMs(ms)}`); - } - - this.indent = prevIndent; - } - } -} diff --git a/packages/kbn-type-summarizer-core/src/log/index.ts b/packages/kbn-type-summarizer-core/src/log/index.ts deleted file mode 100644 index fac2d627cc590..0000000000000 --- a/packages/kbn-type-summarizer-core/src/log/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export type { Logger } from './logger'; -export type { LogWriter, LogLevel } from './cli_log'; -export { CliLog } from './cli_log'; -export { TestLog } from './test_log'; diff --git a/packages/kbn-type-summarizer-core/src/log/logger.ts b/packages/kbn-type-summarizer-core/src/log/logger.ts deleted file mode 100644 index 300b51c173c78..0000000000000 --- a/packages/kbn-type-summarizer-core/src/log/logger.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -/** - * Logger interface used by @kbn/type-summarizer-* packages - */ -export interface Logger { - /** - * Write a message to the log with the level "info" - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - info(msg: string, ...args: any[]): void; - /** - * Write a message to the log with the level "warn" - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - warn(msg: string, ...args: any[]): void; - /** - * Write a message to the log with the level "error" - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - error(msg: string, ...args: any[]): void; - /** - * Write a message to the log with the level "debug" - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - debug(msg: string, ...args: any[]): void; - /** - * Write a message to the log with the level "verbose" - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - verbose(msg: string, ...args: any[]): void; - /** - * Write a message to the log, only excluded in silent mode - * @param msg any message - * @param args any serializeable values you would like to be appended to the log message - */ - success(msg: string, ...args: any[]): void; - /** - * Write a message to the log indicating the beginning of a step, then run the passed - * block, any log output produced inside that step will be indented and at the end the - * duration of the step will be written. If the log level is below verbose then any - * "verbose steps" executed inside this step will be summaried by this step at the end - * as well. - * @param name a common name for steps of a specific type - * @param desc a specific name to describe the unique information about this step - * @param block the function body which defines this step - */ - step(name: string, desc: ts.Symbol | ts.Node | string | null, block: () => T): T; - /** - * Just like step(), except that unless the logging level is set to verbose the steps with - * the same name will be summaried at the end of the containing step, rather than logged - * directly. - * @param name a common name for steps of a specific type - * @param desc a specific name to describe the unique information about this step - * @param block the function body which defines this step - */ - verboseStep(name: string, desc: ts.Symbol | ts.Node | string | null, block: () => T): T; -} diff --git a/packages/kbn-type-summarizer-core/src/log/test_log.ts b/packages/kbn-type-summarizer-core/src/log/test_log.ts deleted file mode 100644 index 8f05c8b609899..0000000000000 --- a/packages/kbn-type-summarizer-core/src/log/test_log.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { CliLog } from './cli_log'; - -/** - * Logger which collects messages in memory for testing - */ -export class TestLog extends CliLog { - messages: string[] = []; - constructor() { - super( - 'debug', - { - write: (chunk) => { - this.messages.push(chunk); - }, - }, - false - ); - } -} diff --git a/packages/kbn-type-summarizer-core/src/path.ts b/packages/kbn-type-summarizer-core/src/path.ts deleted file mode 100644 index 117a6f62e78cc..0000000000000 --- a/packages/kbn-type-summarizer-core/src/path.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; - -import normalizePath from 'normalize-path'; -const cwd = normalizePath(process.cwd()); - -/** - * Convert a path to a relative path based on the current working directory. - * All paths returned are normalized - */ -export function cwdRelative(path: string) { - return relative(cwd, path); -} - -/** - * Convert a path to a relative path. All paths returned are normalized - */ -export function relative(from: string, to: string) { - return toNormal(Path.relative(from, to)); -} - -/** - * Join segments into a single path. All paths returned are normalized - */ -export function join(...segments: string[]) { - return Path.join(...segments); -} - -/** - * Get all but the last segment of a path, often times the directory containing the path. All paths returned are normalized - */ -export function dirname(path: string) { - return Path.dirname(path); -} - -/** - * Convert a relative path to an absolute path based on the current working directory. All paths returned are normalized. - */ -export function resolve(path: string) { - return Path.isAbsolute(path) ? toNormal(path) : join(cwd, path); -} - -/** - * Returns true if the path is absolute, otherwise false - */ -export function isAbsolute(path: string) { - return Path.isAbsolute(path); -} - -/** - * Normalizes the passed path, ensuring that all path separators are unix-style `/` - */ -export function toNormal(path: string) { - return normalizePath(path); -} diff --git a/packages/kbn-type-summarizer-core/src/set_map.ts b/packages/kbn-type-summarizer-core/src/set_map.ts deleted file mode 100644 index 7ee4a2dd116af..0000000000000 --- a/packages/kbn-type-summarizer-core/src/set_map.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * A class for collecting items (V) based on some key (K) - */ -export class SetMap { - private sets = new Map>(); - - /** - * Is there a group for the `key`? - */ - has(key: K) { - return this.sets.has(key); - } - - /** - * Add a value to the group with `key`, if the group doesn't exist - * yet it is created. - */ - add(key: K, value: V) { - const set = this.sets.get(key); - if (set) { - set.add(value); - } else { - this.sets.set(key, new Set([value])); - } - } - - /** - * Get the group for the `key`, if the group doesn't exist then - * `undefined` is returned. - */ - get(key: K): Set | undefined { - return this.sets.get(key); - } - - /** - * Returns an iterator for the [K, V] entries stored in the SetMap - */ - values() { - return this.sets.values(); - } -} diff --git a/packages/kbn-type-summarizer-core/src/ts_helpers.ts b/packages/kbn-type-summarizer-core/src/ts_helpers.ts deleted file mode 100644 index 1397b5acb622a..0000000000000 --- a/packages/kbn-type-summarizer-core/src/ts_helpers.ts +++ /dev/null @@ -1,94 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; -import Path from 'path'; -import { SetMap } from './set_map'; - -/** - * Does this AST node have a name which is an identifier? - */ -export function hasIdentifierName(node: any): node is { name: ts.Identifier } { - return typeof node === 'object' && node !== null && node.name && ts.isIdentifier(node.name); -} - -/** - * Is this symbol pointing to another symbol? - */ -export function isAliasSymbol(symbol: ts.Symbol) { - // eslint-disable-next-line no-bitwise - return Boolean(symbol.flags & ts.SymbolFlags.Alias); -} - -/** - * Get a human readable string describing a symbol, requires that symbols have a declaration - * which will be passed to describeNode() - */ -export function describeSymbol(symbol: ts.Symbol, cwd?: string) { - if (!symbol.declarations) { - return 'undeclared symbol'; - } - - return `Symbol(${describeNode(symbol.declarations[0], cwd)})`; -} - -function describeNodeLocation(node: ts.Node, cwd = process.cwd()) { - const sourceFile = node.getSourceFile(); - const loc = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile, false)); - return `${Path.relative(cwd, sourceFile.fileName)}:${loc.line + 1}:${loc.character + 1}`; -} - -let syntaxMap: SetMap | undefined; -function getSyntaxMap() { - if (syntaxMap) { - return syntaxMap; - } - - syntaxMap = new SetMap(); - for (const [key, value] of Object.entries(ts.SyntaxKind)) { - if (typeof value === 'number') { - syntaxMap.add(value, key); - } - } - - return syntaxMap; -} - -/** - * Get a human readable name of the syntax "kind". TS nodes use enums for their "kind" field - * which makes it tricky to know what you're looking at, and the `ts.SyntaxKind` map is lossy - * because many enum members have the same numeric value. To get around this we convert the - * ts.SyntaxKind map into a `SetMap` which puts all the syntax kind names for a given number - * into a set and allows us to report all possible type names from `getKindName()` - */ -export function getKindName(node: ts.Node) { - const names = [...(getSyntaxMap().get(node.kind) ?? [])]; - - if (names.length === 1) { - return names[0]; - } else if (names.length > 1) { - const ors = names.slice(-1); - const last = names.at(-1); - return `${ors.join(', ')} or ${last}`; - } - - return 'unknown'; -} - -/** - * Turn a Node instance into a string which describes the type, name, filename, and position of the node - */ -export function describeNode(node: ts.Node, cwd?: string) { - const name = hasIdentifierName(node) - ? ` (${node.name.text})` - : ts.isIdentifier(node) - ? ` (${node.text})` - : ''; - - return `ts.${getKindName(node)}${name} @ ${describeNodeLocation(node, cwd)}`; -} diff --git a/packages/kbn-type-summarizer-core/tsconfig.json b/packages/kbn-type-summarizer-core/tsconfig.json deleted file mode 100644 index 57c1dd1c94e0f..0000000000000 --- a/packages/kbn-type-summarizer-core/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.ts" - ] -} diff --git a/packages/kbn-type-summarizer/BUILD.bazel b/packages/kbn-type-summarizer/BUILD.bazel deleted file mode 100644 index b1f73bec487ea..0000000000000 --- a/packages/kbn-type-summarizer/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-type-summarizer" -PKG_REQUIRE_NAME = "@kbn/type-summarizer" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "src/tests/**/*", - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//is-path-inside", - "@npm//normalize-path", - "@npm//source-map", - "@npm//strip-ansi", - "@npm//tslib", - "//packages/kbn-type-summarizer-core", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "@npm//is-path-inside", - "@npm//@types/normalize-path", - "@npm//source-map", - "@npm//strip-ansi", - "@npm//tslib", - "//packages/kbn-type-summarizer-core:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-type-summarizer/README.mdx b/packages/kbn-type-summarizer/README.mdx deleted file mode 100644 index b9a2578eb6757..0000000000000 --- a/packages/kbn-type-summarizer/README.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: kibDevDocsOpsTypeSummarizer -slug: /kibana-dev-docs/ops/type-summarizer -title: "@kbn/type-summarizer" -description: A tool to summarize and produce a single .d.ts file from tsc output supporting sourcemaps -date: 2022-05-17 -tags: ['kibana', 'dev', 'contributor', 'operations', 'type', 'summarizer', 'typescript', 'bundler', 'sourcemap'] ---- - -Consumes the .d.ts files produced by `tsc` for a package and generates a single `.d.ts` file of the public types along with a source map that points back to the original source. - -## You mean like API Extractor? - -Yeah, except with source map support and without all the legacy features and other features we disable to generate our current type summaries. - -We first attempted to implement this in api-extractor but we hit a wall when dealing with the `Span` class. This class handles all the text output which ends up becoming source code, and I wasn't able to find a way to associate specific spans with source locations without getting 12 headaches. Instead I decided to try implementing this from scratch, reducing our reliance on the api-extractor project and putting us in control of how we generate type summaries. - -## Using the Type Summarizer - -The type-summarizer CLI from `@kbn/type-summarizer-cli` is automatically called by bazel via the `pkg_npm_types()` rule. If you want to run the CLI manually use `node scripts/type_summarizer ` and the type summary for your package will be written to `data/type_summarizer_output`. - -## How does it work? - -The type summarizer code is fairly well documented. The high level approach is to use two phases: - -### 1. Indexing -In this phase we traverse the symbol and AST graphs to determine the imports, local declarations, and ambient references needed to recreate the exported symbols of a package (along with all their references). This is done by the `AstIndexer` class and more information about the process is available there. - -### 2. Printing -After indexing is complete we use the created index to produce the necessary source code for the type summary file. This process is completed by the `printTypeSummary()` function in `src/lib/type_summary`, which uses the `SourceNode` class from the [source-map package](https://github.com/mozilla/source-map) to create the code and source maps of the type symmary file at the same time. - -The logic of this function is documented and should be relatively easy to follow once the structure of the `AstIndex` type is understood. \ No newline at end of file diff --git a/packages/kbn-type-summarizer/index.ts b/packages/kbn-type-summarizer/index.ts deleted file mode 100644 index a04a27ec1ece7..0000000000000 --- a/packages/kbn-type-summarizer/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export type { SummarizePacakgeOptions } from './src/summarize_package'; -export { summarizePackage } from './src/summarize_package'; diff --git a/packages/kbn-type-summarizer/jest.config.js b/packages/kbn-type-summarizer/jest.config.js deleted file mode 100644 index 76d7b935cfce7..0000000000000 --- a/packages/kbn-type-summarizer/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-type-summarizer'], -}; diff --git a/packages/kbn-type-summarizer/jest.integration.config.js b/packages/kbn-type-summarizer/jest.integration.config.js deleted file mode 100644 index 50a3f64b6338d..0000000000000 --- a/packages/kbn-type-summarizer/jest.integration.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test/jest_integration_node', - rootDir: '../..', - roots: ['/packages/kbn-type-summarizer'], -}; diff --git a/packages/kbn-type-summarizer/kibana.jsonc b/packages/kbn-type-summarizer/kibana.jsonc deleted file mode 100644 index e4eb9dc7c6034..0000000000000 --- a/packages/kbn-type-summarizer/kibana.jsonc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/type-summarizer", - "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] -} diff --git a/packages/kbn-type-summarizer/package.json b/packages/kbn-type-summarizer/package.json deleted file mode 100644 index 4442ef893a931..0000000000000 --- a/packages/kbn-type-summarizer/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@kbn/type-summarizer", - "private": true, - "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} diff --git a/packages/kbn-type-summarizer/src/lib/ast_index.ts b/packages/kbn-type-summarizer/src/lib/ast_index.ts deleted file mode 100644 index 27269a91b3fb5..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ast_index.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { DecSymbol, ExportableDec } from './ts_nodes'; -import { ExportDetails } from './export_details'; -import { ImportDetails } from './import_details'; - -/** - * The AstIndex is produced by AstIndexer to represent all of the declarations/imports/refs that - * need to be used to produce the type summary. - */ -export interface AstIndex { - imports: ImportedDecs[]; - locals: LocalDecs[]; - ambientRefs: AmbientRef[]; -} - -/** - * ImportedDecs represent the declarations of a "root symbol" which is found in - * node_modules AND in imported in the source code. These will result in `import` - * and `export` statements in the type summary, based on if they are used locally - * or just re-exported. - */ -export interface ImportedDecs { - type: 'imported decs'; - - /** - * The root symbol which is imported from node_modules and used locally or exported - * by the indexed sourceFile - */ - readonly rootSymbol: DecSymbol; - - /** - * The ImportDetails describing if this is a named import, what name we are importing, - * etc. - */ - readonly details: ImportDetails; - - /** - * The count of local references to this rootSymbol, if this count is 0 and we are - * working with a default or named import, then we can simply re-export this imported - * symbol. - */ - readonly localUsageCount: number; - - /** - * An imported symbol can be exported more than once, so we support an array of export - * details here and ensure that each of these exports are recreated in the type summary - */ - exports: ExportDetails[]; -} - -/** - * AmbientRef objects describe references to root symbols which were never imported - * but are in the node_modules directory. These symbols might be placed there via - * `lib` or `types` configs in the ts project, but it doesn't really matter to us, - * we just need to know that this name is "reserved" and none of our declarations - * can re-use or override this name with different meaning. - */ -export interface AmbientRef { - type: 'ambient ref'; - - /** - * The root symbol which is referenced - */ - readonly rootSymbol: DecSymbol; - - /** - * The name that this root symbol is referenced by, which should be reserved - * for this ambient type in the type summary file. - */ - readonly name: string; -} - -/** - * LocalDecs represent the different rootSymbols which will be declared locally in - * the type summary. They are either declarations copied from the .d.ts files, or - * namespaces which are synthesized to represent imported namespaces. - */ -export type LocalDecs = CopiedDecs | NamespaceDec; - -/** - * A NamespaceDec represents a synthetic namepace which needs to be created in the - * type summary to power a namespace import in the source types. - */ -export interface NamespaceDec { - type: 'namespace dec'; - - /** - * The root symbol that points to the source file we will synthesize with this namespace - */ - readonly rootSymbol: DecSymbol; - - /** - * The sourceFile node which we will synthesize with this namespace, extracted - * from rootSymbol.declarations[0] for ease of access and so we can validate - * the shape of the symbol once. - */ - readonly sourceFile: ts.SourceFile; - - /** - * The members that the eventual namespace will need to have, and the rootSymbols that - * each member will reference/export from the namespace - */ - readonly members: Map; - - /** - * If this namespace is exported then this will be set to ExportDetails. We don't - * know if it is exported until all references to this specific rootSymbol are - * traversed, so `exported` can't be read only and is only defined at the end of indexing. - */ - exported: ExportDetails | undefined; -} - -/** - * CopiedDecs objects represent declarations for a "root symbol" which need to be - * copied into the resulting "type sumary" from the .d.ts files. - */ -export interface CopiedDecs { - type: 'copied decs'; - - /** - * The root symbol which is declared by the `decs` - */ - readonly rootSymbol: DecSymbol; - - /** - * The AST nodes which declare this root symbol - */ - readonly decs: ExportableDec[]; - - /** - * If these declarations are exported then this will be set to ExportDetails. We don't - * know if these decs are exported until all references to this specific rootSymbol are - * traversed, so `exported` can't be read only and is only defined at the end of indexing. - */ - exported: ExportDetails | undefined; -} diff --git a/packages/kbn-type-summarizer/src/lib/ast_indexer.ts b/packages/kbn-type-summarizer/src/lib/ast_indexer.ts deleted file mode 100644 index ed27381454d7a..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ast_indexer.ts +++ /dev/null @@ -1,403 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { Logger, isAliasSymbol, describeSymbol, SetMap } from '@kbn/type-summarizer-core'; - -import { - AstIndex, - AmbientRef, - CopiedDecs, - ImportedDecs, - LocalDecs, - NamespaceDec, -} from './ast_index'; - -import { - toExportableDec, - assertDecSymbol, - DecSymbol, - toDecSymbol, - getSymbolDeclarations, -} from './ts_nodes'; -import { CounterMap } from './counter_map'; -import { SourceFileMapper } from './source_file_mapper'; -import { SymbolResolver } from './symbol_resolver'; -import { AstTraverser } from './ast_traverser'; -import { ImportDetails, getImportDetails } from './import_details'; -import { ExportDetails, getExportDetails } from './export_details'; - -/** - * The `AstIndexer` is responsible for collecting all the relevant information about the exports of - * a sourceFile from it's AST representation. - * - * The #indexExports method is the primary/only interface to use the AstIndexer and where the - * most useful documentation can be found. - */ -export class AstIndexer { - constructor( - private readonly typeChecker: ts.TypeChecker, - private readonly sources: SourceFileMapper, - private readonly symbols: SymbolResolver, - private readonly traverse: AstTraverser, - private readonly log: Logger - ) {} - - private getCopiedDecs(rootSymbol: DecSymbol): CopiedDecs | null { - const decs = rootSymbol.declarations.flatMap((dec) => { - // filter out declarations which are of no interest, traversing back to a type parameter or a - // function parameter, for instance, means this a symbol which is not of interest for this - // project so we ignore them - if (ts.isTypeParameterDeclaration(dec) || ts.isParameter(dec)) { - return []; - } - - if (this.sources.isExternal(dec)) { - return []; - } - - return toExportableDec(dec); - }); - - if (decs.length) { - return { - type: 'copied decs', - decs, - rootSymbol, - exported: undefined, - }; - } - - return null; - } - - private resolveExternalRootSymbol( - externalRootSymbol: DecSymbol, - aliases: ts.Symbol[], - exports: ExportDetails[] | undefined, - localUsageCount: number - ): ImportedDecs[] | AmbientRef { - const imports = aliases.flatMap((alias) => { - // traverse from the use to the symbol, stopping at the first import statement that points into the node_modules directory - let cursor = toDecSymbol(alias); - while (isAliasSymbol(cursor)) { - const next = this.typeChecker.getImmediateAliasedSymbol(cursor); - if (!next) { - break; - } - - // if any of the declarations of the next node are external then we have reched the stepping point that - // takes us from our local code to the node_modules. We won't traverse any more after we collect the - // import details of the declarations of cursoor - const nextIsExternal = getSymbolDeclarations(next).some((d) => this.sources.isExternal(d)); - - if (nextIsExternal) { - return cursor.declarations.flatMap((d) => getImportDetails(d) ?? []); - } - - cursor = toDecSymbol(next); - } - - return []; - }); - - if (!imports.length) { - return { - type: 'ambient ref', - rootSymbol: externalRootSymbol, - name: aliases[0].getName(), - }; - } - - const mergedImports: ImportDetails[] = []; - for (const id of imports) { - const existing = mergedImports.find( - (d) => - d.req === id.req && - d.type === id.type && - (d.type === 'named' && id.type === 'named' ? d.sourceName === id.sourceName : true) - ); - - if (existing) { - existing.typesOnly = existing.typesOnly && id.typesOnly; - } else { - mergedImports.push(id); - } - } - - if (mergedImports.length === 0) { - return []; - } - - return mergedImports.map( - (id): ImportedDecs => ({ - type: 'imported decs', - rootSymbol: externalRootSymbol, - details: id, - exports: exports || [], - localUsageCount, - }) - ); - } - - private findReferencedSymbols(root: ts.Node): ts.Symbol[] { - return [...this.traverse.findReferencedIdentifiers(root)].map((id) => - this.symbols.getForIdentifier(id) - ); - } - - /** - * This method determines all the relevant metadata about the exports of - * a specific `sourceFile` AST node. It indexes all the local declarations, imported - * declarations, and ambient refs that should end up in the public type - * summary file. - * - * To do this we use "symbols" from the `TypeChecker` provided by TypeScript. - * - * > "symbols" in the `TypeChecker` are not related to `Symbol`s in JS. - * - * Symbols describe a specific sourceFile/Type/Value in the source code, and allow - * us to understand the types referenced by specific AST nodes. For instance, we - * can ask the `TypeChecker` for the symbol of an `Identifier` node in the AST (the - * node type representing most named "keywords"; `a` and `foo` in `a(foo)` are both - * `Identifiers`). Every identifier in the source code should map to a specific symbol - * in the type system, which would be returned by the `TypeChecker`. These symbols - * then list the "declarations" which define/declare them. This is often a `class {}` - * or `interface {}` declaration but there are many types of declarations that could - * have defined this symbol. Additionally, the symbol may have multiple declarations - * if function overloads or interface extensions are used. - * - * Symbols can be "alias" symbols, indicating that they are declared in the source code - * but actually point to another declaration, either by variable assignment or via - * imports. When a type/value is imported from another file, the references to that - * type/value use alias symbols, which are declared by the import itself but point - * elsewhere. Thankfully, the `TypeChecker` has an API to traverse up the alias chain - * to the "root symbol". While indexing exports we regularly use the `SymbolResolver` - * to convert a symbol to it's `rootSymbol`, so that we can compare two references and - * determine if they are pointing to the same underlying declarations/type/value. - * - * To determine the full index of exports for a source file we start by asking the - * TypeChecker for the list of exported symbols of some sourceFile, then we traverse - * from those symbols to their declarations. If the symbol has declarations that are - * in node_modules, then either an `ImportedDecs` or `AmbientRef` object is added to - * the index, depending on wether the symbol is ever found to be imported. - * - * `ImportedDecs` describe how to import the declarations for that exported - * symbol in the type summary file. - * `AmbientRef` objects describe names that are expected to be declared ambiently, - * and therefore should be considered reserved in the type summary file. - * - * If any declarations for an exported symbol are local to the source code then they will - * result in a `LocalDecs` object being added to the index. Before adding a `LocalDecs` - * object to the index the AST of each local declaration is traversed to find - * references to other symbols. These references cause additional `ImportedDecs`, - * `AmbientRef`, or `LocalDecs` objects to be added to the index before the exported - * `LocalDecs`, ensuring that referenced declarations come first in the resulting type - * summary file and that all code referenced by the decalarations is included in the type - * summary file. - * - * Once all referenced declarations are found and added to the index the exported - * `LocalDecs` object is added to the index and the process is repeated for the next exported - * symbol. - * - * To ensure that we don't end up with duplicate declarations all `LocalDecs`, `ImportedDecs` - * and `AmbientRef` objects track the "root symbol" that they represent. Any time we - * encounter a new symbol which might need to be added to the index it is first resolved - * to it's root symbol to ensure we haven't already handled it. - */ - indexExports(sourceFile: ts.SourceFile): AstIndex { - return this.log.step('indexExports()', sourceFile.fileName, () => { - const sourceFileSymbol = this.typeChecker.getSymbolAtLocation(sourceFile); - if (!sourceFileSymbol) { - throw new Error(`symbol for source file not found: ${sourceFile.fileName}`); - } - - /** - * all alias symbols which point to a root symbol, which allows - * us to find all the import statements which point to an external - * rootSymbol - */ - const symbolAliases = new SetMap(); - /** - * counts the number of times a rootSymbol is used, this allows us - * to determine if an external rootSymbol needs to be imported for - * local usage, or just exported directly - */ - const rootSymbolLocalUses = new CounterMap(); - /** - * Map of the LocalDecs we have already created, allowing us to make - * sure that we only have a single LocalDecs instance for each rootSymbol - */ - const localDecsBySymbol = new Map(); - /** - * Set of all symbols we've indexed already, allowing us to freely call - * indexSymbol() with each referenced symbol and avoid duplicating work - */ - const indexedSymbols = new Set(); - /** - * Set of DecSymbols which are identified to have some external declarations - * that need to be imported in the final TypeSummary. These will be turned - * into ImportedDecs at the end once we have all the aliases indexed and - * can use the aliases to determine the import statements used to get these - * external symbols into the code. - */ - const externalSymbols = new Set(); - /** - * When we find a rootSymbol which is external, but there aren't any imports - * which pull in that symbol, then we track it here as a ref to an "ambient" - * type, like `Promise<>` from the TS lib. These refs don't end up in the type - * summary, but they do populate the list of UsedNames to ensure that we don't - * clobber those names with local declarations - */ - const ambientRefsByRootSymbol = new SetMap(); - /** - * These are the symbols which are exported from the `sourceFile` being indexed - * grouped by their rootSymbol. This allows us to get the export details for - * external symbols when we are creating ImportedDecs. - */ - const exportSymbolsByRootSymbols = new SetMap(); - /** - * The ordered array of LocalDecs, in the order which these decs should appear - * in the resulting type summary file. - */ - const localDecs: LocalDecs[] = []; - - /** - * This function is called to update the above state with the relevant details - * for a symbol we find as relevant to the exports of `sourceFile`. Calls itself - * with all the internal symbols referenced by the declarations of `symbol`. - */ - const indexSymbol = (symbol: ts.Symbol) => { - return this.log.verboseStep('indexSymbol()', symbol, () => { - if (indexedSymbols.has(symbol)) { - return; - } - indexedSymbols.add(symbol); - - const rootSymbol = this.symbols.toRootSymbol(symbol); - symbolAliases.add(rootSymbol, symbol); - - const existingLocalDec = localDecsBySymbol.get(rootSymbol); - if (!existingLocalDec) { - const [firstDec] = rootSymbol.declarations; - // when using a namespace import for a local module, the symbol resolves to the entire - // sourceFile imported, so we will index the sourceFile's exports and then track the - // namespace we need to synthesize in the output and maybe export - if ( - rootSymbol.declarations.length === 1 && - ts.isSourceFile(firstDec) && - !this.sources.isExternal(firstDec) - ) { - const exports = this.typeChecker.getExportsOfModule(rootSymbol); - const ns: NamespaceDec = { - type: 'namespace dec', - rootSymbol, - exported: undefined, - members: new Map( - exports.map((s) => [s.name, this.symbols.toRootSymbol(s)]) - ), - sourceFile: firstDec, - }; - localDecsBySymbol.set(rootSymbol, ns); - - for (const s of exports) { - indexSymbol(s); - } - localDecs.push(ns); - return; - } - - const locals = this.getCopiedDecs(rootSymbol); - localDecsBySymbol.set(rootSymbol, locals); - - if (locals) { - for (const dec of locals.decs) { - for (const refSymbol of this.findReferencedSymbols(dec)) { - const refRoot = this.symbols.toRootSymbol(refSymbol); - rootSymbolLocalUses.incr(refRoot); - indexSymbol(refSymbol); - } - } - - localDecs.push(locals); - } - } - - if (rootSymbol.declarations.some((d) => this.sources.isExternal(d))) { - externalSymbols.add(rootSymbol); - } - }); - }; - - // iterate through the direct exports of `sourceFile` and index them - for (const exportSymbol of this.typeChecker.getExportsOfModule(sourceFileSymbol)) { - // convert `symbol` to a DecSymbol - assertDecSymbol(exportSymbol); - - // mutate the state to know about this symbol - indexSymbol(exportSymbol); - - // resolve to the rootSymbol that is being exported - const rootSymbol = this.symbols.toRootSymbol(exportSymbol); - - // list this as an exported symbol for when we're trying to define export info for imports - exportSymbolsByRootSymbols.add(rootSymbol, exportSymbol); - - // ensure that if LocalDecs are created for this symbol they have the necessary ExportDetails - const local = localDecsBySymbol.get(rootSymbol); - if (local) { - local.exported = getExportDetails(this.typeChecker, exportSymbol); - } - } - - // convert the externalSymbols to ImportDecs and AmbientRefs based on whether they are imported or not - const importedDecs = [...externalSymbols].flatMap((rootSymbol) => { - const aliases = symbolAliases.get(rootSymbol); - if (!aliases) { - throw new Error(`external symbol has no aliases somehow ${describeSymbol(rootSymbol)}`); - } - - const exportSymbols = exportSymbolsByRootSymbols.get(rootSymbol); - - const resolved = - this.resolveExternalRootSymbol( - rootSymbol, - [...aliases], - exportSymbols - ? [...exportSymbols].map((s) => getExportDetails(this.typeChecker, s)) - : undefined, - rootSymbolLocalUses.get(rootSymbol) - ) ?? []; - - if (Array.isArray(resolved)) { - return resolved; - } - - ambientRefsByRootSymbol.add(resolved.rootSymbol, resolved); - return []; - }); - - return { - imports: importedDecs, - locals: localDecs, - ambientRefs: [...ambientRefsByRootSymbol.values()].flatMap((group) => { - const names = new Set(); - return [...group].filter((g) => { - if (names.has(g.name)) { - return false; - } - - names.add(g.name); - return true; - }); - }), - }; - }); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/ast_traverser.ts b/packages/kbn-type-summarizer/src/lib/ast_traverser.ts deleted file mode 100644 index 64cb98db7eda0..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ast_traverser.ts +++ /dev/null @@ -1,162 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { hasIdentifierName, describeNode, Logger } from '@kbn/type-summarizer-core'; -import { isExportableDec } from './ts_nodes'; -import { SymbolResolver } from './symbol_resolver'; -import { SourceFileMapper } from './source_file_mapper'; - -/** - * This object is responsible for exposing utilities for traversing the AST nodes - * to find relevant identifiers within. - */ -export class AstTraverser { - constructor( - private readonly symbols: SymbolResolver, - private readonly sources: SourceFileMapper, - private readonly log: Logger - ) {} - - private doesIdentifierResolveToLocalDeclaration(id: ts.Identifier) { - const rootSymbol = this.symbols.toRootSymbol(this.symbols.getForIdentifier(id)); - for (const dec of rootSymbol.declarations) { - if (!this.sources.isExternal(dec)) { - return true; - } - } - - return false; - } - - /** - * Traverses through the children of `root` deeply to find all identifiers which are - * references. Ignores idenfiers which are names of structres (like names of properties, - * arguments, function declarations, etc) as well as a few other identifiers which we - * are pretty sure never could point to a reference outside of this node. - * - * The goal here is to find all identifiers which we can then convert into symbols to - * find all the types/values that are referenced by the passed `root` AST node. - */ - findReferencedIdentifiers(root: ts.Node): Set { - return this.log.verboseStep('traverse.findReferencedIdentifiers()', root, () => { - const queue = new Set([root]); - const identifiers = new Set(); - - for (const node of queue) { - // ImportTypeNode's are inline `import('...').Type` nodes which TS often injects for inferred return types - // often time these return types are for identifiers from node_modules which we will maintain, since the - // node modules will be available for the summary. If the imported symbol resolves to local code though - // we need to grab the referenced identifier and replace the whole ImportTypeNode with a local reference - // after the declarations for that symbol are included in the summary - if (ts.isImportTypeNode(node)) { - // iterate the type arguments of ImportTypeNode - if (node.typeArguments) { - for (const arg of node.typeArguments) { - queue.add(arg); - } - } - - if (node.qualifier) { - // if the qualifier resolves to a local declaration then count it as an identifier, later - // on we replace the parent node of identifiers inside or `ImportTypeNode`s - if (ts.isIdentifier(node.qualifier)) { - if (this.doesIdentifierResolveToLocalDeclaration(node.qualifier)) { - identifiers.add(node.qualifier); - } - continue; - } - - if (ts.isQualifiedName(node.qualifier) && ts.isIdentifier(node.qualifier.left)) { - if (this.doesIdentifierResolveToLocalDeclaration(node.qualifier.left)) { - identifiers.add(node.qualifier.left); - } - continue; - } - } - - throw new Error( - `unable to find relevant identifier in ImportTypeNode.qualifier ${describeNode(node)}` - ); - } - - const ignores: ts.Node[] = []; - - // ignore parameter/property names, names aren't ever references to other declarations AFAIK - if (hasIdentifierName(node)) { - ignores.push(node.name); - } - - // ignore the source name of destructured params ie. X in `function foo({ X: Foo }: Type)` - if (ts.isBindingElement(node) && node.propertyName) { - ignores.push(node.propertyName); - } - - // ignore parameter names in type predicates ie. X in `(foo: any): X is Bar` - if (ts.isTypePredicateNode(node)) { - ignores.push(node.parameterName); - } - - // ignore identifiers in "QualifiedName" nodes, which are found in TypeReferences like - // `semver.SemVer`, we don't need to treat `SemVer` as a ref because we're capturing `semver` - if (ts.isQualifiedName(node) && ts.isIdentifier(node.right)) { - ignores.push(node.right); - } - - node.forEachChild((child) => { - if (ignores.includes(child)) { - return; - } - - if (ts.isIdentifier(child)) { - identifiers.add(child); - } else { - queue.add(child); - } - }); - } - - return identifiers; - }); - } - - /** - * Returns "structural" identifiers for a `root` node, which includes the name of the `root` and - * the name of any "members", like the names of properties in an interface or class, the name of - * options in an enum, all so we can identify their posistions later on and make sure they reference - * their source location in the source maps. - */ - findStructuralIdentifiers(root: ts.Node): Set { - return this.log.verboseStep('traverse.findStructuralIdentifiers()', root, () => { - const queue = new Set([root]); - const identifiers = new Set(); - - for (const node of queue) { - if (isExportableDec(node)) { - identifiers.add(node.name); - } - - if ( - ts.isClassDeclaration(node) || - ts.isInterfaceDeclaration(node) || - ts.isTypeLiteralNode(node) || - ts.isEnumDeclaration(node) - ) { - for (const member of node.members) { - if (hasIdentifierName(member)) { - identifiers.add(member.name); - } - } - } - } - - return identifiers; - }); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/counter_map.ts b/packages/kbn-type-summarizer/src/lib/counter_map.ts deleted file mode 100644 index afb5c95723a1d..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/counter_map.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * A simple Map wrapper which counts the number of times a value `K` is - * passed to `incr()`. - */ -export class CounterMap { - private counters = new Map(); - - incr(key: K, by: number = 1) { - this.counters.set(key, (this.counters.get(key) ?? 0) + by); - } - - get(key: K): number { - return this.counters.get(key) ?? 0; - } -} diff --git a/packages/kbn-type-summarizer/src/lib/dts_snipper.ts b/packages/kbn-type-summarizer/src/lib/dts_snipper.ts deleted file mode 100644 index 02f25095fcdf1..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/dts_snipper.ts +++ /dev/null @@ -1,257 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { describeNode, Logger } from '@kbn/type-summarizer-core'; -import { DecSymbol } from './ts_nodes'; -import { AstTraverser } from './ast_traverser'; -import { SymbolResolver } from './symbol_resolver'; - -const COMMENT_TRIM = /^(\s+)(\/\*|\*|\/\/)/; - -/** - * A Snippet which represents an arbitrary bit of source code. The `value` - * of these snippets will be included verbatim in the type summary output - */ -export interface SourceSnippet { - type: 'source'; - value: string; -} - -/** - * A Snippet which represents an existing `export` modifier, or the location where - * one should exist if it needs to exist. When printing the `Snippet`s to - * the type summary file we will determine if the structure bring printed - * should be inline-exported, and if so replace this snippet with the - * relevant export/export-type keyword(s). If the structure shouldn't be - * exported inline then we will simply ignore this snippet. - */ -export interface ExportSnippet { - type: 'export'; - noExportRequiresDeclare: boolean; -} - -/** - * A Snippet which represents an identifier in the source. These snippets will - * be replaced with `SourceNode` objects in the type summary output so that - * the `.map` file can be generated which maps the identifiers to their original - * source location. - */ -export interface IdentifierSnippet { - type: 'indentifier'; - rootSymbol: DecSymbol; - identifier: ts.Identifier; - text: string; - structural: boolean; -} - -export type Snippet = SourceSnippet | ExportSnippet | IdentifierSnippet; - -/** - * The DtsSnipper is responsible for taking the source text of an AST node - * and converting it into an array of `Snippet` objects, which allow us to - * reuse the code structure from `.d.ts` produced by TS but replace specific - * snippets of that text with different values or `SourceNode`s from the - * `source-map` library which allows is how we produce source-maps for our - * type summary. - */ -export class DtsSnipper { - constructor( - private readonly traverse: AstTraverser, - private readonly symbols: SymbolResolver, - private readonly log: Logger - ) {} - - private getVariableDeclarationList(node: ts.VariableDeclaration) { - const list = node.parent; - if (!ts.isVariableDeclarationList(list)) { - throw new Error( - `expected parent of variable declaration to be a VariableDeclarationList ${describeNode( - list - )}` - ); - } - return list; - } - - private getSourceWithLeadingComments(node: ts.Node) { - // variable declarations regularly have leading comments but they're two-parents up, so we have to handle them separately - if (!ts.isVariableDeclaration(node)) { - return node.getFullText(); - } - - const list = this.getVariableDeclarationList(node); - if (list.declarations.length > 1) { - return node.getFullText(); - } - - const statement = list.parent; - if (!ts.isVariableStatement(statement)) { - throw new Error('expected parent of VariableDeclarationList to be a VariableStatement'); - } - - return statement.getFullText(); - } - - private getLeadingComments(node: ts.Node): Snippet[] { - const fullText = this.getSourceWithLeadingComments(node); - const ranges = ts.getLeadingCommentRanges(fullText, 0); - if (!ranges) { - return []; - } - - return ranges.flatMap((range) => { - const comment = fullText - .slice(range.pos, range.end) - .split('\n') - .map((line) => { - const match = line.match(COMMENT_TRIM); - if (!match) { - return line; - } - - const [, spaces, type] = match; - return line.slice(type === '*' ? spaces.length - 1 : spaces.length); - }) - .map((line) => `${line}`) - .join('\n'); - - if (comment.startsWith('/// { - const snippets: Snippet[] = this.getLeadingComments(root); - - const getIdStart = (id: ts.Identifier) => - ts.isImportTypeNode(id.parent) - ? id.parent.getStart() - : ts.isQualifiedName(id.parent) && ts.isImportTypeNode(id.parent.parent) - ? id.parent.parent.getStart() - : id.getStart(); - const getIdEnd = (id: ts.Identifier) => - ts.isImportTypeNode(id.parent) - ? id.parent.getEnd() - : ts.isQualifiedName(id.parent) && ts.isImportTypeNode(id.parent.parent) - ? id.parent.parent.getEnd() - : id.getEnd(); - - const structural = this.traverse.findStructuralIdentifiers(root); - const identifiers = Array.from( - new Set([...structural, ...this.traverse.findReferencedIdentifiers(root)]) - ).sort((a, b) => getIdStart(a) - getIdStart(b)); - - const source = root.getText(); - const sourceStart = root.getStart(); - const sourceEnd = sourceStart + source.length; - let cursor = sourceStart; - - // if there is text from the source between our current position and some other position - // then copy it into the result and update our current position to that position - const maybeSlurpTo = (until: number) => { - if (cursor < until) { - snippets.push({ - type: 'source', - value: source.slice(cursor - sourceStart, until - sourceStart), - }); - cursor = until; - } - }; - - // Either replace the existing export with a placeholder, or inject an export placeholder before - // the root nodes own text so we know where to put the export if needed - const exportMod = root.modifiers?.find((m) => m.kind === ts.SyntaxKind.ExportKeyword); - // when TS prints a function declaration to the .d.ts file with an `export` keyword, it doesn't need to be - // `declare`d, so it sometimes skips it. If we end up striping the `export` keyword we need to put `declare` - // in it's place so that the `.d.ts` syntax is valid - const noExportRequiresDeclare = - (ts.isFunctionDeclaration(root) || ts.isClassDeclaration(root)) && - !root.modifiers?.some((m) => m.kind === ts.SyntaxKind.DeclareKeyword); - - if (exportMod) { - const modStart = exportMod.getStart(); - const modEnd = exportMod.getEnd(); - maybeSlurpTo(modStart); - - snippets.push({ - type: 'export', - noExportRequiresDeclare, - }); - - // export is always followed by a space, so skip the space too - cursor = modEnd + 1; - } else { - const rootStart = root.getStart(); - maybeSlurpTo(rootStart); - - snippets.push({ - type: 'export', - noExportRequiresDeclare, - }); - cursor = rootStart; - } - - // inject a `const`, `let`, or `var` before variable declarations - if (ts.isVariableDeclaration(root) && ts.isVariableDeclarationList(root.parent)) { - // eslint-disable-next-line no-bitwise - if (root.parent.flags & ts.NodeFlags.Const) { - snippets.push({ - type: 'source', - value: 'declare const ', - }); - // eslint-disable-next-line no-bitwise - } else if (root.parent.flags & ts.NodeFlags.Let) { - snippets.push({ - type: 'source', - value: 'declare let ', - }); - } else { - snippets.push({ - type: 'source', - value: 'declare var ', - }); - } - } - - for (const identifier of identifiers) { - const start = getIdStart(identifier); - const end = getIdEnd(identifier); - maybeSlurpTo(start); - - snippets.push({ - type: 'indentifier', - identifier, - text: identifier.getText(), - rootSymbol: this.symbols.toRootSymbol( - this.symbols.getForIdentifier(identifier), - identifier - ), - structural: structural.has(identifier), - }); - - cursor = end; - } - - maybeSlurpTo(sourceEnd); - - return snippets; - }); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/export_details.ts b/packages/kbn-type-summarizer/src/lib/export_details.ts deleted file mode 100644 index 6a805e5707fdd..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/export_details.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; - -import { describeNode, isAliasSymbol } from '@kbn/type-summarizer-core'; -import { isExportableDec, getSymbolDeclarations } from './ts_nodes'; - -export type ExportDetails = NamedExportDetails | DefaultExportDetails; - -export interface DefaultExportDetails { - type: 'default'; -} - -export interface NamedExportDetails { - type: 'named'; - typeOnly: boolean; - name: string; -} - -/** - * Determine the export name of an export symbol - */ -function getExportName(node: ts.Node): string { - if (ts.isExportSpecifier(node) || isExportableDec(node)) { - return node.name.text; - } - - throw new Error(`unsure how to get export name from ${describeNode(node)}`); -} - -/** - * Determine if an export symbol was type-only exported. This would be true if the top-level export - * statement is type only, or if there are other export statements up the alias chain where the - * parent symbol was type-only exported. - */ -function isTypeOnlyExported(typeChecker: ts.TypeChecker, exportSymbol: ts.Symbol) { - if (getSymbolDeclarations(exportSymbol).some((e) => ts.isTypeOnlyImportOrExportDeclaration(e))) { - return true; - } - - if (isAliasSymbol(exportSymbol)) { - const next = typeChecker.getImmediateAliasedSymbol(exportSymbol); - if (next && isTypeOnlyExported(typeChecker, next)) { - return true; - } - } - return false; -} - -/** - * Given an exported symbol, determine details about the export from the symbols declarations - * including if it was a type-only export, a default export, or a named export and the name - * it was exported with - */ -export function getExportDetails( - typeChecker: ts.TypeChecker, - exportSymbol: ts.Symbol -): ExportDetails { - if (!exportSymbol.declarations?.length) { - throw new Error('unable to get export details for symbols without any declarations'); - } - - if ( - exportSymbol.declarations.length === 1 && - ts.isExportAssignment(exportSymbol.declarations[0]) - ) { - return { - type: 'default', - }; - } - - return { - type: 'named', - typeOnly: isTypeOnlyExported(typeChecker, exportSymbol), - name: getExportName(exportSymbol.declarations[0]), - }; -} diff --git a/packages/kbn-type-summarizer/src/lib/import_details.ts b/packages/kbn-type-summarizer/src/lib/import_details.ts deleted file mode 100644 index ca68c79fe6a58..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/import_details.ts +++ /dev/null @@ -1,135 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; - -import { describeNode } from '@kbn/type-summarizer-core'; - -interface BaseImportDetails { - typesOnly: boolean; - req: string; - node: T; -} - -/** - * Indicates that the import was using `import * as X from 'y'` syntax - */ -export interface NamespaceImportDetails - extends BaseImportDetails { - type: 'namespace'; -} - -/** - * Indicates that the import was using `import X from 'y'` syntax - */ -export interface DefaultImportDetails extends BaseImportDetails { - type: 'default'; -} - -/** - * Indicates that the import was using `import { X } from 'y'` syntax, along - * with the name of the imported value from the source module. - */ -export interface NamedImportDetails - extends BaseImportDetails { - type: 'named'; - sourceName: string; -} - -/** - * The different types of ImportDetails that can be returned from `getImportDetails()` - */ -export type ImportDetails = NamespaceImportDetails | DefaultImportDetails | NamedImportDetails; - -/** - * Type guard for nodes which have a module specifier - */ -function hasModuleSpecifier( - node: T -): node is T & { moduleSpecifier: ts.StringLiteral } { - return !!(node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)); -} - -/** - * Determine the module request from a node which might have one, otherwise throw - */ -function getReq(node: ts.ImportDeclaration | ts.ExportDeclaration) { - if (hasModuleSpecifier(node)) { - return node.moduleSpecifier.text; - } - - throw new Error( - `syntax error, module specifier should be a string literal ${describeNode(node)}` - ); -} - -/** - * Given any node, determine if it represents a node that is related to an import statement - * and determine the details about that import, including type, req, source name (for named imports) - * and if the import is type-only. - * - * This also works to get the "import" details from `export ... from '...'` statements. - */ -export function getImportDetails(node: ts.Node): ImportDetails | undefined { - // import { bar } from './bar' - if (ts.isImportSpecifier(node)) { - return { - type: 'named', - typesOnly: ts.isTypeOnlyImportOrExportDeclaration(node), - sourceName: node.propertyName?.text ?? node.name.text, - req: getReq(node.parent.parent.parent), - node, - }; - } - - // `export { bar } from './bar'` or `export { x }` - if (ts.isExportSpecifier(node)) { - // if there isn't a related module specifier then this export isn't a type of "import" - if (!node.parent.parent.moduleSpecifier) { - return; - } - - return { - type: 'named', - typesOnly: ts.isTypeOnlyImportOrExportDeclaration(node), - sourceName: node.propertyName?.text ?? node.name.text, - req: getReq(node.parent.parent), - node, - }; - } - - // import Foo from 'foo' - if (ts.isImportClause(node)) { - return { - type: 'default', - typesOnly: ts.isTypeOnlyImportOrExportDeclaration(node), - req: getReq(node.parent), - node, - }; - } - - // import * as Foo from 'foo' - if (ts.isNamespaceImport(node)) { - return { - type: 'namespace', - typesOnly: ts.isTypeOnlyImportOrExportDeclaration(node), - req: getReq(node.parent.parent), - node, - }; - } - - // export * as Foo from 'foo' - if (ts.isNamespaceExport(node)) { - return { - type: 'namespace', - typesOnly: ts.isTypeOnlyImportOrExportDeclaration(node), - req: getReq(node.parent), - node, - }; - } -} diff --git a/packages/kbn-type-summarizer/src/lib/source_file_mapper.ts b/packages/kbn-type-summarizer/src/lib/source_file_mapper.ts deleted file mode 100644 index 0622d31fed5b0..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/source_file_mapper.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; -import { Path } from '@kbn/type-summarizer-core'; -import isPathInside from 'is-path-inside'; - -/** - * Wrapper class around helpers for determining information - * about source files. - */ -export class SourceFileMapper { - constructor(private readonly dtsDir: string) {} - - getAbsolute(node: ts.Node) { - return node.getSourceFile().fileName; - } - - isNodeModule(path: string) { - return ( - isPathInside(path, this.dtsDir) ? Path.relative(this.dtsDir, path) : Path.toNormal(path) - ) - .split('/') - .includes('node_modules'); - } - - isExternal(node: ts.Node) { - const path = this.getAbsolute(node); - return this.isNodeModule(path); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/source_mapper.ts b/packages/kbn-type-summarizer/src/lib/source_mapper.ts deleted file mode 100644 index 86f336a44f19a..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/source_mapper.ts +++ /dev/null @@ -1,149 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; -import { SourceNode, SourceMapConsumer, BasicSourceMapConsumer } from 'source-map'; - -import { Logger, tryReadFile, parseJson, Path, describeNode } from '@kbn/type-summarizer-core'; - -import { SourceFileMapper } from './source_file_mapper'; - -type SourceMapConsumerEntry = [ts.SourceFile, BasicSourceMapConsumer | undefined]; - -/** - * Wrapper class for utilities that deal with reading the source maps produced by - * tsc along with the .d.ts, as well as creating the SourceNode instances we use to - * create our type summary along with source maps. - */ -export class SourceMapper { - static async forSourceFiles( - log: Logger, - sources: SourceFileMapper, - repoRelativePackageDir: string, - program: ts.Program - ) { - const entries = await Promise.all( - program - .getSourceFiles() - .filter((f) => !sources.isNodeModule(f.fileName)) - .sort((a, b) => a.fileName.localeCompare(b.fileName)) - .map(async (sourceFile): Promise => { - if (sources.isNodeModule(sourceFile.fileName)) { - return; - } - - const text = sourceFile.getText(); - const match = text.match(/^\/\/#\s*sourceMappingURL=(.*)/im); - if (!match) { - return [sourceFile, undefined]; - } - - const relSourceFile = Path.cwdRelative(sourceFile.fileName); - const sourceMapPath = Path.join(Path.dirname(sourceFile.fileName), match[1]); - const relSourceMapPath = Path.cwdRelative(sourceMapPath); - const sourceJson = await tryReadFile(sourceMapPath, 'utf8'); - if (!sourceJson) { - throw new Error( - `unable to find source map for [${relSourceFile}] expected at [${match[1]}]` - ); - } - - const json = parseJson(sourceJson, `source map at [${relSourceMapPath}]`); - return [sourceFile, await new SourceMapConsumer(json)]; - }) - ); - - const consumers = new Map(entries.filter((e): e is SourceMapConsumerEntry => !!e)); - log.debug( - 'loaded sourcemaps for', - Array.from(consumers.keys()).map((s) => Path.relative(process.cwd(), s.fileName)) - ); - - return new SourceMapper(consumers, repoRelativePackageDir); - } - - private readonly sourceFixDir: string; - constructor( - private readonly consumers: Map, - repoRelativePackageDir: string - ) { - this.sourceFixDir = Path.join('/', repoRelativePackageDir); - } - - /** - * We ensure that `sourceRoot` is not defined in the tsconfig files, and we assume that the `source` value - * for each file in the source map will be a relative path out of the bazel-out dir and to the `repoRelativePackageDir` - * or some path outside of the package in rare situations. Our goal is to convert each of these source paths - * to new path that is relative to the `repoRelativePackageDir` path. To do this we resolve the `repoRelativePackageDir` - * as if it was at the root of the filesystem, then do the same for the `source`, so both paths should be - * absolute, but only include the path segments from the root of the repo. We then get the relative path from - * the absolute version of the `repoRelativePackageDir` to the absolute version of the `source`, which should give - * us the path to the source, relative to the `repoRelativePackageDir`. - */ - private fixSourcePath(source: string) { - return Path.relative(this.sourceFixDir, Path.join('/', source)); - } - - private findOriginalPosition(node: ts.Node) { - const dtsSource = node.getSourceFile(); - - if (!this.consumers.has(dtsSource)) { - throw new Error(`sourceFile for [${dtsSource.fileName}] didn't have sourcemaps loaded`); - } - - const consumer = this.consumers.get(dtsSource); - if (!consumer) { - return; - } - - const posInDts = dtsSource.getLineAndCharacterOfPosition(node.getStart()); - const pos = consumer.originalPositionFor({ - /* ts line column numbers are 0 based, source map column numbers are also 0 based */ - column: posInDts.character, - /* ts line numbers are 0 based, source map line numbers are 1 based */ - line: posInDts.line + 1, - }); - - return { - ...pos, - source: pos.source ? this.fixSourcePath(pos.source) : null, - }; - } - - getOriginalSourcePath(sourceFile: ts.SourceFile) { - const consumer = this.consumers.get(sourceFile); - if (!consumer) { - throw new Error(`no source map defined for ${describeNode(sourceFile)}`); - } - - if (consumer.sources.length !== 1) { - throw new Error( - `tsc sourcemap produced ${ - consumer.sources.length - } source entries, expected 1: ${describeNode(sourceFile)}` - ); - } - - return this.fixSourcePath(consumer.sources[0]); - } - - getSourceNode(generatedNode: ts.Node, code: string) { - const pos = this.findOriginalPosition(generatedNode); - - if (pos && pos.line && pos.column && pos.source) { - return new SourceNode(pos.line, pos.column, pos.source, code, pos.name ?? undefined); - } - } - - close() { - for (const consumer of this.consumers.values()) { - consumer?.destroy(); - } - this.consumers.clear(); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/symbol_resolver.ts b/packages/kbn-type-summarizer/src/lib/symbol_resolver.ts deleted file mode 100644 index 299cc8d38943c..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/symbol_resolver.ts +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { Logger, isAliasSymbol, CliError, describeNode } from '@kbn/type-summarizer-core'; -import { DecSymbol, isDecSymbol } from './ts_nodes'; -import { getImportDetails } from './import_details'; - -/** - * Wrapper class around utilities for resolving symbols and producing meaningful errors when those - * symbols can't be resolved properly. - */ -export class SymbolResolver { - constructor(private readonly typeChecker: ts.TypeChecker, private readonly log: Logger) {} - - getForIdentifier(id: ts.Identifier) { - return this.log.verboseStep('symbols.getForIdentifier()', id, () => { - const symbol = this.typeChecker.getSymbolAtLocation(id); - if (!symbol) { - throw new Error(`unable to find symbol for ${describeNode(id)}`); - } - - return symbol; - }); - } - - toRootSymbol(alias: ts.Symbol, source?: ts.Node): DecSymbol { - return this.log.verboseStep('symbols.toRootSymbol()', alias, () => { - const root = isAliasSymbol(alias) ? this.typeChecker.getAliasedSymbol(alias) : alias; - - if (!isDecSymbol(root)) { - const importDetails = [...(alias.declarations ?? []), ...(source ? [source] : [])].flatMap( - (d) => getImportDetails(d) ?? [] - ); - - if (importDetails.length) { - throw new CliError( - `unable to find declarations for symbol imported from "${ - importDetails[0].req - }". If this is an external module, make sure is it listed in the type dependencies for this package. If it's internal then make sure that TypeScript understands the types of the imported value. Imported: ${describeNode( - importDetails[0].node - )}` - ); - } - - throw new Error('expected symbol to have declarations'); - } - - return root; - }); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/dec_symbol.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/dec_symbol.ts deleted file mode 100644 index c4443ed25de9c..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/dec_symbol.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -export type DecSymbol = ts.Symbol & { - declarations: NonNullable; -}; - -export function isDecSymbol(symbol: ts.Symbol): symbol is DecSymbol { - return !!symbol.declarations && symbol.declarations.length > 0; -} - -export function assertDecSymbol(symbol: ts.Symbol): asserts symbol is DecSymbol { - if (!isDecSymbol(symbol)) { - throw new Error(`Expected symbol to have declarations.`); - } -} - -export function toDecSymbol(symbol: ts.Symbol): DecSymbol { - assertDecSymbol(symbol); - return symbol; -} - -export function getSymbolDeclarations(symbol: ts.Symbol) { - assertDecSymbol(symbol); - return symbol.declarations; -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/export_from.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/export_from.ts deleted file mode 100644 index bbedffd232753..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/export_from.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -export type ExportFromDeclaration = ts.ExportDeclaration & { - moduleSpecifier: NonNullable; -}; - -export function isExportFromDeclaration(node: ts.Node): node is ExportFromDeclaration { - return ts.isExportDeclaration(node) && !!node.moduleSpecifier; -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/exportable_node.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/exportable_node.ts deleted file mode 100644 index c9657523104bf..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/exportable_node.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { describeNode, hasIdentifierName } from '@kbn/type-summarizer-core'; - -export type ExportableDec = ( - | ts.ClassDeclaration - | ts.FunctionDeclaration - | ts.TypeAliasDeclaration - | ts.VariableDeclaration - | ts.InterfaceDeclaration - | ts.EnumDeclaration - | ts.ModuleDeclaration -) & { name: ts.Identifier }; - -export function isExportableDec(node: ts.Node): node is ExportableDec { - return ( - (node.kind === ts.SyntaxKind.ClassDeclaration || - node.kind === ts.SyntaxKind.FunctionDeclaration || - node.kind === ts.SyntaxKind.TypeAliasDeclaration || - node.kind === ts.SyntaxKind.VariableDeclaration || - node.kind === ts.SyntaxKind.InterfaceDeclaration || - node.kind === ts.SyntaxKind.EnumDeclaration || - node.kind === ts.SyntaxKind.ModuleDeclaration) && - hasIdentifierName(node) - ); -} - -export function assertExportableDec(node: ts.Node): asserts node is ExportableDec { - if (!isExportableDec(node)) { - throw new Error(`not a valid ExportableDec ${describeNode(node)}`); - } -} - -export function toExportableDec(node: ts.Node): ExportableDec { - assertExportableDec(node); - return node; -} - -export function isTypeDeclaration(dec: ExportableDec) { - return ( - ts.isInterfaceDeclaration(dec) || - ts.isTypeAliasDeclaration(dec) || - ts.isEnumDeclaration(dec) || - ts.isModuleDeclaration(dec) - ); -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/imports.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/imports.ts deleted file mode 100644 index fefde651a0aef..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/imports.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { describeNode } from '@kbn/type-summarizer-core'; - -export interface ImportDescriptor { - declaration: ts.ImportDeclaration | ts.ExportDeclaration; - moduleSpecifier: string; -} - -export function getImportDescriptor( - specifier: ts.ImportSpecifier | ts.ExportSpecifier -): ImportDescriptor | undefined { - const declaration = ts.isImportSpecifier(specifier) - ? // import specifiers are always within NamedImports nodes - // which are always with ImportClause nodes - // which are always within ImportDeclaration nodes - specifier.parent.parent.parent - : // export specifiers are always within NamedExports nodes - // which are always within ExportDeclaration nodes - specifier.parent.parent; - - if (declaration.moduleSpecifier && ts.isStringLiteral(declaration.moduleSpecifier)) { - return { - declaration, - moduleSpecifier: declaration.moduleSpecifier.text, - }; - } - - if (ts.isImportDeclaration(declaration) && !ts.isStringLiteral(declaration.moduleSpecifier)) { - throw new Error( - `SyntaxError: ImportDeclaration.moduleSpecifier must be a string literal ${describeNode( - declaration - )}` - ); - } - - return undefined; -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/index.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/index.ts deleted file mode 100644 index 148c8d5a870ed..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export * from './dec_symbol'; -export * from './export_from'; -export * from './exportable_node'; -export * from './imports'; -export * from './syntax_kind'; diff --git a/packages/kbn-type-summarizer/src/lib/ts_nodes/syntax_kind.ts b/packages/kbn-type-summarizer/src/lib/ts_nodes/syntax_kind.ts deleted file mode 100644 index 7d4a4a80761cf..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_nodes/syntax_kind.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -export function assertKind( - node: ts.Node, - test: (n: ts.Node) => n is T -): asserts node is T { - if (!test(node)) { - throw new Error( - `expected node to match [${test.name}], actual kind: ${ts.SyntaxKind[node.kind]}` - ); - } -} diff --git a/packages/kbn-type-summarizer/src/lib/ts_project.ts b/packages/kbn-type-summarizer/src/lib/ts_project.ts deleted file mode 100644 index 9d3a43ba11130..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/ts_project.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; - -/** - * Parse a tsconfig file and list of input files into a TypeScript Program object. - */ -export function createTsProject(tsConfig: ts.ParsedCommandLine, rootNames: string[]) { - return ts.createProgram({ - rootNames, - options: { - ...tsConfig.options, - skipLibCheck: false, - }, - projectReferences: tsConfig.projectReferences, - }); -} diff --git a/packages/kbn-type-summarizer/src/lib/tsconfig_file.ts b/packages/kbn-type-summarizer/src/lib/tsconfig_file.ts deleted file mode 100644 index d8ecd1b559a5e..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/tsconfig_file.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import * as ts from 'typescript'; - -import { CliError, Path } from '@kbn/type-summarizer-core'; - -/** - * Read TS's special variable of JSON from a file into a plain object - */ -function readTsConfigFile(path: string) { - const json = ts.readConfigFile(path, ts.sys.readFile); - - if (json.error) { - throw new CliError(`Unable to load tsconfig file: ${json.error.messageText}`); - } - - return json.config; -} - -/** - * Read a tsconfig.json file from dist and parse it using utilities from the typscript package. - */ -export function loadTsConfigFile(path: string) { - return ts.parseJsonConfigFileContent(readTsConfigFile(path) ?? {}, ts.sys, Path.dirname(path)); -} diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/export_some_name.ts b/packages/kbn-type-summarizer/src/lib/type_summary/export_some_name.ts deleted file mode 100644 index d8616d5ae4923..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/export_some_name.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { NamedExportDetails } from '../export_details'; - -/** - * Create an export statement for some name already in scope - */ -export const exportSomeName = ({ name, typeOnly }: NamedExportDetails, localName: string) => { - return `export ${typeOnly ? `type ` : ''}{${ - name === localName ? name : `${localName} as ${name}` - }}\n`; -}; diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/index.ts b/packages/kbn-type-summarizer/src/lib/type_summary/index.ts deleted file mode 100644 index b12e1d0c22090..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export { printTypeSummary } from './print_type_summary'; diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/print_imports.ts b/packages/kbn-type-summarizer/src/lib/type_summary/print_imports.ts deleted file mode 100644 index 542b4bc3c3e2a..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/print_imports.ts +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Logger } from '@kbn/type-summarizer-core'; -import { SourceNode } from 'source-map'; - -import { ImportedDecs } from '../ast_index'; - -import { TypeSummaryNamer } from './type_summary_namer'; -import { exportSomeName } from './export_some_name'; - -/** - * Convert an import request into a usable keyword, for when we don't have much information about a good name for an import - */ -const reqToKeyword = (req: string) => - req.split(/[A-Z\W]/).reduce((acc, chunk) => { - if (!chunk) { - return acc; - } - if (acc) { - return acc + chunk[0].toUpperCase() + chunk.slice(1).toLowerCase(); - } - return chunk.toLowerCase(); - }, ''); - -/** - * Reads the imports from the `index` and adds the necessary `SourceNode`s to the `source` for each. - */ -export function printImports( - imports: ImportedDecs[], - names: TypeSummaryNamer, - log: Logger, - source: SourceNode -) { - log.step('printImports()', `${imports.length} imports`, () => { - for (const i of imports) { - const name = names.get( - i.rootSymbol, - // if we don't use it locally, don't try to re-use its name - i.localUsageCount ? i.details.node.name?.getText() ?? reqToKeyword(i.details.req) : '_' - ); - - if (i.details.type === 'default') { - source.add(`import ${name} from '${i.details.req}'\n`); - for (const exported of i.exports) { - if (exported.type === 'default') { - source.add(`export default ${name}\n`); - } else { - source.add(exportSomeName(exported, name)); - } - } - } else if (i.details.type === 'namespace') { - source.add(`import * as ${name} from '${i.details.req}'\n`); - for (const exported of i.exports) { - if (exported.type === 'default') { - source.add(`export default ${name}\n`); - } else { - source.add(exportSomeName(exported, name)); - } - } - } else { - const { details, exports, localUsageCount } = i; - - let imported = false; - const ensureImported = () => { - if (!imported) { - imported = true; - source.add( - `import { ${ - details.sourceName !== name ? `${details.sourceName} as ${name}` : name - } } from '${details.req}'\n` - ); - } - }; - - if (localUsageCount) { - ensureImported(); - } - - for (const exported of exports) { - if (exported.type === 'default') { - ensureImported(); - source.add(`export default ${name}\n`); - } else { - source.add( - `export ${exported.typeOnly ? `type ` : ''}{ ${ - exported.name !== details.sourceName - ? `${details.sourceName} as ${exported.name}` - : details.sourceName - } } from '${details.req}'\n` - ); - } - } - } - } - - source.add('\n'); - }); -} diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/print_locals.ts b/packages/kbn-type-summarizer/src/lib/type_summary/print_locals.ts deleted file mode 100644 index 332b34b6d731e..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/print_locals.ts +++ /dev/null @@ -1,142 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Logger } from '@kbn/type-summarizer-core'; -import { SourceNode } from 'source-map'; - -import { isTypeDeclaration } from '../ts_nodes'; -import { LocalDecs } from '../ast_index'; -import { SourceMapper } from '../source_mapper'; -import { DtsSnipper } from '../dts_snipper'; - -import { TypeSummaryNamer } from './type_summary_namer'; -import { exportSomeName } from './export_some_name'; - -/** - * Reads `locals` and adds necessary `SourceNode`s to `source` to reproduce the declarations - * of each local. - * - * Local printing is primarily done using the `DtsSnipper` which reads the original definition - * of the given declaration from the .d.ts files produced by tsc, then breaks them up into - * "snippets" (more details in the DtsSnipper class). These snippets are then itterated to either - * produce SourceNodes or text for the resulting definition. - * - * The exception is NamespaceDec locals, which must synthesize an imported namespace either - * for local usage or for exporting. When a namespace import is used a structure similar to - * the following will be added to the type summary: - * - * declare namespace NamespaceName { - * export { - * foo, - * bar, - * baz, - * } - * } - * export { NamespaceName } - */ -export function printLocals( - locals: LocalDecs[], - names: TypeSummaryNamer, - sourceMaps: SourceMapper, - snipper: DtsSnipper, - log: Logger, - source: SourceNode -) { - const localDecCount = locals.reduce( - (acc, l) => acc + (l.type === 'namespace dec' ? 1 : l.decs.length), - 0 - ); - - log.step('printLocals()', `${localDecCount} decs`, () => { - for (const local of locals) { - if (local.type === 'namespace dec') { - const name = names.get( - local.rootSymbol, - local.exported?.type === 'named' ? local.exported.name : 'ns' - ); - - // synthesize the namespace that represents the namespace import - source.add([ - `declare namespace `, - new SourceNode(1, 0, sourceMaps.getOriginalSourcePath(local.sourceFile), name), - ` {\n`, - ]); - source.add(` export {\n`); - // members - for (const [memberName, symbol] of local.members) { - const refName = names.get(symbol, memberName); - source.add( - ` ${memberName === refName ? memberName : `${refName} as ${memberName}`},\n` - ); - } - source.add(` }\n`); - source.add(`}\n`); - - if (local.exported?.type === 'named') { - source.add(exportSomeName(local.exported, name)); - } - - if (local.exported?.type === 'default') { - source.add(`export default ${name}`); - } - - continue; - } - - const decName = names.get( - local.rootSymbol, - local.exported?.type === 'named' ? local.exported.name : local.decs[0].name.getText() - ); - const exportLocally = - local.exported?.type === 'named' && - (local.decs.every(isTypeDeclaration) || !local.exported.typeOnly) && - decName === local.exported.name; - - for (const dec of local.decs) { - for (const s of snipper.toSnippets(dec)) { - if (s.type === 'source') { - source.add(s.value); - continue; - } - - if (s.type === 'export') { - // only print the export if we are exporting locally, otherwise drop this snipped - if (exportLocally) { - if (local.exported?.type === 'default') { - source.add(`export default `); - } else { - source.add(`export `); - } - } else { - if (s.noExportRequiresDeclare) { - source.add(`declare `); - } - } - continue; - } - - const name = names.get(s.rootSymbol, s.text); - source.add(s.structural ? sourceMaps.getSourceNode(s.identifier, name) ?? name : name); - } - - source.add('\n'); - } - - if (!exportLocally) { - if (local.exported?.type === 'named') { - source.add(exportSomeName(local.exported, decName)); - } - if (local.exported?.type === 'default') { - source.add(`export default ${decName}\n`); - } - } - - source.add('\n'); - } - }); -} diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/print_type_summary.ts b/packages/kbn-type-summarizer/src/lib/type_summary/print_type_summary.ts deleted file mode 100644 index 0ac9430dcc86d..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/print_type_summary.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { SourceNode } from 'source-map'; - -import { Logger } from '@kbn/type-summarizer-core'; -import { AstIndex } from '../ast_index'; -import { DtsSnipper } from '../dts_snipper'; -import { SourceMapper } from '../source_mapper'; -import { TypeSummaryNamer } from './type_summary_namer'; - -import { printImports } from './print_imports'; -import { printLocals } from './print_locals'; - -/** - * Produces a `SourceNode` which includes the code and source maps for the type summary. To deal - * with naming conflicts a `TypeSummaryNamer` instance is created which will allow the printing - * functions to resolve a `rootSymbol` to a specific name. If a name is not already defines for - * this `rootSymbol` then one is generated for it (generated names are optionally influenced by - * a `hint`). - * - * The result of this function is a `SourceNode` which has functions necessary to produce the - * resulting source code (a .d.ts file) and source map which maps the structurs in the .d.ts file - * to their original source locations in the repository. - */ -export function printTypeSummary( - sourceMaps: SourceMapper, - snipper: DtsSnipper, - log: Logger, - index: AstIndex -) { - const names = new TypeSummaryNamer(index); - const source = new SourceNode(); - printImports(index.imports, names, log, source); - printLocals(index.locals, names, sourceMaps, snipper, log, source); - return source; -} diff --git a/packages/kbn-type-summarizer/src/lib/type_summary/type_summary_namer.ts b/packages/kbn-type-summarizer/src/lib/type_summary/type_summary_namer.ts deleted file mode 100644 index 8862f9fc3f438..0000000000000 --- a/packages/kbn-type-summarizer/src/lib/type_summary/type_summary_namer.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; - -import { AstIndex } from '../ast_index'; - -const INVALID_NAMES = ['default', 'import', 'export']; - -/** - * Class which is reponsible for managing the list of used names and assigning - * new names to "root symbols". - */ -export class TypeSummaryNamer { - public readonly rootDecsSymbols = new Set(); - private readonly usedNames = new Set(); - private readonly namesBySymbol = new Map(); - - constructor(index: AstIndex) { - for (const ref of index.ambientRefs) { - this.usedNames.add(ref.name); - this.namesBySymbol.set(ref.rootSymbol, ref.name); - } - - for (const l of index.locals) { - this.rootDecsSymbols.add(l.rootSymbol); - if (l.exported?.type === 'named') { - // assign export name to this root symbol, if possible - if (this.usedNames.has(l.exported.name)) { - throw new Error(`multiple exports using the name ${l.exported.name}`); - } - - this.usedNames.add(l.exported.name); - this.namesBySymbol.set(l.rootSymbol, l.exported.name); - } - } - for (const i of index.imports) { - this.rootDecsSymbols.add(i.rootSymbol); - } - } - - get(rootSymbol: ts.Symbol, nameFromSource: string) { - if (!this.rootDecsSymbols.has(rootSymbol)) { - return nameFromSource; - } - - const existing = this.namesBySymbol.get(rootSymbol); - if (existing !== undefined) { - return existing; - } - - let counter = 0; - let name = nameFromSource; - while (this.usedNames.has(name) || INVALID_NAMES.includes(name)) { - name = `${nameFromSource}_${++counter}`; - } - - this.usedNames.add(name); - this.namesBySymbol.set(rootSymbol, name); - return name; - } -} diff --git a/packages/kbn-type-summarizer/src/summarize_package.ts b/packages/kbn-type-summarizer/src/summarize_package.ts deleted file mode 100644 index 7ca85a273b436..0000000000000 --- a/packages/kbn-type-summarizer/src/summarize_package.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Logger } from '@kbn/type-summarizer-core'; - -import { createTsProject } from './lib/ts_project'; -import { loadTsConfigFile } from './lib/tsconfig_file'; -import { SourceMapper } from './lib/source_mapper'; -import { AstIndexer } from './lib/ast_indexer'; -import { SourceFileMapper } from './lib/source_file_mapper'; -import { SymbolResolver } from './lib/symbol_resolver'; -import { AstTraverser } from './lib/ast_traverser'; -import { printTypeSummary } from './lib/type_summary'; -import { DtsSnipper } from './lib/dts_snipper'; - -/** - * Options used to customize the summarizePackage function - */ -export interface SummarizePacakgeOptions { - /** - * Absolute path to the directory containing the .d.ts files produced by `tsc`. Maps to the - * `declarationDir` compiler option. - */ - dtsDir: string; - /** - * Absolute path to the tsconfig.json file for the project we are summarizing - */ - tsconfigPath: string; - /** - * Array of absolute paths to the .d.ts files which will be summarized. Each file in this - * array will cause an output .d.ts summary file to be created containing all the AST nodes - * which are exported or referenced by those exports. - */ - inputPath: string; - /** - * Repo-relative path to the package source, for example `packages/kbn-type-summarizer-core` for - * this package. This is used to provide the correct `sourceRoot` path in the resulting source - * map files. - */ - repoRelativePackageDir: string; -} - -/** - * Produce summary .d.ts files for a package - */ -export async function summarizePackage(log: Logger, options: SummarizePacakgeOptions) { - const tsConfig = log.step('load config', options.tsconfigPath, () => - loadTsConfigFile(options.tsconfigPath) - ); - - if (tsConfig.options.sourceRoot) { - throw new Error(`${options.tsconfigPath} must not define "compilerOptions.sourceRoot"`); - } - - const program = log.step('create project', options.inputPath, () => - createTsProject(tsConfig, [options.inputPath]) - ); - - const typeChecker = log.step('create type checker', null, () => program.getTypeChecker()); - - const sources = new SourceFileMapper(options.dtsDir); - const symbols = new SymbolResolver(typeChecker, log); - const traverse = new AstTraverser(symbols, sources, log); - const indexer = new AstIndexer(typeChecker, sources, symbols, traverse, log); - - const sourceFile = program.getSourceFile(options.inputPath); - if (!sourceFile) { - throw new Error(`input file wasn't included in the program`); - } - - const index = indexer.indexExports(sourceFile); - const sourceMaps = await SourceMapper.forSourceFiles( - log, - sources, - options.repoRelativePackageDir, - program - ); - - const snipper = new DtsSnipper(traverse, symbols, log); - const summary = printTypeSummary(sourceMaps, snipper, log, index); - - sourceMaps.close(); - - return summary; -} diff --git a/packages/kbn-type-summarizer/src/tests/integration_helpers.ts b/packages/kbn-type-summarizer/src/tests/integration_helpers.ts deleted file mode 100644 index ebf88faa7db4c..0000000000000 --- a/packages/kbn-type-summarizer/src/tests/integration_helpers.ts +++ /dev/null @@ -1,252 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fsp from 'fs/promises'; - -import * as ts from 'typescript'; -import stripAnsi from 'strip-ansi'; -import normalizePath from 'normalize-path'; -import { TestLog } from '@kbn/type-summarizer-core'; - -import { loadTsConfigFile } from '../lib/tsconfig_file'; -import { createTsProject } from '../lib/ts_project'; -import { summarizePackage } from '../summarize_package'; -import { SourceFileMapper } from '../lib/source_file_mapper'; -import { AstIndexer } from '../lib/ast_indexer'; -import { SymbolResolver } from '../lib/symbol_resolver'; -import { AstTraverser } from '../lib/ast_traverser'; -import { DtsSnipper } from '../lib/dts_snipper'; -import { SourceMapReader } from './source_map_reader'; - -type DiagFilter = (msg: string) => boolean; - -interface InitOptions { - ignoreDiags?: DiagFilter; -} - -export const TMP_DIR = Path.resolve(__dirname, '../../__tmp__'); - -const DIAGNOSTIC_HOST = { - getCanonicalFileName: (p: string) => p, - getCurrentDirectory: () => process.cwd(), - getNewLine: () => '\n', -}; - -function dedent(string: string) { - const lines = string.split('\n'); - while (lines.length && lines[0].trim() === '') { - lines.shift(); - } - if (lines.length === 0) { - return ''; - } - const indent = lines[0].split('').findIndex((c) => c !== ' '); - return lines.map((l) => l.slice(indent)).join('\n'); -} - -function ensureDts(path: string) { - if (path.endsWith('.d.ts')) { - throw new Error('path should end with .ts, not .d.ts'); - } - return `${path.slice(0, -3)}.d.ts`; -} - -export class TestProject { - /* directory where mockFiles pretend to be from */ - private readonly sourceDir = Path.resolve(TMP_DIR, 'src'); - /* directory where we will write .d.ts versions of mockFiles */ - private readonly dtsOutputDir = Path.resolve(TMP_DIR, 'dist_dts'); - /* path where the tsconfig.json file will be written */ - private readonly tsconfigPath = Path.resolve(this.sourceDir, 'tsconfig.json'); - - /* .d.ts file which we will read to discover the types we need to summarize */ - private readonly inputPath = ensureDts(Path.resolve(this.dtsOutputDir, 'index.ts')); - - private readonly log = new TestLog(); - - constructor( - /* file contents which will be fed into TypeScript for this test */ - private readonly _mockFiles: Record - ) {} - - private *mockFiles() { - for (const [key, value] of Object.entries(this._mockFiles)) { - yield [key, value] as [FileName, string]; - } - } - - private *fileRels() { - for (const key of Object.keys(this._mockFiles)) { - yield key as FileName; - } - } - - /** - * Initialize the TMP_DIR and write files to the sourceDir - */ - private async setupTempDir() { - // write mock files to the filesystem - await Promise.all( - Array.from(this.mockFiles()).map(async ([rel, content]) => { - const path = Path.resolve(this.sourceDir, rel); - await Fsp.mkdir(Path.dirname(path), { recursive: true }); - await Fsp.writeFile(path, dedent(content)); - }) - ); - - // write tsconfig.json to the filesystem - await Fsp.writeFile( - this.tsconfigPath, - JSON.stringify({ - include: [`**/*.ts`, `**/*.tsx`], - compilerOptions: { - moduleResolution: 'node', - target: 'es2021', - module: 'CommonJS', - strict: true, - esModuleInterop: true, - allowSyntheticDefaultImports: true, - declaration: true, - emitDeclarationOnly: true, - declarationDir: '../dist_dts', - declarationMap: true, - types: ['node'], - // prevent loading all @types packages - typeRoots: [], - }, - }) - ); - } - - /** - * convert the source files in the sourceDir to .d.ts files in the dtrOutputDir - */ - private async buildDtsOutput(ignoreDiags?: DiagFilter) { - const program = createTsProject( - loadTsConfigFile(this.tsconfigPath), - Array.from(this.fileRels()) - .map((n) => Path.resolve(this.sourceDir, n)) - .filter((p) => p.endsWith('.ts') || p.endsWith('.tsx')) - ); - - this.printDiagnostics( - [ - [`dts/config`, program.getConfigFileParsingDiagnostics()], - [`dts/global`, program.getGlobalDiagnostics()], - [`dts/options`, program.getOptionsDiagnostics()], - [`dts/semantic`, program.getSemanticDiagnostics()], - [`dts/syntactic`, program.getSyntacticDiagnostics()], - [`dts/declaration`, program.getDeclarationDiagnostics()], - ], - ignoreDiags - ); - - const result = program.emit(undefined, undefined, undefined, true); - - this.printDiagnostics([['dts/results', result.diagnostics]], ignoreDiags); - - // copy .d.ts files from source to dist - for (const [rel, content] of this.mockFiles()) { - if (rel.endsWith('.d.ts')) { - const path = Path.resolve(this.dtsOutputDir, rel); - await Fsp.mkdir(Path.dirname(path), { recursive: true }); - await Fsp.writeFile(path, dedent(content as string)); - } - } - } - - /** - * Print diagnostics from TS so we know when something is wrong in the tests - */ - private printDiagnostics( - types: Array<[type: string, diagnostics: readonly ts.Diagnostic[]]>, - ignoreDiags?: DiagFilter - ) { - const messages = []; - for (const [type, diagnostics] of types) { - const errors = diagnostics.filter((d) => d.category === ts.DiagnosticCategory.Error); - if (!errors.length) { - continue; - } - - const message = ts.formatDiagnosticsWithColorAndContext(errors, DIAGNOSTIC_HOST); - if (ignoreDiags && ignoreDiags(message)) { - continue; - } - messages.push( - ` type(${type}):\n${message - .split('\n') - .map((l) => ` ${l}`) - .join('\n')}` - ); - } - - if (messages.length) { - throw new Error(`TS produced error diagnostics:\n${messages}`); - } - } - - async runTypeSummarizer() { - await this.setupTempDir(); - await this.buildDtsOutput(); - - // summarize the .d.ts files into the output dir - const sourceNode = await summarizePackage(this.log, { - dtsDir: normalizePath(this.dtsOutputDir), - inputPath: normalizePath(this.inputPath), - repoRelativePackageDir: 'src', - tsconfigPath: normalizePath(this.tsconfigPath), - }); - - const { map, code } = sourceNode.toStringWithSourceMap(); - - // return the results - return { - code, - map: await SourceMapReader.snapshot(map, code, this.sourceDir), - logs: stripAnsi(this.log.messages.splice(0).join('')), - }; - } - - async initAstIndexer(options?: InitOptions) { - await this.setupTempDir(); - await this.buildDtsOutput(options?.ignoreDiags); - - const tsConfig = loadTsConfigFile(this.tsconfigPath); - const program = createTsProject(tsConfig, [this.inputPath]); - const typeChecker = program.getTypeChecker(); - const sources = new SourceFileMapper(this.dtsOutputDir); - const symbols = new SymbolResolver(typeChecker, this.log); - const traverse = new AstTraverser(symbols, sources, this.log); - const indexer = new AstIndexer(typeChecker, sources, symbols, traverse, this.log); - const snipper = new DtsSnipper(traverse, symbols, this.log); - - const sourceFiles = Object.fromEntries( - Array.from(this.fileRels()).map((rel) => [ - rel, - program.getSourceFile(Path.resolve(this.dtsOutputDir, this.getDtsRel(rel)))!, - ]) - ) as Record; - - return { program, typeChecker, indexer, sourceFiles, snipper }; - } - - private getDtsRel(rel: string) { - if (!rel.endsWith('.d.ts') && rel.endsWith('.ts')) { - return `${rel.slice(0, -3)}.d.ts`; - } - - return rel; - } - - async cleanup() { - // wipe out the tmp dir - await Fsp.rm(TMP_DIR, { recursive: true, force: true }); - } -} diff --git a/packages/kbn-type-summarizer/src/tests/integration_tests/ast_indexer.test.ts b/packages/kbn-type-summarizer/src/tests/integration_tests/ast_indexer.test.ts deleted file mode 100644 index c453dd2e90c08..0000000000000 --- a/packages/kbn-type-summarizer/src/tests/integration_tests/ast_indexer.test.ts +++ /dev/null @@ -1,543 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import ts from 'typescript'; -import { createRecursiveSerializer } from '@kbn/jest-serializers'; -import { describeNode, describeSymbol } from '@kbn/type-summarizer-core'; -import { TestProject, TMP_DIR } from '../integration_helpers'; - -const isObj = (v: any): v is Record => typeof v === 'object' && v !== null; - -expect.addSnapshotSerializer( - createRecursiveSerializer( - (v) => isObj(v) && typeof v.kind === 'number' && ts.SyntaxKind[v.kind] !== undefined, - (v: ts.Node, printRaw) => printRaw(describeNode(v, TMP_DIR)) - ) -); -expect.addSnapshotSerializer( - createRecursiveSerializer( - (v) => isObj(v) && Array.isArray(v.declarations), - (v: ts.Symbol, printRaw) => printRaw(describeSymbol(v, TMP_DIR)) - ) -); - -describe('indexExports()', () => { - describe('simple', () => { - const project = new TestProject({ - 'index.ts': ` - import { Foo } from './foo'; - export { Foo } - export { Bar } from './bar'; - import { Bar } from './bar'; - import { libFn } from 'lib'; - export { libFn } from 'lib'; - import * as A from './a' - export { A } - export type B = Foo | Bar | typeof libFn; - `, - 'foo.ts': ` - export class Foo {} - `, - 'bar.ts': ` - import { Foo } from './foo' - export class Bar extends Foo {} - `, - 'a.ts': ` - export const a = 'a'; - `, - 'node_modules/lib/index.ts': ` - export function libFn() { - } - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('produces valid index', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [ - Object { - "details": Object { - "node": ts.ExportSpecifier (libFn) @ dist_dts/index.d.ts:6:10, - "req": "lib", - "sourceName": "libFn", - "type": "named", - "typesOnly": false, - }, - "exports": Array [ - Object { - "name": "libFn", - "type": "named", - "typeOnly": false, - }, - ], - "localUsageCount": 1, - "rootSymbol": Symbol(ts.FunctionDeclaration (libFn) @ dist_dts/node_modules/lib/index.d.ts:1:1), - "type": "imported decs", - }, - ], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (Foo) @ dist_dts/foo.d.ts:1:1, - ], - "exported": Object { - "name": "Foo", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.ClassDeclaration (Foo) @ dist_dts/foo.d.ts:1:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.ClassDeclaration (Bar) @ dist_dts/bar.d.ts:2:1, - ], - "exported": Object { - "name": "Bar", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.ClassDeclaration (Bar) @ dist_dts/bar.d.ts:2:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.VariableDeclaration (a) @ dist_dts/a.d.ts:1:22, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.VariableDeclaration (a) @ dist_dts/a.d.ts:1:22), - "type": "copied decs", - }, - Object { - "exported": Object { - "name": "A", - "type": "named", - "typeOnly": false, - }, - "members": Map { - "a" => Symbol(ts.VariableDeclaration (a) @ dist_dts/a.d.ts:1:22), - }, - "rootSymbol": Symbol(ts.SourceFile @ dist_dts/a.d.ts:1:1), - "sourceFile": ts.SourceFile @ dist_dts/a.d.ts:1:1, - "type": "namespace dec", - }, - Object { - "decs": Array [ - ts.TypeAliasDeclaration (B) @ dist_dts/index.d.ts:9:1, - ], - "exported": Object { - "name": "B", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.TypeAliasDeclaration (B) @ dist_dts/index.d.ts:9:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('export references', () => { - const project = new TestProject({ - 'index.ts': ` - import type {Class} from './foo' - export function name(i: Class) { - return 'string' - } - `, - 'foo.ts': ` - export class Class {} - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('includes referenced declarations in locals', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (Class) @ dist_dts/foo.d.ts:1:1, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.ClassDeclaration (Class) @ dist_dts/foo.d.ts:1:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:2:1, - ], - "exported": Object { - "name": "name", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:2:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('ambient types', () => { - const project = new TestProject({ - 'index.ts': ` - import './globals' - import './fakemodule' - import { FakeImport } from 'foo' - export async function x(a: SomeGlobal, b: FakeImport): Promise { - return 'foo' - } - `, - 'globals.d.ts': ` - interface SomeGlobal { - foo: true - } - `, - 'fakemodule.d.ts': ` - declare module "foo" { - export interface FakeImport { - bar: true - } - } - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('includes declarations for local ambient types, "ambientRefs" for globals', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [ - Object { - "name": "Promise", - "rootSymbol": Symbol(ts.InterfaceDeclaration (Promise) @ ../../../node_modules/typescript/lib/lib.es5.d.ts:1495:1), - "type": "ambient ref", - }, - ], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.InterfaceDeclaration (SomeGlobal) @ dist_dts/globals.d.ts:1:1, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.InterfaceDeclaration (SomeGlobal) @ dist_dts/globals.d.ts:1:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.InterfaceDeclaration (FakeImport) @ dist_dts/fakemodule.d.ts:2:3, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.InterfaceDeclaration (FakeImport) @ dist_dts/fakemodule.d.ts:2:3), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.FunctionDeclaration (x) @ dist_dts/index.d.ts:4:1, - ], - "exported": Object { - "name": "x", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.FunctionDeclaration (x) @ dist_dts/index.d.ts:4:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('type only exports', () => { - const project = new TestProject({ - 'index.ts': ` - export * from './foo' - `, - 'foo.ts': ` - class Class {} - export type { Class } - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('exports by value one value is exported twice and either is by value', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (Class) @ dist_dts/foo.d.ts:1:1, - ], - "exported": Object { - "name": "Class", - "type": "named", - "typeOnly": true, - }, - "rootSymbol": Symbol(ts.ClassDeclaration (Class) @ dist_dts/foo.d.ts:1:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('export by type combining', () => { - const project = new TestProject({ - 'index.ts': ` - export * from './foo' - export * from './bar' - `, - 'foo.ts': ` - export { Class } from './class' - `, - 'bar.ts': ` - export type { Class } from './class' - `, - 'class.ts': ` - export class Class {} - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('exports by value one value is exported twice and either is by value', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (Class) @ dist_dts/class.d.ts:1:1, - ], - "exported": Object { - "name": "Class", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.ClassDeclaration (Class) @ dist_dts/class.d.ts:1:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('ignores importTypes from node_modules but resolves local import types', () => { - const project = new TestProject({ - 'index.ts': ` - export function name(n: import('./foo').A): import('bar').Bar { - return 'B' - } - `, - 'foo.ts': ` - export class A {} - `, - 'node_modules/bar/index.ts': ` - export type Bar = string | symbol; - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('exports by value one value is exported twice and either is by value', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (A) @ dist_dts/foo.d.ts:1:1, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.ClassDeclaration (A) @ dist_dts/foo.d.ts:1:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:1:1, - ], - "exported": Object { - "name": "name", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:1:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('finds references in importType.typeArguments', () => { - const project = new TestProject({ - 'index.ts': ` - export function name(n: import('./foo').A>) { - return 'B' - } - `, - 'foo.ts': ` - export class A { - n(x: X) { - return x - } - } - export class B {} - `, - 'node_modules/bar/index.ts': ` - export type Bar = Readonly - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('exports by value one value is exported twice and either is by value', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - const index = indexer.indexExports(sourceFiles['index.ts']); - expect(index).toMatchInlineSnapshot(` - Object { - "ambientRefs": Array [], - "imports": Array [], - "locals": Array [ - Object { - "decs": Array [ - ts.ClassDeclaration (A) @ dist_dts/foo.d.ts:1:1, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.ClassDeclaration (A) @ dist_dts/foo.d.ts:1:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.ClassDeclaration (B) @ dist_dts/foo.d.ts:4:1, - ], - "exported": undefined, - "rootSymbol": Symbol(ts.ClassDeclaration (B) @ dist_dts/foo.d.ts:4:1), - "type": "copied decs", - }, - Object { - "decs": Array [ - ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:1:1, - ], - "exported": Object { - "name": "name", - "type": "named", - "typeOnly": false, - }, - "rootSymbol": Symbol(ts.FunctionDeclaration (name) @ dist_dts/index.d.ts:1:1), - "type": "copied decs", - }, - ], - } - `); - }); - }); - - describe('missing node modules', () => { - const project = new TestProject({ - 'index.ts': ` - export * from './foo' - `, - 'foo.ts': ` - import { BaseClass } from 'missing_node_module' - export class Class extends BaseClass { - foo: true - } - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('throws a helpful error when node_modules are missing', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer({ - ignoreDiags: (msg) => msg.includes(`Cannot find module 'missing_node_module'`), - }); - - expect(() => - indexer.indexExports(sourceFiles['index.ts']) - ).toThrowErrorMatchingInlineSnapshot( - `"unable to find declarations for symbol imported from \\"missing_node_module\\". If this is an external module, make sure is it listed in the type dependencies for this package. If it's internal then make sure that TypeScript understands the types of the imported value. Imported: ts.ImportSpecifier (BaseClass) @ packages/kbn-type-summarizer/__tmp__/dist_dts/foo.d.ts:1:10"` - ); - }); - }); - - describe('undeclared symbols', () => { - const project = new TestProject({ - 'index.ts': ` - // @ts-expect-error - export { a } from './foo' - `, - 'foo.js': ` - export function a() {} - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('throws a helpful error when exported symbols are not found', async () => { - const { indexer, sourceFiles } = await project.initAstIndexer(); - - expect(() => - indexer.indexExports(sourceFiles['index.ts']) - ).toThrowErrorMatchingInlineSnapshot( - `"unable to find declarations for symbol imported from \\"./foo\\". If this is an external module, make sure is it listed in the type dependencies for this package. If it's internal then make sure that TypeScript understands the types of the imported value. Imported: ts.ExportSpecifier (a) @ packages/kbn-type-summarizer/__tmp__/dist_dts/index.d.ts:1:10"` - ); - }); - }); -}); diff --git a/packages/kbn-type-summarizer/src/tests/integration_tests/dts_snipper.ts b/packages/kbn-type-summarizer/src/tests/integration_tests/dts_snipper.ts deleted file mode 100644 index 02c8b386cf15a..0000000000000 --- a/packages/kbn-type-summarizer/src/tests/integration_tests/dts_snipper.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { TestProject } from '../integration_helpers'; - -describe('toSnippets()', () => { - const project = new TestProject({ - 'index.ts': ` - // tsc drops single-line comments - interface Bar { - name: string - } - - /** - * Class Foo - */ - export class Foo { - /** - * Creates a bar - */ - bar(name: string): Bar { - return { name } - } - } - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('produces source, export, and id snippets', async () => { - const { indexer, snipper, sourceFiles } = await project.initAstIndexer(); - - const index = indexer.indexExports(sourceFiles['index.ts']); - const foo = index.locals.find((l) => !!l.exported); - const bar = index.locals.find((l) => !l.exported); - - expect(snipper.toSnippets(foo!.rootSymbol.declarations[0])).toMatchInlineSnapshot(` - Array [ - Object { - "type": "source", - "value": "/** - * Class Foo - */ - ", - }, - Object { - "noExportRequiresDeclare": false, - "type": "export", - }, - Object { - "type": "source", - "value": "declare class ", - }, - Object { - "identifier": ts.Identifier (Foo) @ dist_dts/index.d.ts:7:22, - "rootSymbol": Symbol(ts.ClassDeclaration (Foo) @ dist_dts/index.d.ts:7:1), - "structural": true, - "text": "Foo", - "type": "indentifier", - }, - Object { - "type": "source", - "value": " { - /** - * Creates a bar - */ - ", - }, - Object { - "identifier": ts.Identifier (bar) @ dist_dts/index.d.ts:11:5, - "rootSymbol": Symbol(ts.MethodDeclaration (bar) @ dist_dts/index.d.ts:11:5), - "structural": true, - "text": "bar", - "type": "indentifier", - }, - Object { - "type": "source", - "value": "(name: string): ", - }, - Object { - "identifier": ts.Identifier (Bar) @ dist_dts/index.d.ts:11:24, - "rootSymbol": Symbol(ts.InterfaceDeclaration (Bar) @ dist_dts/index.d.ts:1:1), - "structural": false, - "text": "Bar", - "type": "indentifier", - }, - Object { - "type": "source", - "value": "; - }", - }, - ] - `); - expect(snipper.toSnippets(bar!.rootSymbol.declarations[0])).toMatchInlineSnapshot(` - Array [ - Object { - "noExportRequiresDeclare": false, - "type": "export", - }, - Object { - "type": "source", - "value": "interface ", - }, - Object { - "identifier": ts.Identifier (Bar) @ dist_dts/index.d.ts:1:11, - "rootSymbol": Symbol(ts.InterfaceDeclaration (Bar) @ dist_dts/index.d.ts:1:1), - "structural": true, - "text": "Bar", - "type": "indentifier", - }, - Object { - "type": "source", - "value": " { - ", - }, - Object { - "identifier": ts.Identifier (name) @ dist_dts/index.d.ts:2:5, - "rootSymbol": Symbol(ts.PropertySignature (name) @ dist_dts/index.d.ts:2:5), - "structural": true, - "text": "name", - "type": "indentifier", - }, - Object { - "type": "source", - "value": ": string; - }", - }, - ] - `); - }); -}); diff --git a/packages/kbn-type-summarizer/src/tests/integration_tests/summarize_package.test.ts b/packages/kbn-type-summarizer/src/tests/integration_tests/summarize_package.test.ts deleted file mode 100644 index 7fd3f7ea83b86..0000000000000 --- a/packages/kbn-type-summarizer/src/tests/integration_tests/summarize_package.test.ts +++ /dev/null @@ -1,171 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { TestProject } from '../integration_helpers'; - -describe('summarizePackage()', () => { - describe('basic example', () => { - const project = new TestProject({ - 'index.ts': ` - export * from './foo' - export * from './bar' - export * from './baz' - import * as Helpers from './helpers' - export { Helpers } - `, - 'foo.ts': ` - export function foo(name: string) { - return \`hello $\{name}\` - } - `, - 'bar.ts': ` - interface Result { - type: 'success' - } - export class Bar { - doWork(): Result { - return { - type: 'success' - } - } - } - `, - 'baz.ts': ` - import { Bar } from './bar' - import { foo } from './foo' - - export class Baz extends Bar { - hello() { - return foo('baz') - } - } - `, - 'helpers.ts': ` - interface Result { - value: K - } - type A = 'a' - export const a = (): A => 'a' - export const b = (): Result => ({ value: a() }) - `, - }); - - afterEach(async () => { - await project.cleanup(); - }); - - it('produces expected type summary', async () => { - const { code, map, logs } = await project.runTypeSummarizer(); - - expect(code).toMatchInlineSnapshot(` - " - declare type A = 'a'; - - declare const a: () => A - - interface Result { - value: K; - } - - declare const b: () => Result - - declare namespace Helpers { - export { - a, - b, - } - } - export {Helpers} - export declare function foo(name: string): string; - - interface Result_1 { - type: 'success'; - } - - export declare class Bar { - doWork(): Result_1; - } - - export declare class Baz extends Bar { - hello(): string; - } - - " - `); - - expect(map.snapshot).toMatchInlineSnapshot(` - "from A @ 2:13 - to A @ helpers.ts:4:5 - - from a @ 4:14 - to a @ helpers.ts:5:13 - - from Result @ 6:10 - to Result @ helpers.ts:1:10 - - from value @ 7:4 - to value @ helpers.ts:2:2 - - from b @ 10:14 - to b @ helpers.ts:6:13 - - from Helpers @ 12:18 - to interface @ helpers.ts:1:0 - - from foo @ 19:24 - to foo @ foo.ts:1:16 - - from Result_1 @ 21:10 - to Result @ bar.ts:1:10 - - from type @ 22:4 - to type @ bar.ts:2:2 - - from Bar @ 25:21 - to Bar @ bar.ts:4:13 - - from doWork @ 26:4 - to doWork @ bar.ts:5:2 - - from Baz @ 29:21 - to Baz @ baz.ts:4:13 - - from hello @ 30:4 - to hello @ baz.ts:5:2" - `); - - expect(logs).toMatchInlineSnapshot(` - "debg > load config -- packages/kbn-type-summarizer/__tmp__/src/tsconfig.json - debg > create project -- packages/kbn-type-summarizer/__tmp__/dist_dts/index.d.ts - debg > create type checker - debg > indexExports() -- packages/kbn-type-summarizer/__tmp__/dist_dts/index.d.ts - debg verbose steps: - symbols.toRootSymbol()x23 - traverse.findReferencedIdentifiers()x8 - symbols.getForIdentifier()x6 - indexSymbol()x12 - debg loaded sourcemaps for [ - 'packages/kbn-type-summarizer/__tmp__/dist_dts/bar.d.ts', - 'packages/kbn-type-summarizer/__tmp__/dist_dts/baz.d.ts', - 'packages/kbn-type-summarizer/__tmp__/dist_dts/foo.d.ts', - 'packages/kbn-type-summarizer/__tmp__/dist_dts/helpers.d.ts', - 'packages/kbn-type-summarizer/__tmp__/dist_dts/index.d.ts' - ] - debg > printImports() -- 0 imports - debg > printLocals() -- 9 decs - debg verbose steps: - traverse.findStructuralIdentifiers()x8 - traverse.findReferencedIdentifiers()x8 - symbols.getForIdentifier()x18 - symbols.toRootSymbol()x18 - snipper.toSnippets()x8 - " - `); - }); - }); -}); diff --git a/packages/kbn-type-summarizer/src/tests/source_map_reader.ts b/packages/kbn-type-summarizer/src/tests/source_map_reader.ts deleted file mode 100644 index bad4fe492ad46..0000000000000 --- a/packages/kbn-type-summarizer/src/tests/source_map_reader.ts +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fs from 'fs'; -import Path from 'path'; - -import { SourceMapConsumer, SourceMapGenerator } from 'source-map'; - -const ID_RE = /[a-z0-9_]+/i; - -export class SourceMapReader { - static async snapshot(generator: SourceMapGenerator, code: string, sourceDir: string) { - const genLines = ['', ...code.split('\n')]; - const readSource = (p: string) => { - const source = Fs.readFileSync(Path.resolve(sourceDir, p), 'utf8'); - return ['', ...source.split('\n')]; - }; - const getId = (line: string, col: number) => { - return line.slice(col).match(ID_RE)?.[0] ?? line; - }; - - const mappings: string[][] = []; - - await SourceMapConsumer.with(generator.toJSON(), undefined, (map) => { - map.eachMapping((mapping) => { - if ( - (mapping.originalColumn as number | boolean | null) === false || - mapping.originalColumn === null - ) { - // these mappings are just to end the previous mapping, we can drop them - return; - } - - const generatedId = getId(genLines[mapping.generatedLine], mapping.generatedColumn); - const originalId = mapping.source - ? getId(readSource(mapping.source)[mapping.originalLine], mapping.originalColumn) - : null; - - mappings.push([ - `from ${generatedId} @ ${mapping.generatedLine}:${mapping.generatedColumn}`, - `to ${originalId} @ ${mapping.source}:${mapping.originalLine}:${mapping.originalColumn}`, - ]); - }); - }); - - return new SourceMapReader( - mappings.map((g) => g.join('\n')).join('\n\n'), - JSON.stringify(generator, null, 2) - ); - } - - constructor(public readonly snapshot: string, public readonly raw: string) {} -} diff --git a/packages/kbn-type-summarizer/tsconfig.json b/packages/kbn-type-summarizer/tsconfig.json deleted file mode 100644 index 57c1dd1c94e0f..0000000000000 --- a/packages/kbn-type-summarizer/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.ts" - ] -} diff --git a/packages/kbn-typed-react-router-config/BUILD.bazel b/packages/kbn-typed-react-router-config/BUILD.bazel deleted file mode 100644 index 841e2b287d7af..0000000000000 --- a/packages/kbn-typed-react-router-config/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-typed-react-router-config" -PKG_REQUIRE_NAME = "@kbn/typed-react-router-config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ] -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-io-ts-utils", - "@npm//fp-ts", - "@npm//history", - "@npm//io-ts", - "@npm//lodash", - "@npm//query-string", - "@npm//react", - "@npm//react-router-config", - "@npm//react-router-dom", - "@npm//tslib", - "@npm//utility-types", -] - -TYPES_DEPS = [ - "//packages/kbn-io-ts-utils:npm_module_types", - "@npm//fp-ts", - "@npm//io-ts", - "@npm//query-string", - "@npm//utility-types", - "@npm//@types/history", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react", - "@npm//@types/react-router-config", - "@npm//@types/react-router-dom", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-typed-react-router-config/kibana.jsonc b/packages/kbn-typed-react-router-config/kibana.jsonc index 51882f6266c34..f508346f8c26e 100644 --- a/packages/kbn-typed-react-router-config/kibana.jsonc +++ b/packages/kbn-typed-react-router-config/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/typed-react-router-config", - "owner": "@elastic/apm-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/apm-ui" } diff --git a/packages/kbn-typed-react-router-config/package.json b/packages/kbn-typed-react-router-config/package.json index d200aeef52311..44337045ad85f 100644 --- a/packages/kbn-typed-react-router-config/package.json +++ b/packages/kbn-typed-react-router-config/package.json @@ -1,9 +1,6 @@ { "name": "@kbn/typed-react-router-config", - "main": "target_node/index.js", - "browser": "target_web/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" -} + "private": true +} \ No newline at end of file diff --git a/packages/kbn-typed-react-router-config/tsconfig.json b/packages/kbn-typed-react-router-config/tsconfig.json index 4c1b75ae89f88..767ba55fb8e30 100644 --- a/packages/kbn-typed-react-router-config/tsconfig.json +++ b/packages/kbn-typed-react-router-config/tsconfig.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "jest" @@ -13,5 +11,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/io-ts-utils" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-ui-framework/BUILD.bazel b/packages/kbn-ui-framework/BUILD.bazel deleted file mode 100644 index 2e801955a8524..0000000000000 --- a/packages/kbn-ui-framework/BUILD.bazel +++ /dev/null @@ -1,46 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "pkg_npm") - -PKG_DIRNAME = "kbn-ui-framework" -PKG_REQUIRE_NAME = "@kbn/ui-framework" - -SOURCE_FILES = glob([ - "dist/**/*", -]) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md", -] - -RUNTIME_DEPS = [] - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES + [ - ":srcs", - ], - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-ui-framework/kibana.jsonc b/packages/kbn-ui-framework/kibana.jsonc index eaef655970e37..50a13c97e4fe3 100644 --- a/packages/kbn-ui-framework/kibana.jsonc +++ b/packages/kbn-ui-framework/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ui-framework", - "owner": "@elastic/kibana-design", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-design" } diff --git a/packages/kbn-ui-shared-deps-npm/BUILD.bazel b/packages/kbn-ui-shared-deps-npm/BUILD.bazel index 3bb1873156be4..2b49f1e5a92f1 100644 --- a/packages/kbn-ui-shared-deps-npm/BUILD.bazel +++ b/packages/kbn-ui-shared-deps-npm/BUILD.bazel @@ -1,16 +1,13 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("@npm//webpack-cli:index.bzl", webpack = "webpack_cli") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") +load("@npm//webpack-cli:index.bzl", "webpack_cli") -PKG_DIRNAME = "kbn-ui-shared-deps-npm" -PKG_REQUIRE_NAME = "@kbn/ui-shared-deps-npm" - -SOURCE_FILES = glob( +SRCS = glob( [ - "**/*.js", + "index.js", + "src/**/*", ], exclude = [ + "**/test_helpers.ts", "**/*.config.js", "**/*.mock.*", "**/*.test.*", @@ -25,18 +22,18 @@ SOURCE_FILES = glob( ], ) -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - +# deps needed when importing this module from another location RUNTIME_DEPS = [ + "@npm//loader-utils", + "@npm//val-loader", + "//packages/kbn-repo-info", + # deps in the dll need to be included in the sandbox for consumers + # of this DLL (ui-shared-deps-src) because webpack won't actually + # use the DLL version of a package until it has resolved to the same + # relative path as the module which is already included in the DLL manifest + "@npm//core-js", + "@npm//whatwg-fetch", + "@npm//symbol-observable", "@npm//@babel/runtime", "@npm//@elastic/charts", "@npm//@elastic/eui", @@ -45,101 +42,34 @@ RUNTIME_DEPS = [ "@npm//@emotion/react", "@npm//@tanstack/react-query", "@npm//@tanstack/react-query-devtools", - "@npm//babel-loader", - "@npm//core-js", - "@npm//css-loader", + "@npm//classnames", "@npm//fflate", + "@npm//history", "@npm//jquery", - "@npm//loader-utils", - "@npm//mini-css-extract-plugin", + "@npm//lodash", "@npm//moment-timezone", - "@npm//moment", - "@npm//raw-loader", "@npm//react-ace", + "@npm//react-beautiful-dnd", "@npm//react-dom", - "@npm//react-intl", - "@npm//react-is", "@npm//react-router-dom", "@npm//react-router", "@npm//react", "@npm//rxjs", "@npm//styled-components", - "@npm//symbol-observable", "@npm//tslib", - "@npm//url-loader", - "@npm//val-loader", - "@npm//whatwg-fetch", -] - -WEBPACK_DEPS = [ - "@npm//clean-webpack-plugin", -] - -TYPES_DEPS = [ - "@npm//@elastic/charts", - "@npm//@elastic/eui", - "@npm//@elastic/numeral", - "@npm//@emotion/cache", - "@npm//@emotion/react", - "@npm//babel-loader", - "@npm//core-js", - "@npm//css-loader", - "@npm//fflate", - "@npm//jquery", - "@npm//loader-utils", - "@npm//mini-css-extract-plugin", - "@npm//moment", - "@npm//moment-timezone", - "@npm//raw-loader", - "@npm//react", - "@npm//react-dom", - "@npm//react-intl", - "@npm//react-is", - "@npm//react-router", - "@npm//react-router-dom", - "@npm//rxjs", - "@npm//styled-components", - "@npm//symbol-observable", - "@npm//url-loader", - "@npm//val-loader", - "@npm//whatwg-fetch", - "@npm//@types/node", ] -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - allow_js = True, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -webpack( +webpack_cli( name = "shared_built_assets", - data = RUNTIME_DEPS + WEBPACK_DEPS + [ - "//:package.json", - ":srcs", - ":tsconfig", + data = RUNTIME_DEPS + SRCS + [ + "//:.browserslistrc", ":webpack.config.js", + + "@npm//webpack", + "@npm//clean-webpack-plugin", + "@npm//mini-css-extract-plugin", + "@npm//moment", + "@npm//css-loader", ], output_dir = True, args = [ @@ -147,41 +77,23 @@ webpack( "$(location webpack.config.js)", "--output-path", "$(@D)", - "--no-stats" + "--stats=errors-only" ], -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":shared_built_assets"], - package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], + env = select({ + "//:dist": { + "NODE_ENV": "production", + }, + "//conditions:default": { + "NODE_ENV": "development", + }, + }) ) - +# js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":shared_built_assets", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + name = "kbn-ui-shared-deps-npm", + package_name = "@kbn/ui-shared-deps-npm", + srcs = SRCS + ["package.json"], + deps = RUNTIME_DEPS + [":shared_built_assets"], visibility = ["//visibility:public"], ) diff --git a/packages/kbn-ui-shared-deps-npm/index.d.ts b/packages/kbn-ui-shared-deps-npm/index.d.ts deleted file mode 100644 index 0541240af8e0a..0000000000000 --- a/packages/kbn-ui-shared-deps-npm/index.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -// NOTE, this types for this package are actually based on the index.js -// file, but this file is here so that when loading the source you don't -// have to set `allowJs` for your project - -export type ThemeVersion = 'v8'; -export const distDir: string; -export const dllManifestPath: string; -export const dllFilename: string; -export const publicPathLoader: string; -export function lightCssDistFilename(themeVersion: ThemeVersion): string; -export function darkCssDistFilename(themeVersion: ThemeVersion): string; diff --git a/packages/kbn-ui-shared-deps-npm/index.js b/packages/kbn-ui-shared-deps-npm/index.js index ba82a46359d1b..71127860ce5cd 100644 --- a/packages/kbn-ui-shared-deps-npm/index.js +++ b/packages/kbn-ui-shared-deps-npm/index.js @@ -10,54 +10,61 @@ * @typedef {'v8'} ThemeVersion */ +const Fs = require('fs'); const Path = require('path'); +const { REPO_ROOT } = require('@kbn/repo-info'); + +const localDist = Path.resolve(__dirname, './shared_built_assets'); +const bazelDist = Path.resolve(REPO_ROOT, 'bazel-bin', Path.relative(REPO_ROOT, localDist)); // extracted const vars -const distDir = Path.resolve(__dirname, '../shared_built_assets'); +const distDir = Fs.existsSync(localDist) ? localDist : bazelDist; const dllManifestPath = Path.resolve(distDir, 'kbn-ui-shared-deps-npm-manifest.json'); const dllFilename = 'kbn-ui-shared-deps-npm.dll.js'; const publicPathLoader = require.resolve('./src/public_path_loader'); -/** - * Absolute path to the distributable directory - */ -exports.distDir = distDir; +module.exports = { + /** + * Absolute path to the distributable directory + */ + distDir, -/** - * Path to dll manifest of modules included in this bundle - */ -exports.dllManifestPath = dllManifestPath; + /** + * Path to dll manifest of modules included in this bundle + */ + dllManifestPath, -/** - * Filename of the main bundle file in the distributable directory - */ -exports.dllFilename = dllFilename; + /** + * Filename of the main bundle file in the distributable directory + */ + dllFilename, -/** - * Filename of the light-theme css file in the distributable directory - * @param {ThemeVersion} themeVersion - */ -exports.lightCssDistFilename = (themeVersion) => { - if (themeVersion !== 'v8') { - throw new Error(`unsupported theme version [${themeVersion}]`); - } + /** + * Webpack loader for configuring the public path lookup from `window.__kbnPublicPath__`. + */ + publicPathLoader, - return 'kbn-ui-shared-deps-npm.v8.light.css'; -}; + /** + * Filename of the light-theme css file in the distributable directory + * @param {ThemeVersion} themeVersion + */ + lightCssDistFilename(themeVersion) { + if (themeVersion !== 'v8') { + throw new Error(`unsupported theme version [${themeVersion}]`); + } -/** - * Filename of the dark-theme css file in the distributable directory - * @param {ThemeVersion} themeVersion - */ -exports.darkCssDistFilename = (themeVersion) => { - if (themeVersion !== 'v8') { - throw new Error(`unsupported theme version [${themeVersion}]`); - } + return 'kbn-ui-shared-deps-npm.v8.light.css'; + }, - return 'kbn-ui-shared-deps-npm.v8.dark.css'; -}; + /** + * Filename of the dark-theme css file in the distributable directory + * @param {ThemeVersion} themeVersion + */ + darkCssDistFilename(themeVersion) { + if (themeVersion !== 'v8') { + throw new Error(`unsupported theme version [${themeVersion}]`); + } -/** - * Webpack loader for configuring the public path lookup from `window.__kbnPublicPath__`. - */ -exports.publicPathLoader = publicPathLoader; + return 'kbn-ui-shared-deps-npm.v8.dark.css'; + }, +}; diff --git a/packages/kbn-ui-shared-deps-npm/kibana.jsonc b/packages/kbn-ui-shared-deps-npm/kibana.jsonc index b7d47a5ccff4b..91ab8cdfc2b13 100644 --- a/packages/kbn-ui-shared-deps-npm/kibana.jsonc +++ b/packages/kbn-ui-shared-deps-npm/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ui-shared-deps-npm", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ui-shared-deps-npm/package.json b/packages/kbn-ui-shared-deps-npm/package.json index aaefa7f714ceb..81f231b467eca 100644 --- a/packages/kbn-ui-shared-deps-npm/package.json +++ b/packages/kbn-ui-shared-deps-npm/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ui-shared-deps-npm", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js b/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js index 4f52032b316ac..77057cd426869 100644 --- a/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js +++ b/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js @@ -6,16 +6,19 @@ * Side Public License, v 1. */ -const Qs = require('querystring'); // eslint-disable-next-line import/no-extraneous-dependencies const { stringifyRequest } = require('loader-utils'); const VAL_LOADER = require.resolve('val-loader'); const MODULE_CREATOR = require.resolve('./public_path_module_creator'); +/** + * @this {any} this + * @param {string} source + */ module.exports = function (source) { const options = this.query; - const valOpts = Qs.stringify({ key: options.key }); + const valOpts = new URLSearchParams({ key: options.key }).toString(); const req = `${VAL_LOADER}?${valOpts}!${MODULE_CREATOR}`; return `require(${stringifyRequest(this, req)});${source}`; }; diff --git a/packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js b/packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js index 854d0176b7ae6..60dbde3cefaf6 100644 --- a/packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js +++ b/packages/kbn-ui-shared-deps-npm/src/public_path_module_creator.js @@ -6,6 +6,9 @@ * Side Public License, v 1. */ +/** + * @param {{ key: string }} param0 + */ module.exports = function ({ key }) { return { code: `__webpack_public_path__ = window.__kbnPublicPath__['${key}']`, diff --git a/packages/kbn-ui-shared-deps-npm/tsconfig.json b/packages/kbn-ui-shared-deps-npm/tsconfig.json index e142364eaa188..3feba9269f394 100644 --- a/packages/kbn-ui-shared-deps-npm/tsconfig.json +++ b/packages/kbn-ui-shared-deps-npm/tsconfig.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", + "checkJs": true, "types": [ "node", ] @@ -14,5 +13,9 @@ ], "exclude": [ "**/*.config.js", + "target/**/*", + ], + "kbn_references": [ + "@kbn/repo-info" ] } diff --git a/packages/kbn-ui-shared-deps-npm/webpack.config.js b/packages/kbn-ui-shared-deps-npm/webpack.config.js index 791af0ebe1885..680751927ad6f 100644 --- a/packages/kbn-ui-shared-deps-npm/webpack.config.js +++ b/packages/kbn-ui-shared-deps-npm/webpack.config.js @@ -29,7 +29,7 @@ module.exports = (_, argv) => { externals: { module: 'module', }, - mode: 'production', + mode: process.env.NODE_ENV || 'development', entry: { 'kbn-ui-shared-deps-npm': [ // polyfill code @@ -81,6 +81,7 @@ module.exports = (_, argv) => { '@elastic/eui/dist/eui_theme_light.json', '@elastic/eui/dist/eui_theme_dark.json', '@elastic/numeral', + '@emotion/cache', '@emotion/react', '@tanstack/react-query', '@tanstack/react-query-devtools', diff --git a/packages/kbn-ui-shared-deps-src/BUILD.bazel b/packages/kbn-ui-shared-deps-src/BUILD.bazel index 4dc31e5a51a6d..0b350c51331ff 100644 --- a/packages/kbn-ui-shared-deps-src/BUILD.bazel +++ b/packages/kbn-ui-shared-deps-src/BUILD.bazel @@ -1,106 +1,38 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("@npm//webpack-cli:index.bzl", webpack = "webpack_cli") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") +load("@npm//webpack-cli:index.bzl", "webpack_cli") -PKG_DIRNAME = "kbn-ui-shared-deps-src" -PKG_REQUIRE_NAME = "@kbn/ui-shared-deps-src" +SRCS = glob([ + "index.js", + "webpack.config.js", + "src/**/*", +]) -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.js", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-safer-lodash-set", - "//packages/kbn-analytics", - "//packages/kbn-babel-preset", - "//packages/kbn-datemath", - "//packages/kbn-es-query", - "//packages/kbn-flot-charts", - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "//packages/kbn-monaco", - "//packages/kbn-std", - "//packages/kbn-ui-shared-deps-npm", - "//packages/kbn-ui-theme", - "//packages/kbn-peggy-loader", - "//packages/kbn-rison", -] - -TYPES_DEPS = [ - "//packages/kbn-safer-lodash-set:npm_module_types", - "//packages/kbn-analytics:npm_module_types", - "//packages/kbn-datemath:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-monaco:npm_module_types", - "//packages/kbn-std:npm_module_types", - "//packages/kbn-ui-shared-deps-npm:npm_module_types", - "//packages/kbn-ui-theme:npm_module_types", - "@npm//webpack", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - allow_js = True, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -webpack( +webpack_cli( name = "shared_built_assets", - data = RUNTIME_DEPS + [ - "//:package.json", - ":srcs", - ":tsconfig", - ":webpack.config.js", + data = SRCS + [ + "//:.browserslistrc", + "@npm//webpack", + "@npm//mini-css-extract-plugin", + "@npm//moment", + "@npm//babel-loader", + "@npm//css-loader", + "@npm//url-loader", + "//packages/kbn-ui-shared-deps-npm", + "//packages/kbn-babel-register", + "//packages/kbn-babel-preset", + # packages included in the shared deps src bundle + "//packages/kbn-flot-charts", + "//packages/kbn-ui-theme", + "//packages/kbn-i18n", + "//packages/kbn-i18n-react", + "//packages/kbn-monaco", + "//packages/kbn-datemath", + "//packages/kbn-analytics", + "//packages/kbn-es-query", + "//packages/kbn-std", + "//packages/kbn-safer-lodash-set", + "//packages/kbn-peggy", + "//packages/kbn-peggy-loader", + "//packages/kbn-rison", ], output_dir = True, args = [ @@ -110,39 +42,13 @@ webpack( "$(@D)", "--stats=errors-only" ], -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":shared_built_assets"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":shared_built_assets", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], + env = select({ + "//:dist": { + "NODE_ENV": "production", + }, + "//conditions:default": { + "NODE_ENV": "development", + }, + }), visibility = ["//visibility:public"], ) diff --git a/packages/kbn-ui-shared-deps-src/kibana.jsonc b/packages/kbn-ui-shared-deps-src/kibana.jsonc index 49da1e45e9d27..39b71b0bd00e1 100644 --- a/packages/kbn-ui-shared-deps-src/kibana.jsonc +++ b/packages/kbn-ui-shared-deps-src/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ui-shared-deps-src", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ui-shared-deps-src/package.json b/packages/kbn-ui-shared-deps-src/package.json index 3290d7e60032f..fee5d645dd527 100644 --- a/packages/kbn-ui-shared-deps-src/package.json +++ b/packages/kbn-ui-shared-deps-src/package.json @@ -2,7 +2,5 @@ "name": "@kbn/ui-shared-deps-src", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-ui-shared-deps-src/src/definitions.js b/packages/kbn-ui-shared-deps-src/src/definitions.js index d975a39e76a3b..83a24b7c88d28 100644 --- a/packages/kbn-ui-shared-deps-src/src/definitions.js +++ b/packages/kbn-ui-shared-deps-src/src/definitions.js @@ -7,12 +7,18 @@ */ const Path = require('path'); +const Fs = require('fs'); + +const { REPO_ROOT } = require('@kbn/repo-info'); + +const localDist = Path.resolve(__dirname, '../shared_built_assets'); +const bazelDist = Path.resolve(REPO_ROOT, 'bazel-bin', Path.relative(REPO_ROOT, localDist)); // extracted const vars /** * Absolute path to the distributable directory */ -const distDir = Path.resolve(__dirname, '../../shared_built_assets'); +const distDir = Fs.existsSync(localDist) ? localDist : bazelDist; /** * Filename of the main bundle file in the distributable directory diff --git a/packages/kbn-ui-shared-deps-src/tsconfig.json b/packages/kbn-ui-shared-deps-src/tsconfig.json index e142364eaa188..54d86b5eeab76 100644 --- a/packages/kbn-ui-shared-deps-src/tsconfig.json +++ b/packages/kbn-ui-shared-deps-src/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", ] @@ -14,5 +12,20 @@ ], "exclude": [ "**/*.config.js", + "target/**/*", + ], + "kbn_references": [ + "@kbn/ui-theme", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/monaco", + "@kbn/datemath", + "@kbn/flot-charts", + "@kbn/analytics", + "@kbn/es-query", + "@kbn/rison", + "@kbn/std", + "@kbn/safer-lodash-set", + "@kbn/repo-info" ] } diff --git a/packages/kbn-ui-shared-deps-src/webpack.config.js b/packages/kbn-ui-shared-deps-src/webpack.config.js index bebe6eb424f06..e88d10872156f 100644 --- a/packages/kbn-ui-shared-deps-src/webpack.config.js +++ b/packages/kbn-ui-shared-deps-src/webpack.config.js @@ -6,6 +6,9 @@ * Side Public License, v 1. */ +// setup ts/pkg support in this webpack process +require('@kbn/babel-register').install(); + const Path = require('path'); const webpack = require('webpack'); @@ -26,7 +29,7 @@ module.exports = { externals: { module: 'module', }, - mode: 'production', + mode: process.env.NODE_ENV || 'development', entry: { 'kbn-ui-shared-deps-src': './src/entry.js', }, @@ -58,7 +61,7 @@ module.exports = { }, { test: /\.peggy$/, - use: ['@kbn/peggy-loader'], + use: [require.resolve('@kbn/peggy-loader')], }, { test: /\.css$/, @@ -71,11 +74,21 @@ module.exports = { limit: 8192, }, }, + { + test: /\.(js|tsx?)$/, + exclude: /[\/\\]node_modules[\/\\](?!@kbn)([^\/\\]+)[\/\\]/, + loader: 'babel-loader', + options: { + babelrc: false, + envName: process.env.NODE_ENV || 'development', + presets: [require.resolve('@kbn/babel-preset/webpack_preset')], + }, + }, ], }, resolve: { - extensions: ['.js', '.ts'], + extensions: ['.js', '.ts', '.tsx'], symlinks: false, alias: { '@elastic/eui$': '@elastic/eui/optimize/es', diff --git a/packages/kbn-ui-theme/BUILD.bazel b/packages/kbn-ui-theme/BUILD.bazel index 4e17de1eb6ab7..1bbc558641ab6 100644 --- a/packages/kbn-ui-theme/BUILD.bazel +++ b/packages/kbn-ui-theme/BUILD.bazel @@ -1,6 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config") load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") +load("//src/dev/bazel:index.bzl", "pkg_npm", "ts_project") PKG_DIRNAME = "kbn-ui-theme" PKG_REQUIRE_NAME = "@kbn/ui-theme" @@ -45,25 +45,11 @@ TYPES_DEPS = [ "@npm//tslib", ] -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - ts_config( name = "tsconfig", src = "tsconfig.json", deps = [ "//:tsconfig.base.json", - "//:tsconfig.bazel.json", ], ) @@ -80,8 +66,8 @@ ts_project( js_library( name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], + srcs = NPM_MODULE_EXTRA_FILES + SRCS, + deps = RUNTIME_DEPS, package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) @@ -89,24 +75,11 @@ js_library( js_library( name = "npm_module_types", srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], + deps = RUNTIME_DEPS + [":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - pkg_npm( name = "build_types", deps = [":npm_module_types"], diff --git a/packages/kbn-ui-theme/kibana.jsonc b/packages/kbn-ui-theme/kibana.jsonc index 3f90299e80360..db8230d520c0a 100644 --- a/packages/kbn-ui-theme/kibana.jsonc +++ b/packages/kbn-ui-theme/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ui-theme", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-ui-theme/package.json b/packages/kbn-ui-theme/package.json index 1577f211eae88..42718ab36b063 100644 --- a/packages/kbn-ui-theme/package.json +++ b/packages/kbn-ui-theme/package.json @@ -2,8 +2,5 @@ "name": "@kbn/ui-theme", "version": "1.0.0", "private": true, - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ui-theme/tsconfig.json b/packages/kbn-ui-theme/tsconfig.json index 7eae44ef23245..74b96e65f9ecf 100644 --- a/packages/kbn-ui-theme/tsconfig.json +++ b/packages/kbn-ui-theme/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["node"] }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-user-profile-components/BUILD.bazel b/packages/kbn-user-profile-components/BUILD.bazel deleted file mode 100644 index d8d88de063f0e..0000000000000 --- a/packages/kbn-user-profile-components/BUILD.bazel +++ /dev/null @@ -1,121 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-user-profile-components" -PKG_REQUIRE_NAME = "@kbn/user-profile-components" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "//packages/kbn-i18n", - "//packages/kbn-i18n-react", - "@npm//@elastic/eui", -] - -TYPES_DEPS = [ - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-i18n-react:npm_module_types", - "@npm//@elastic/eui", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/enzyme", - "@npm//tslib", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-user-profile-components/kibana.jsonc b/packages/kbn-user-profile-components/kibana.jsonc index d4c7f266fe60b..ecd571c98781f 100644 --- a/packages/kbn-user-profile-components/kibana.jsonc +++ b/packages/kbn-user-profile-components/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/user-profile-components", - "owner": "@elastic/kibana-security", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-security" } diff --git a/packages/kbn-user-profile-components/package.json b/packages/kbn-user-profile-components/package.json index 86d4c48e2e163..a4f8db277f5a2 100644 --- a/packages/kbn-user-profile-components/package.json +++ b/packages/kbn-user-profile-components/package.json @@ -2,8 +2,5 @@ "name": "@kbn/user-profile-components", "version": "1.0.0", "private": true, - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/kbn-user-profile-components/tsconfig.json b/packages/kbn-user-profile-components/tsconfig.json index b9cc115dd1264..6f64745691be8 100644 --- a/packages/kbn-user-profile-components/tsconfig.json +++ b/packages/kbn-user-profile-components/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -12,5 +10,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-utility-types-jest/BUILD.bazel b/packages/kbn-utility-types-jest/BUILD.bazel deleted file mode 100644 index eaf186c40a3fa..0000000000000 --- a/packages/kbn-utility-types-jest/BUILD.bazel +++ /dev/null @@ -1,104 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-utility-types-jest" -PKG_REQUIRE_NAME = "@kbn/utility-types-jest" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [] - -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-utility-types-jest/kibana.jsonc b/packages/kbn-utility-types-jest/kibana.jsonc index 83eaa2ce42aa2..1eea6e6c96a67 100644 --- a/packages/kbn-utility-types-jest/kibana.jsonc +++ b/packages/kbn-utility-types-jest/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/utility-types-jest", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-utility-types-jest/package.json b/packages/kbn-utility-types-jest/package.json index e057306d4bbdb..03c8699b5cd85 100644 --- a/packages/kbn-utility-types-jest/package.json +++ b/packages/kbn-utility-types-jest/package.json @@ -2,7 +2,5 @@ "name": "@kbn/utility-types-jest", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-utility-types-jest/tsconfig.json b/packages/kbn-utility-types-jest/tsconfig.json index 292157c18591a..b72f7b0a15c5c 100644 --- a/packages/kbn-utility-types-jest/tsconfig.json +++ b/packages/kbn-utility-types-jest/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,8 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-utility-types/BUILD.bazel b/packages/kbn-utility-types/BUILD.bazel deleted file mode 100644 index 87a665c2a6b44..0000000000000 --- a/packages/kbn-utility-types/BUILD.bazel +++ /dev/null @@ -1,108 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-utility-types" -PKG_REQUIRE_NAME = "@kbn/utility-types" - -SOURCE_FILES = glob( - [ - "src/serializable/**", - "src/dot.ts", - "index.ts" - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -RUNTIME_DEPS = [ - "@npm//utility-types", -] - -TYPES_DEPS = [ - "@npm//utility-types", - "@npm//@types/node" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-utility-types/kibana.jsonc b/packages/kbn-utility-types/kibana.jsonc index c041668a7689b..4a6528d2ac652 100644 --- a/packages/kbn-utility-types/kibana.jsonc +++ b/packages/kbn-utility-types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/utility-types", - "owner": "@elastic/kibana-core", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-core" } diff --git a/packages/kbn-utility-types/package.json b/packages/kbn-utility-types/package.json index fa0eb82dde2ef..65983150712fb 100644 --- a/packages/kbn-utility-types/package.json +++ b/packages/kbn-utility-types/package.json @@ -3,9 +3,7 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", "scripts": { "test": "../../node_modules/.bin/tsd src/tsd_tests" - }, - "types": "./target_types/index.d.ts" + } } \ No newline at end of file diff --git a/packages/kbn-utility-types/tsconfig.json b/packages/kbn-utility-types/tsconfig.json index 57347ee107af5..7617ed166fe28 100644 --- a/packages/kbn-utility-types/tsconfig.json +++ b/packages/kbn-utility-types/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node" ] }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-utils/BUILD.bazel b/packages/kbn-utils/BUILD.bazel deleted file mode 100644 index b66307a04b533..0000000000000 --- a/packages/kbn-utils/BUILD.bazel +++ /dev/null @@ -1,112 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-utils" -PKG_REQUIRE_NAME = "@kbn/utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", - "README.md" -] - -RUNTIME_DEPS = [ - "//packages/kbn-config-schema", - "@npm//load-json-file", - "@npm//tslib", -] - -TYPES_DEPS = [ - "//packages/kbn-config-schema:npm_module_types", - "@npm//load-json-file", - "@npm//tslib", - "@npm//@types/jest", - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [ - ":npm_module", - ], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-utils/index.ts b/packages/kbn-utils/index.ts index 374b9a0b62279..d23c71fad55bc 100644 --- a/packages/kbn-utils/index.ts +++ b/packages/kbn-utils/index.ts @@ -6,7 +6,5 @@ * Side Public License, v 1. */ -export * from './src/package_json'; export * from './src/path'; -export * from './src/repo_root'; export * from './src/streams'; diff --git a/packages/kbn-utils/kibana.jsonc b/packages/kbn-utils/kibana.jsonc index 1e6935937f6e5..2c4efc0a67651 100644 --- a/packages/kbn-utils/kibana.jsonc +++ b/packages/kbn-utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/utils", - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-utils/package.json b/packages/kbn-utils/package.json index 40a60b179667f..3eff9aad75160 100644 --- a/packages/kbn-utils/package.json +++ b/packages/kbn-utils/package.json @@ -1,8 +1,6 @@ { "name": "@kbn/utils", - "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "types": "./target_types/index.d.ts" + "private": true } \ No newline at end of file diff --git a/packages/kbn-utils/src/package_json/index.test.ts b/packages/kbn-utils/src/package_json/index.test.ts deleted file mode 100644 index 263e277dd3b4e..0000000000000 --- a/packages/kbn-utils/src/package_json/index.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { kibanaPackageJson } from '.'; - -it('parses package.json', () => { - expect(kibanaPackageJson.name).toEqual('kibana'); -}); diff --git a/packages/kbn-utils/src/package_json/index.ts b/packages/kbn-utils/src/package_json/index.ts deleted file mode 100644 index fada3e15b97d6..0000000000000 --- a/packages/kbn-utils/src/package_json/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fs from 'fs'; - -import { REPO_ROOT } from '../repo_root'; - -interface KibanaPackageJson { - name: string; - version: string; - branch: string; - build: { - number: number; - sha: string; - distributable?: boolean; - }; - dependencies: { - [dep: string]: string; - }; - devDependencies: { - [dep: string]: string; - }; - engines?: { - [name: string]: string | undefined; - }; - [key: string]: unknown; -} - -function parseKibanaPackageJson() { - const path = Path.resolve(REPO_ROOT, 'package.json'); - const json = Fs.readFileSync(path, 'utf8'); - let pkg; - try { - pkg = JSON.parse(json); - } catch (error) { - throw new Error(`unable to parse kibana's package.json file: ${error.message}`); - } - - return pkg as KibanaPackageJson; -} - -export const kibanaPackageJson = parseKibanaPackageJson(); - -export const isKibanaDistributable = () => { - return kibanaPackageJson.build.distributable === true; -}; diff --git a/packages/kbn-utils/src/path/index.test.ts b/packages/kbn-utils/src/path/index.test.ts index 5c774d9897372..608f3cb2cfeb2 100644 --- a/packages/kbn-utils/src/path/index.test.ts +++ b/packages/kbn-utils/src/path/index.test.ts @@ -8,7 +8,7 @@ import { accessSync, constants } from 'fs'; import { getConfigPath, getDataPath, getLogsPath, getConfigDirectory } from '.'; -import { REPO_ROOT } from '../repo_root'; +import { REPO_ROOT } from '@kbn/repo-info'; expect.addSnapshotSerializer( ((rootPath: string = REPO_ROOT, replacement = '') => { diff --git a/packages/kbn-utils/src/path/index.ts b/packages/kbn-utils/src/path/index.ts index c839522441c7c..63ca454dd04fd 100644 --- a/packages/kbn-utils/src/path/index.ts +++ b/packages/kbn-utils/src/path/index.ts @@ -9,7 +9,7 @@ import { join } from 'path'; import { accessSync, constants } from 'fs'; import { TypeOf, schema } from '@kbn/config-schema'; -import { REPO_ROOT } from '../repo_root'; +import { REPO_ROOT } from '@kbn/repo-info'; const isString = (v: any): v is string => typeof v === 'string'; diff --git a/packages/kbn-utils/src/repo_root.ts b/packages/kbn-utils/src/repo_root.ts deleted file mode 100644 index 816a4133a7fbb..0000000000000 --- a/packages/kbn-utils/src/repo_root.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fs from 'fs'; - -import loadJsonFile from 'load-json-file'; - -const readKibanaPkgJson = (path: string) => { - try { - const json = loadJsonFile.sync(path); - if (json && typeof json === 'object' && 'name' in json && json.name === 'kibana') { - return json; - } - } catch (error) { - if (error && error.code === 'ENOENT') { - return; - } - - throw error; - } -}; - -const findKibanaPackageJson = () => { - // search for the kibana directory, since this file is moved around it might - // not be where we think but should always be a relatively close parent - // of this directory - const startDir = __dirname; - const { root: rootDir } = Path.parse(startDir); - let cursor = startDir; - while (true) { - const packageJsonPath = Path.resolve(cursor, 'package.json'); - const kibanaPkgJson = readKibanaPkgJson(packageJsonPath); - if (kibanaPkgJson) { - return { - // when this script is run by ESLint in IDEs it doesn't use --preserve-symlinks, so we have to - // use `Fs.realpathSync()` to resolve the package.json path to the actual file in the repo rather - // than the sym-linked version in the bazel-out dir - kibanaDir: Path.dirname(Fs.realpathSync(packageJsonPath)), - kibanaPkgJson: kibanaPkgJson as { - name: string; - branch: string; - }, - }; - } - - const parent = Path.dirname(cursor); - if (parent === rootDir) { - throw new Error(`unable to find kibana directory from ${startDir}`); - } - cursor = parent; - } -}; - -const { kibanaDir, kibanaPkgJson } = findKibanaPackageJson(); - -export const REPO_ROOT = kibanaDir; -export const UPSTREAM_BRANCH = kibanaPkgJson.branch; - -export const fromRoot = (...paths: string[]) => Path.resolve(REPO_ROOT, ...paths); diff --git a/packages/kbn-utils/tsconfig.json b/packages/kbn-utils/tsconfig.json index 57c1dd1c94e0f..6baa222ef8c37 100644 --- a/packages/kbn-utils/tsconfig.json +++ b/packages/kbn-utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/config-schema", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/kbn-web-worker-stub/README.md b/packages/kbn-web-worker-stub/README.md new file mode 100644 index 0000000000000..3a57fb6a97dbb --- /dev/null +++ b/packages/kbn-web-worker-stub/README.md @@ -0,0 +1,3 @@ +# @kbn/web-worker-stub + +Empty package generated by @kbn/generate diff --git a/packages/kbn-web-worker-stub/index.ts b/packages/kbn-web-worker-stub/index.ts new file mode 100644 index 0000000000000..18484468326c5 --- /dev/null +++ b/packages/kbn-web-worker-stub/index.ts @@ -0,0 +1,20 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +if (!window.Worker) { + // @ts-expect-error we aren't honoring the real Worker spec here + window.Worker = function Worker() { + this.postMessage = jest.fn(); + + // @ts-expect-error TypeScript doesn't think this exists on the Worker interface + // https://developer.mozilla.org/en-US/docs/Web/API/Worker/terminate + this.terminate = jest.fn(); + }; +} + +export {}; diff --git a/packages/kbn-web-worker-stub/jest.config.js b/packages/kbn-web-worker-stub/jest.config.js new file mode 100644 index 0000000000000..b643fe9f988fd --- /dev/null +++ b/packages/kbn-web-worker-stub/jest.config.js @@ -0,0 +1,13 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-web-worker-stub'], +}; diff --git a/packages/kbn-web-worker-stub/kibana.jsonc b/packages/kbn-web-worker-stub/kibana.jsonc new file mode 100644 index 0000000000000..39cf9a07982e5 --- /dev/null +++ b/packages/kbn-web-worker-stub/kibana.jsonc @@ -0,0 +1,6 @@ +{ + "type": "test-helper", + "id": "@kbn/web-worker-stub", + "owner": "@elastic/kibana-operations", + "devOnly": true +} diff --git a/packages/kbn-web-worker-stub/package.json b/packages/kbn-web-worker-stub/package.json new file mode 100644 index 0000000000000..07f40f946f86e --- /dev/null +++ b/packages/kbn-web-worker-stub/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/web-worker-stub", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/packages/kbn-web-worker-stub/tsconfig.json b/packages/kbn-web-worker-stub/tsconfig.json new file mode 100644 index 0000000000000..b72f7b0a15c5c --- /dev/null +++ b/packages/kbn-web-worker-stub/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/packages/kbn-yarn-lock-validator/BUILD.bazel b/packages/kbn-yarn-lock-validator/BUILD.bazel deleted file mode 100644 index 3fb3f48203758..0000000000000 --- a/packages/kbn-yarn-lock-validator/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-yarn-lock-validator" -PKG_REQUIRE_NAME = "@kbn/yarn-lock-validator" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/dedent", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//tslib", - "//packages/kbn-utils:npm_module_types", - "//packages/kbn-bazel-packages:npm_module_types", - "//packages/kbn-some-dev-log:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-yarn-lock-validator/kibana.jsonc b/packages/kbn-yarn-lock-validator/kibana.jsonc index 9ff3e33975597..e4941edaef2f6 100644 --- a/packages/kbn-yarn-lock-validator/kibana.jsonc +++ b/packages/kbn-yarn-lock-validator/kibana.jsonc @@ -2,7 +2,5 @@ "type": "shared-common", "id": "@kbn/yarn-lock-validator", "devOnly": true, - "owner": "@elastic/kibana-operations", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-operations" } diff --git a/packages/kbn-yarn-lock-validator/package.json b/packages/kbn-yarn-lock-validator/package.json index 01f9de41f960e..87ccae8d9caf1 100644 --- a/packages/kbn-yarn-lock-validator/package.json +++ b/packages/kbn-yarn-lock-validator/package.json @@ -2,7 +2,5 @@ "name": "@kbn/yarn-lock-validator", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-yarn-lock-validator/src/find_production_dependencies.ts b/packages/kbn-yarn-lock-validator/src/find_production_dependencies.ts index 59166bef39e7d..c17f16ba02434 100644 --- a/packages/kbn-yarn-lock-validator/src/find_production_dependencies.ts +++ b/packages/kbn-yarn-lock-validator/src/find_production_dependencies.ts @@ -7,7 +7,7 @@ */ import { SomeDevLog } from '@kbn/some-dev-log'; -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { YarnLock } from './yarn_lock'; diff --git a/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts b/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts index 668f2911556c9..859a39855f462 100644 --- a/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts +++ b/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts @@ -11,7 +11,7 @@ import Fsp from 'fs/promises'; import dedent from 'dedent'; -import { REPO_ROOT, kibanaPackageJson } from '@kbn/utils'; +import { REPO_ROOT, kibanaPackageJson } from '@kbn/repo-info'; import { SomeDevLog } from '@kbn/some-dev-log'; import { discoverBazelPackages } from '@kbn/bazel-packages'; diff --git a/packages/kbn-yarn-lock-validator/src/yarn_lock.ts b/packages/kbn-yarn-lock-validator/src/yarn_lock.ts index 383dcbe09ceee..63c164311b232 100644 --- a/packages/kbn-yarn-lock-validator/src/yarn_lock.ts +++ b/packages/kbn-yarn-lock-validator/src/yarn_lock.ts @@ -9,7 +9,7 @@ import Fsp from 'fs/promises'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; // @ts-expect-error published types are worthless import * as YarnLockFile from '@yarnpkg/lockfile'; diff --git a/packages/kbn-yarn-lock-validator/tsconfig.json b/packages/kbn-yarn-lock-validator/tsconfig.json index 57c1dd1c94e0f..1de53ab58d696 100644 --- a/packages/kbn-yarn-lock-validator/tsconfig.json +++ b/packages/kbn-yarn-lock-validator/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.bazel.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node" @@ -11,5 +9,13 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/bazel-packages", + "@kbn/some-dev-log", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/avatar/solution/BUILD.bazel b/packages/shared-ux/avatar/solution/BUILD.bazel deleted file mode 100644 index d8d9b159db6e7..0000000000000 --- a/packages/shared-ux/avatar/solution/BUILD.bazel +++ /dev/null @@ -1,153 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "solution" -PKG_REQUIRE_NAME = "@kbn/shared-ux-avatar-solution" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.mdx", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//classnames", - "@npm//enzyme", - "@npm//react", - "@npm//url-loader", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/kbn-shared-ux-utility", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/classnames", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-shared-ux-utility:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/avatar/solution/kibana.jsonc b/packages/shared-ux/avatar/solution/kibana.jsonc index e44bc8bd68b43..6bb90e43260f7 100644 --- a/packages/shared-ux/avatar/solution/kibana.jsonc +++ b/packages/shared-ux/avatar/solution/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-avatar-solution", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/avatar/solution/package.json b/packages/shared-ux/avatar/solution/package.json index ab91c7c422572..e72f904282796 100644 --- a/packages/shared-ux/avatar/solution/package.json +++ b/packages/shared-ux/avatar/solution/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-avatar-solution", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/avatar/solution/tsconfig.json b/packages/shared-ux/avatar/solution/tsconfig.json index 5cb7bca42f195..eecf3ed8f5afc 100644 --- a/packages/shared-ux/avatar/solution/tsconfig.json +++ b/packages/shared-ux/avatar/solution/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,10 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/avatar/user_profile/impl/BUILD.bazel b/packages/shared-ux/avatar/user_profile/impl/BUILD.bazel deleted file mode 100644 index 53beaf2faea93..0000000000000 --- a/packages/shared-ux/avatar/user_profile/impl/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "avatar-user-profile" -PKG_REQUIRE_NAME = "@kbn/shared-ux-avatar-user-profile-components" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.test.*", - "**/*.stories.*", - ], -) - -SRCS = SOURCE_FILES - -# filegroup( -# name = "srcs", -# srcs = SRCS, -# ) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@elastic/eui", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/kbn-shared-ux-utility", - "//packages/kbn-ambient-ui-types", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "//packages/kbn-ambient-ui-types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/avatar/user_profile/impl/kibana.jsonc b/packages/shared-ux/avatar/user_profile/impl/kibana.jsonc index a9ee7697b2d18..0cebb8c02e969 100644 --- a/packages/shared-ux/avatar/user_profile/impl/kibana.jsonc +++ b/packages/shared-ux/avatar/user_profile/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-avatar-user-profile-components", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/avatar/user_profile/impl/package.json b/packages/shared-ux/avatar/user_profile/impl/package.json index 7169836ff1879..6af2682d533bf 100644 --- a/packages/shared-ux/avatar/user_profile/impl/package.json +++ b/packages/shared-ux/avatar/user_profile/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-avatar-user-profile-components", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/avatar/user_profile/impl/tsconfig.json b/packages/shared-ux/avatar/user_profile/impl/tsconfig.json index d68e5f7ddeffa..833908e045033 100644 --- a/packages/shared-ux/avatar/user_profile/impl/tsconfig.json +++ b/packages/shared-ux/avatar/user_profile/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -16,5 +14,12 @@ "*.md*", "**/*.ts", "**/*.md*", + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/button/exit_full_screen/impl/BUILD.bazel b/packages/shared-ux/button/exit_full_screen/impl/BUILD.bazel deleted file mode 100644 index b16786012c828..0000000000000 --- a/packages/shared-ux/button/exit_full_screen/impl/BUILD.bazel +++ /dev/null @@ -1,160 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-shared-ux-button-exit-full-screen" -PKG_REQUIRE_NAME = "@kbn/shared-ux-button-exit-full-screen" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.mdx", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//classnames", - "@npm//enzyme", - "@npm//react-use", - "@npm//react", - "@npm//url-loader", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/kbn-shared-ux-utility", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@types/classnames", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "@npm//react-use", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "//packages/shared-ux/button/exit_full_screen/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc index 7cee5d9ff3702..c74b644894aeb 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc +++ b/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-exit-full-screen", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/button/exit_full_screen/impl/package.json b/packages/shared-ux/button/exit_full_screen/impl/package.json index bc56bbeebf40e..d79fe2a74ec07 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/package.json +++ b/packages/shared-ux/button/exit_full_screen/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-button-exit-full-screen", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json b/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json index 10624c45bc7cb..7dfac85744189 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/shared-ux-button-exit-full-screen-types", + "@kbn/shared-ux-button-exit-full-screen-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/button/exit_full_screen/mocks/BUILD.bazel b/packages/shared-ux/button/exit_full_screen/mocks/BUILD.bazel deleted file mode 100644 index 995904da1deeb..0000000000000 --- a/packages/shared-ux/button/exit_full_screen/mocks/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-button-exit-full-screen-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@storybook/addon-actions", - "@npm//react", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@storybook/addon-actions", - "//packages/shared-ux/button/exit_full_screen/types:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc index d1599c1a48bc1..27c601e53c53f 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc +++ b/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-exit-full-screen-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/button/exit_full_screen/mocks/package.json b/packages/shared-ux/button/exit_full_screen/mocks/package.json index ff766d8e9de14..bcda1669c6f1d 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/package.json +++ b/packages/shared-ux/button/exit_full_screen/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-button-exit-full-screen-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json b/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json index a00de7fc73226..fbc11adc95523 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/shared-ux-button-exit-full-screen-types", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/button/exit_full_screen/types/BUILD.bazel b/packages/shared-ux/button/exit_full_screen/types/BUILD.bazel deleted file mode 100644 index 2620c51593806..0000000000000 --- a/packages/shared-ux/button/exit_full_screen/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-button-exit-full-screen-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc index 29b91b8142082..932f0031e9b5d 100644 --- a/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc +++ b/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-exit-full-screen-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/button/exit_full_screen/types/package.json b/packages/shared-ux/button/exit_full_screen/types/package.json index 3e97374b53eae..d5ff454e0a2c6 100644 --- a/packages/shared-ux/button/exit_full_screen/types/package.json +++ b/packages/shared-ux/button/exit_full_screen/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-button-exit-full-screen-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json b/packages/shared-ux/button/exit_full_screen/types/tsconfig.json index b863eab85b68e..362cc9e727b9f 100644 --- a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/types/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/button_toolbar/BUILD.bazel b/packages/shared-ux/button_toolbar/BUILD.bazel deleted file mode 100644 index e0fcde158bdf8..0000000000000 --- a/packages/shared-ux/button_toolbar/BUILD.bazel +++ /dev/null @@ -1,145 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "button_toolbar" -PKG_REQUIRE_NAME = "@kbn/shared-ux-button-toolbar" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//react", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/button_toolbar/kibana.jsonc b/packages/shared-ux/button_toolbar/kibana.jsonc index 4a019c6775702..2d2b0c9ce82c3 100644 --- a/packages/shared-ux/button_toolbar/kibana.jsonc +++ b/packages/shared-ux/button_toolbar/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-button-toolbar", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/button_toolbar/package.json b/packages/shared-ux/button_toolbar/package.json index d74cca7bf9bec..9e9aa4ee50f04 100644 --- a/packages/shared-ux/button_toolbar/package.json +++ b/packages/shared-ux/button_toolbar/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-button-toolbar", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/button_toolbar/tsconfig.json b/packages/shared-ux/button_toolbar/tsconfig.json index 158e1387bb883..49ed962217ce3 100644 --- a/packages/shared-ux/button_toolbar/tsconfig.json +++ b/packages/shared-ux/button_toolbar/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../tsconfig.bazel.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/card/no_data/impl/BUILD.bazel b/packages/shared-ux/card/no_data/impl/BUILD.bazel deleted file mode 100644 index 38d138d551c83..0000000000000 --- a/packages/shared-ux/card/no_data/impl/BUILD.bazel +++ /dev/null @@ -1,150 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-card-no-data" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//enzyme", - "@npm//react", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/shared-ux/link/redirect_app/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/shared-ux/link/redirect_app/impl:npm_module_types", - "//packages/shared-ux/card/no_data/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/card/no_data/impl/kibana.jsonc b/packages/shared-ux/card/no_data/impl/kibana.jsonc index 111ee94f8608d..172a06aec0650 100644 --- a/packages/shared-ux/card/no_data/impl/kibana.jsonc +++ b/packages/shared-ux/card/no_data/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-card-no-data", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/card/no_data/impl/package.json b/packages/shared-ux/card/no_data/impl/package.json index 42a1bc7007e0b..51b0955fbc2da 100644 --- a/packages/shared-ux/card/no_data/impl/package.json +++ b/packages/shared-ux/card/no_data/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-card-no-data", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/card/no_data/impl/tsconfig.json b/packages/shared-ux/card/no_data/impl/tsconfig.json index 5735aa5eceaa8..cd9e401f45b02 100644 --- a/packages/shared-ux/card/no_data/impl/tsconfig.json +++ b/packages/shared-ux/card/no_data/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,14 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/shared-ux-link-redirect-app", + "@kbn/shared-ux-card-no-data-types", + "@kbn/shared-ux-card-no-data-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/card/no_data/mocks/BUILD.bazel b/packages/shared-ux/card/no_data/mocks/BUILD.bazel deleted file mode 100644 index 6f08805292436..0000000000000 --- a/packages/shared-ux/card/no_data/mocks/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-card-no-data-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@storybook/addon-actions", - "@npm//deepmerge", - "@npm//lodash", - "@npm//react", - "//packages/shared-ux/link/redirect_app/mocks", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@storybook/addon-actions", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react", - "@npm//deepmerge", - "//packages/shared-ux/card/no_data/types:npm_module_types", - "//packages/shared-ux/link/redirect_app/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/card/no_data/mocks/kibana.jsonc b/packages/shared-ux/card/no_data/mocks/kibana.jsonc index 0fb2ac6bc8cd5..74acf79369075 100644 --- a/packages/shared-ux/card/no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/card/no_data/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-card-no-data-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/card/no_data/mocks/package.json b/packages/shared-ux/card/no_data/mocks/package.json index 06737fb83c6c1..644c718838dd1 100644 --- a/packages/shared-ux/card/no_data/mocks/package.json +++ b/packages/shared-ux/card/no_data/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-card-no-data-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/card/no_data/mocks/tsconfig.json b/packages/shared-ux/card/no_data/mocks/tsconfig.json index 8ed0253743ff7..605636c685b22 100644 --- a/packages/shared-ux/card/no_data/mocks/tsconfig.json +++ b/packages/shared-ux/card/no_data/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "react", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/shared-ux-card-no-data-types", + "@kbn/shared-ux-link-redirect-app-mocks", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/card/no_data/types/BUILD.bazel b/packages/shared-ux/card/no_data/types/BUILD.bazel deleted file mode 100644 index 1e7469ed02b40..0000000000000 --- a/packages/shared-ux/card/no_data/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-card-no-data-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/card/no_data/types/kibana.jsonc b/packages/shared-ux/card/no_data/types/kibana.jsonc index b92d11dee07c0..6b7c283766469 100644 --- a/packages/shared-ux/card/no_data/types/kibana.jsonc +++ b/packages/shared-ux/card/no_data/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-card-no-data-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/card/no_data/types/tsconfig.json b/packages/shared-ux/card/no_data/types/tsconfig.json index b863eab85b68e..73edcc63080a5 100644 --- a/packages/shared-ux/card/no_data/types/tsconfig.json +++ b/packages/shared-ux/card/no_data/types/tsconfig.json @@ -1,12 +1,16 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-link-redirect-app-types", ] } diff --git a/packages/shared-ux/file/context/BUILD.bazel b/packages/shared-ux/file/context/BUILD.bazel deleted file mode 100644 index 0ddce6bf0ca2f..0000000000000 --- a/packages/shared-ux/file/context/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "context" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-context" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/react", - "//packages/shared-ux/file/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/context/kibana.jsonc b/packages/shared-ux/file/context/kibana.jsonc index 55921ceec3052..8d511e381a8df 100644 --- a/packages/shared-ux/file/context/kibana.jsonc +++ b/packages/shared-ux/file/context/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-context", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/context/package.json b/packages/shared-ux/file/context/package.json index 025c4b8101377..ec54922394b4f 100644 --- a/packages/shared-ux/file/context/package.json +++ b/packages/shared-ux/file/context/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-context", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/context/tsconfig.json b/packages/shared-ux/file/context/tsconfig.json index dc13d1aced527..3f5374f1300ff 100644 --- a/packages/shared-ux/file/context/tsconfig.json +++ b/packages/shared-ux/file/context/tsconfig.json @@ -1,13 +1,17 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ ] }, "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-file-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/file_picker/impl/BUILD.bazel b/packages/shared-ux/file/file_picker/impl/BUILD.bazel deleted file mode 100644 index f8bb2f8804cae..0000000000000 --- a/packages/shared-ux/file/file_picker/impl/BUILD.bazel +++ /dev/null @@ -1,158 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-picker" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//@elastic/numeral", - "@npm//react", - "@npm//@emotion/react", - "@npm//@emotion/css", - "@npm//rxjs", - "//packages/kbn-i18n", - "//packages/shared-ux/file/util", - "//packages/shared-ux/file/context", - "//packages/shared-ux/file/file_upload/impl", - "//packages/shared-ux/file/image/impl", - "//packages/kbn-shared-ux-utility", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@elastic/numeral", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ambient-ui-types", - "//packages/shared-ux/file/util:npm_module_types", - "//packages/shared-ux/file/context:npm_module_types", - "//packages/shared-ux/file/file_upload/impl:npm_module_types", - "//packages/shared-ux/file/image/impl:npm_module_types", - "//packages/shared-ux/file/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/file_picker/impl/kibana.jsonc b/packages/shared-ux/file/file_picker/impl/kibana.jsonc index 9188feb7ebc11..ab54fb4f21612 100644 --- a/packages/shared-ux/file/file_picker/impl/kibana.jsonc +++ b/packages/shared-ux/file/file_picker/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-picker", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/file_picker/impl/package.json b/packages/shared-ux/file/file_picker/impl/package.json index 80f28c0ccf7fa..20a932ab2ef2c 100644 --- a/packages/shared-ux/file/file_picker/impl/package.json +++ b/packages/shared-ux/file/file_picker/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-picker", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/file_picker/impl/tsconfig.json b/packages/shared-ux/file/file_picker/impl/tsconfig.json index 0b9ca147ee59f..f9e92a6065f39 100644 --- a/packages/shared-ux/file/file_picker/impl/tsconfig.json +++ b/packages/shared-ux/file/file_picker/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "jest", @@ -14,5 +12,19 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/shared-ux-file-util", + "@kbn/shared-ux-file-context", + "@kbn/shared-ux-file-upload", + "@kbn/shared-ux-file-image", + "@kbn/shared-ux-file-types", + "@kbn/shared-ux-file-mocks", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-file-image-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/file_upload/impl/BUILD.bazel b/packages/shared-ux/file/file_upload/impl/BUILD.bazel deleted file mode 100644 index 6a16aeb63dbfe..0000000000000 --- a/packages/shared-ux/file/file_upload/impl/BUILD.bazel +++ /dev/null @@ -1,155 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-upload" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//react", - "@npm//lodash", - "@npm//@emotion/react", - "@npm//@emotion/css", - "@npm//rxjs", - "//packages/kbn-i18n", - "//packages/kbn-ui-theme", - "//packages/shared-ux/file/util", - "//packages/shared-ux/file/context", - "//packages/kbn-shared-ux-utility", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "@npm//@types/lodash", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-ui-theme:npm_module_types", - "//packages/kbn-ambient-ui-types", - "//packages/shared-ux/file/context:npm_module_types", - "//packages/shared-ux/file/util:npm_module_types", - "//packages/shared-ux/file/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/file_upload/impl/kibana.jsonc b/packages/shared-ux/file/file_upload/impl/kibana.jsonc index 11ad99c84ef5b..a091e6e1ec046 100644 --- a/packages/shared-ux/file/file_upload/impl/kibana.jsonc +++ b/packages/shared-ux/file/file_upload/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-upload", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/file_upload/impl/package.json b/packages/shared-ux/file/file_upload/impl/package.json index 060044a0775a2..008b307710ff4 100644 --- a/packages/shared-ux/file/file_upload/impl/package.json +++ b/packages/shared-ux/file/file_upload/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-upload", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/file_upload/impl/tsconfig.json b/packages/shared-ux/file/file_upload/impl/tsconfig.json index 0b9ca147ee59f..81d7704f03f7b 100644 --- a/packages/shared-ux/file/file_upload/impl/tsconfig.json +++ b/packages/shared-ux/file/file_upload/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "jest", @@ -14,5 +12,18 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/ui-theme", + "@kbn/shared-ux-file-context", + "@kbn/shared-ux-file-util", + "@kbn/shared-ux-file-types", + "@kbn/utility-types-jest", + "@kbn/shared-ux-file-mocks", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/image/impl/BUILD.bazel b/packages/shared-ux/file/image/impl/BUILD.bazel deleted file mode 100644 index dde834269eddd..0000000000000 --- a/packages/shared-ux/file/image/impl/BUILD.bazel +++ /dev/null @@ -1,148 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-image" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//react", - "@npm//classnames", - "@npm//@emotion/react", - "@npm//@emotion/css", - "//packages/shared-ux/file/util", - "//packages/kbn-shared-ux-utility", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "@npm//@types/classnames", - "//packages/kbn-ambient-ui-types", - "//packages/shared-ux/file/util:npm_module_types", - "//packages/shared-ux/file/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/image/impl/kibana.jsonc b/packages/shared-ux/file/image/impl/kibana.jsonc index 93a4709c14bca..1f10c9524e6c3 100644 --- a/packages/shared-ux/file/image/impl/kibana.jsonc +++ b/packages/shared-ux/file/image/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-image", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/image/impl/package.json b/packages/shared-ux/file/image/impl/package.json index 9b45e313c4194..1438cca9f92be 100644 --- a/packages/shared-ux/file/image/impl/package.json +++ b/packages/shared-ux/file/image/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-image", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/image/impl/tsconfig.json b/packages/shared-ux/file/image/impl/tsconfig.json index dad7279f0e301..5404f62040f0d 100644 --- a/packages/shared-ux/file/image/impl/tsconfig.json +++ b/packages/shared-ux/file/image/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "jest", @@ -13,5 +11,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-file-util", + "@kbn/shared-ux-file-types", + "@kbn/shared-ux-file-image-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/image/mocks/BUILD.bazel b/packages/shared-ux/file/image/mocks/BUILD.bazel deleted file mode 100644 index 0c25ef25839ae..0000000000000 --- a/packages/shared-ux/file/image/mocks/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-image-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ ] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/image/mocks/kibana.jsonc b/packages/shared-ux/file/image/mocks/kibana.jsonc index bb4d6a6acca4e..79ddeb6e8d7ad 100644 --- a/packages/shared-ux/file/image/mocks/kibana.jsonc +++ b/packages/shared-ux/file/image/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-image-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/image/mocks/package.json b/packages/shared-ux/file/image/mocks/package.json index 02f631e8257ea..a4bf95cdbcd03 100644 --- a/packages/shared-ux/file/image/mocks/package.json +++ b/packages/shared-ux/file/image/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-image-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/file/image/mocks/tsconfig.json b/packages/shared-ux/file/image/mocks/tsconfig.json index 88aabf570de07..db7f0738c6cfe 100644 --- a/packages/shared-ux/file/image/mocks/tsconfig.json +++ b/packages/shared-ux/file/image/mocks/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", ] }, "include": [ "**/*.ts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/mocks/BUILD.bazel b/packages/shared-ux/file/mocks/BUILD.bazel deleted file mode 100644 index e0df2b7fb962c..0000000000000 --- a/packages/shared-ux/file/mocks/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//jest", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "//packages/kbn-utility-types-jest:npm_module_types", - "//packages/shared-ux/file/types:npm_module_types", - -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/mocks/kibana.jsonc b/packages/shared-ux/file/mocks/kibana.jsonc index 79247cea31833..587fc49d1a21d 100644 --- a/packages/shared-ux/file/mocks/kibana.jsonc +++ b/packages/shared-ux/file/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/mocks/package.json b/packages/shared-ux/file/mocks/package.json index 6be31776d191a..5491796cdb7f6 100644 --- a/packages/shared-ux/file/mocks/package.json +++ b/packages/shared-ux/file/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/mocks/tsconfig.json b/packages/shared-ux/file/mocks/tsconfig.json index 6711daf2036c6..677b4a7a9e2ae 100644 --- a/packages/shared-ux/file/mocks/tsconfig.json +++ b/packages/shared-ux/file/mocks/tsconfig.json @@ -1,12 +1,17 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ ] }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/utility-types-jest", + "@kbn/shared-ux-file-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/types/BUILD.bazel b/packages/shared-ux/file/types/BUILD.bazel deleted file mode 100644 index 5ebe604a3fe96..0000000000000 --- a/packages/shared-ux/file/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/types/kibana.jsonc b/packages/shared-ux/file/types/kibana.jsonc index f40bdacc6802e..becf0ea53cc4c 100644 --- a/packages/shared-ux/file/types/kibana.jsonc +++ b/packages/shared-ux/file/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/types/tsconfig.json b/packages/shared-ux/file/types/tsconfig.json index 7b2ef816db91f..1e6c78a051db3 100644 --- a/packages/shared-ux/file/types/tsconfig.json +++ b/packages/shared-ux/file/types/tsconfig.json @@ -1,14 +1,15 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node" ], }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/file/util/BUILD.bazel b/packages/shared-ux/file/util/BUILD.bazel deleted file mode 100644 index 1fdb6e0500edd..0000000000000 --- a/packages/shared-ux/file/util/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "util" -PKG_REQUIRE_NAME = "@kbn/shared-ux-file-util" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//jest", - "@npm//blurhash", - "@npm//rxjs", - "@npm//react-use", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//blurhash", - "@npm//rxjs", - "@npm//react-use", - "//packages/shared-ux/file/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/file/util/kibana.jsonc b/packages/shared-ux/file/util/kibana.jsonc index ef30839a63640..5e63db9a0f1fb 100644 --- a/packages/shared-ux/file/util/kibana.jsonc +++ b/packages/shared-ux/file/util/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-file-util", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/file/util/package.json b/packages/shared-ux/file/util/package.json index 91b5fbb765173..028f79ac52fa3 100644 --- a/packages/shared-ux/file/util/package.json +++ b/packages/shared-ux/file/util/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-file-util", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/file/util/tsconfig.json b/packages/shared-ux/file/util/tsconfig.json index 47ad657279cbb..dd3e7075a6a89 100644 --- a/packages/shared-ux/file/util/tsconfig.json +++ b/packages/shared-ux/file/util/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-file-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/link/redirect_app/impl/BUILD.bazel b/packages/shared-ux/link/redirect_app/impl/BUILD.bazel deleted file mode 100644 index 03946518a9d4b..0000000000000 --- a/packages/shared-ux/link/redirect_app/impl/BUILD.bazel +++ /dev/null @@ -1,151 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-link-redirect-app" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//react-use", - "@npm//react", - "@npm//rxjs", - "//packages/kbn-shared-ux-utility", - "@npm//@emotion/react", - "@npm//@emotion/css", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "@npm//rxjs", - "@npm//react-use", - "//packages/kbn-ambient-ui-types", - "//packages/shared-ux/link/redirect_app/types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "@npm//@emotion/css", - "@npm//@emotion/react", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/link/redirect_app/impl/kibana.jsonc b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc index 0e18f1baa7d05..4ba057259182f 100644 --- a/packages/shared-ux/link/redirect_app/impl/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-link-redirect-app", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/link/redirect_app/impl/package.json b/packages/shared-ux/link/redirect_app/impl/package.json index 5dae14bdd878e..2e35d70c5b33c 100644 --- a/packages/shared-ux/link/redirect_app/impl/package.json +++ b/packages/shared-ux/link/redirect_app/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-link-redirect-app", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/link/redirect_app/impl/tsconfig.json b/packages/shared-ux/link/redirect_app/impl/tsconfig.json index 361cf19dfaa4f..0b564979c2b9e 100644 --- a/packages/shared-ux/link/redirect_app/impl/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-utility", + "@kbn/shared-ux-link-redirect-app-types", + "@kbn/shared-ux-link-redirect-app-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/link/redirect_app/mocks/BUILD.bazel b/packages/shared-ux/link/redirect_app/mocks/BUILD.bazel deleted file mode 100644 index 122d9927de5e7..0000000000000 --- a/packages/shared-ux/link/redirect_app/mocks/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-link-redirect-app-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@storybook/addon-actions", - "@npm//rxjs", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@storybook/addon-actions", - "@npm//rxjs", - "//packages/shared-ux/link/redirect_app/types:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc index 4157e73efb5cb..3282ed29cba75 100644 --- a/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-link-redirect-app-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/link/redirect_app/mocks/package.json b/packages/shared-ux/link/redirect_app/mocks/package.json index 539bfd8f88c0a..1f7ac27d7e116 100644 --- a/packages/shared-ux/link/redirect_app/mocks/package.json +++ b/packages/shared-ux/link/redirect_app/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-link-redirect-app-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/link/redirect_app/mocks/tsconfig.json b/packages/shared-ux/link/redirect_app/mocks/tsconfig.json index a00de7fc73226..e1d633ba8896a 100644 --- a/packages/shared-ux/link/redirect_app/mocks/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/shared-ux-link-redirect-app-types", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/link/redirect_app/types/BUILD.bazel b/packages/shared-ux/link/redirect_app/types/BUILD.bazel deleted file mode 100644 index cabeec3208b4d..0000000000000 --- a/packages/shared-ux/link/redirect_app/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-link-redirect-app-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/link/redirect_app/types/kibana.jsonc b/packages/shared-ux/link/redirect_app/types/kibana.jsonc index c337cfd460355..7c3f5a0d6d8fc 100644 --- a/packages/shared-ux/link/redirect_app/types/kibana.jsonc +++ b/packages/shared-ux/link/redirect_app/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-link-redirect-app-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/link/redirect_app/types/tsconfig.json b/packages/shared-ux/link/redirect_app/types/tsconfig.json index f566d00dd2704..fc981ba49dd7e 100644 --- a/packages/shared-ux/link/redirect_app/types/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "rxjs", "@types/react", @@ -11,5 +9,8 @@ }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/markdown/impl/BUILD.bazel b/packages/shared-ux/markdown/impl/BUILD.bazel deleted file mode 100644 index bb19abe42c476..0000000000000 --- a/packages/shared-ux/markdown/impl/BUILD.bazel +++ /dev/null @@ -1,145 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-markdown" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//enzyme", - "@npm//@elastic/eui", - "//packages/kbn-ambient-ui-types", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "//packages/shared-ux/markdown/mocks", - # "//packages/kbn-shared-ux-markdown-mocks:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/markdown/impl/kibana.jsonc b/packages/shared-ux/markdown/impl/kibana.jsonc index 8e5c57b8efdd6..6286957024922 100644 --- a/packages/shared-ux/markdown/impl/kibana.jsonc +++ b/packages/shared-ux/markdown/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/markdown/impl/package.json b/packages/shared-ux/markdown/impl/package.json index 55541e9fb54bf..6cc6e10812688 100644 --- a/packages/shared-ux/markdown/impl/package.json +++ b/packages/shared-ux/markdown/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-markdown", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/impl/tsconfig.json b/packages/shared-ux/markdown/impl/tsconfig.json index 60680c404dcdc..a17b7a69317e1 100644 --- a/packages/shared-ux/markdown/impl/tsconfig.json +++ b/packages/shared-ux/markdown/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,11 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-markdown-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/markdown/mocks/BUILD.bazel b/packages/shared-ux/markdown/mocks/BUILD.bazel deleted file mode 100644 index c6ad9fd3c8e74..0000000000000 --- a/packages/shared-ux/markdown/mocks/BUILD.bazel +++ /dev/null @@ -1,140 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-markdown-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@storybook/addon-actions", - "//packages/shared-ux/storybook/mock", - "//packages/shared-ux/markdown/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/react", - "@npm//@storybook/addon-actions", - "@npm//@types/jest", - "@npm//@types/node", - # "//packages/shared-ux/markdown/impl:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", - "//packages/shared-ux/markdown/types:npm_module_types", - -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/markdown/mocks/kibana.jsonc b/packages/shared-ux/markdown/mocks/kibana.jsonc index 12aea510169c8..7f362da42b0d0 100644 --- a/packages/shared-ux/markdown/mocks/kibana.jsonc +++ b/packages/shared-ux/markdown/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/markdown/mocks/package.json b/packages/shared-ux/markdown/mocks/package.json index 68a15def6151f..75b77bb673749 100644 --- a/packages/shared-ux/markdown/mocks/package.json +++ b/packages/shared-ux/markdown/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-markdown-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/mocks/tsconfig.json b/packages/shared-ux/markdown/mocks/tsconfig.json index c8559330de310..2fe699abba9f1 100644 --- a/packages/shared-ux/markdown/mocks/tsconfig.json +++ b/packages/shared-ux/markdown/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "node", "react" @@ -11,5 +9,12 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/shared-ux-storybook-mock", + "@kbn/shared-ux-markdown-types" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/markdown/types/BUILD.bazel b/packages/shared-ux/markdown/types/BUILD.bazel deleted file mode 100644 index 36528f243b5c5..0000000000000 --- a/packages/shared-ux/markdown/types/BUILD.bazel +++ /dev/null @@ -1,67 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-markdown-types" - -SOURCE_FILES = glob( - [ - "*.d.ts", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) \ No newline at end of file diff --git a/packages/shared-ux/markdown/types/kibana.jsonc b/packages/shared-ux/markdown/types/kibana.jsonc index fdc2a59e089a1..7c4c3348bc082 100644 --- a/packages/shared-ux/markdown/types/kibana.jsonc +++ b/packages/shared-ux/markdown/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-markdown-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [], + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/markdown/types/package.json b/packages/shared-ux/markdown/types/package.json index a3b0f4553f0d5..af94eddb92a23 100644 --- a/packages/shared-ux/markdown/types/package.json +++ b/packages/shared-ux/markdown/types/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-markdown-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/markdown/types/tsconfig.json b/packages/shared-ux/markdown/types/tsconfig.json index 3cffae3f70336..078865843e593 100644 --- a/packages/shared-ux/markdown/types/tsconfig.json +++ b/packages/shared-ux/markdown/types/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "rxjs", "@types/react", @@ -11,5 +9,8 @@ }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/analytics_no_data/impl/BUILD.bazel b/packages/shared-ux/page/analytics_no_data/impl/BUILD.bazel deleted file mode 100644 index eba6e6ed2ed19..0000000000000 --- a/packages/shared-ux/page/analytics_no_data/impl/BUILD.bazel +++ /dev/null @@ -1,144 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-analytics-no-data" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@testing-library", - "//packages/kbn-i18n", - "//packages/shared-ux/page/kibana_no_data/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/kbn-i18n:npm_module_types", - "//packages/shared-ux/page/kibana_no_data/impl:npm_module_types", - "//packages/shared-ux/page/analytics_no_data/types:npm_module_types", - "//packages/kbn-ambient-ui-types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc index 1ef76a4f761fe..a971be9527c92 100644 --- a/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc +++ b/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-analytics-no-data", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/analytics_no_data/impl/package.json b/packages/shared-ux/page/analytics_no_data/impl/package.json index af1f2d6860a6f..21bffd125779d 100644 --- a/packages/shared-ux/page/analytics_no_data/impl/package.json +++ b/packages/shared-ux/page/analytics_no_data/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-analytics-no-data", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json b/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json index 7c5977f8a0840..6a78f24dff0f7 100644 --- a/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,15 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/shared-ux-page-kibana-no-data", + "@kbn/shared-ux-page-analytics-no-data-types", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-page-analytics-no-data-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/analytics_no_data/mocks/BUILD.bazel b/packages/shared-ux/page/analytics_no_data/mocks/BUILD.bazel deleted file mode 100644 index d5f264c1a3a8c..0000000000000 --- a/packages/shared-ux/page/analytics_no_data/mocks/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-analytics-no-data-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/shared-ux/page/kibana_no_data/mocks", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/shared-ux/page/analytics_no_data/types:npm_module_types", - "//packages/shared-ux/page/kibana_no_data/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc index 45fc9923f1825..ced2ab2b9a374 100644 --- a/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-analytics-no-data-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/analytics_no_data/mocks/package.json b/packages/shared-ux/page/analytics_no_data/mocks/package.json index cc2fb0317a86b..03ce055b2d1c7 100644 --- a/packages/shared-ux/page/analytics_no_data/mocks/package.json +++ b/packages/shared-ux/page/analytics_no_data/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-analytics-no-data-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json b/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json index 4703a8ebf5e35..7b0f91bbb706c 100644 --- a/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/shared-ux-page-analytics-no-data-types", + "@kbn/shared-ux-page-kibana-no-data-mocks", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/analytics_no_data/types/BUILD.bazel b/packages/shared-ux/page/analytics_no_data/types/BUILD.bazel deleted file mode 100644 index ad51a3b2e4bbe..0000000000000 --- a/packages/shared-ux/page/analytics_no_data/types/BUILD.bazel +++ /dev/null @@ -1,60 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-analytics-no-data-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) - diff --git a/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc index 622d986a5eec3..cc8fc3c873022 100644 --- a/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc +++ b/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-analytics-no-data-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/analytics_no_data/types/package.json b/packages/shared-ux/page/analytics_no_data/types/package.json index fc410b230bb50..24b27948c8037 100644 --- a/packages/shared-ux/page/analytics_no_data/types/package.json +++ b/packages/shared-ux/page/analytics_no_data/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-page-analytics-no-data-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json index b863eab85b68e..e34fff5c01f9b 100644 --- a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json @@ -1,12 +1,16 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-page-kibana-no-data-types", ] } diff --git a/packages/shared-ux/page/kibana_no_data/impl/BUILD.bazel b/packages/shared-ux/page/kibana_no_data/impl/BUILD.bazel deleted file mode 100644 index 31e3910483812..0000000000000 --- a/packages/shared-ux/page/kibana_no_data/impl/BUILD.bazel +++ /dev/null @@ -1,152 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-no-data" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//react", - "//packages/kbn-i18n", - "//packages/shared-ux/prompt/no_data_views/impl", - "//packages/shared-ux/page/no_data_config/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n:npm_module_types", - "//packages/shared-ux/prompt/no_data_views/impl:npm_module_types", - "//packages/shared-ux/page/no_data_config/impl:npm_module_types", - "//packages/shared-ux/page/no_data_config/types", - "//packages/shared-ux/page/kibana_no_data/types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc index 311fb97cadc1a..07de27d7e9aa3 100644 --- a/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-no-data", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_no_data/impl/package.json b/packages/shared-ux/page/kibana_no_data/impl/package.json index d929610c0b7a6..fe9622adf9114 100644 --- a/packages/shared-ux/page/kibana_no_data/impl/package.json +++ b/packages/shared-ux/page/kibana_no_data/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-no-data", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json b/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json index 1f377c27d0e2d..8de16912b9e35 100644 --- a/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,16 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-prompt-no-data-views", + "@kbn/shared-ux-page-no-data-config", + "@kbn/shared-ux-page-kibana-no-data-types", + "@kbn/shared-ux-page-kibana-no-data-mocks", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-card-no-data", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/kibana_no_data/mocks/BUILD.bazel b/packages/shared-ux/page/kibana_no_data/mocks/BUILD.bazel deleted file mode 100644 index 4bc5c5b663b7a..0000000000000 --- a/packages/shared-ux/page/kibana_no_data/mocks/BUILD.bazel +++ /dev/null @@ -1,139 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-no-data-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/shared-ux/card/no_data/mocks", - "//packages/shared-ux/prompt/no_data_views/mocks", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/shared-ux/card/no_data/mocks:npm_module_types", - "//packages/shared-ux/page/kibana_no_data/types:npm_module_types", - "//packages/shared-ux/page/no_data/types", - "//packages/shared-ux/prompt/no_data_views/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc index f505fe3e4b9fa..4d9403bec3999 100644 --- a/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-no-data-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_no_data/mocks/package.json b/packages/shared-ux/page/kibana_no_data/mocks/package.json index b5aba9769ed95..1df39cec2aea0 100644 --- a/packages/shared-ux/page/kibana_no_data/mocks/package.json +++ b/packages/shared-ux/page/kibana_no_data/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-no-data-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json b/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json index a00de7fc73226..012849eca8ae5 100644 --- a/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,15 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/shared-ux-card-no-data-mocks", + "@kbn/shared-ux-page-kibana-no-data-types", + "@kbn/shared-ux-prompt-no-data-views-mocks", + "@kbn/shared-ux-storybook-mock", + "@kbn/shared-ux-page-no-data-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/kibana_no_data/types/BUILD.bazel b/packages/shared-ux/page/kibana_no_data/types/BUILD.bazel deleted file mode 100644 index bac8d3711a04e..0000000000000 --- a/packages/shared-ux/page/kibana_no_data/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-no-data-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc index 5fd40e9bde6a2..6bfd4e44a05d9 100644 --- a/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc +++ b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-no-data-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_no_data/types/package.json b/packages/shared-ux/page/kibana_no_data/types/package.json index e02f5ce674b71..2990f4e6d8656 100644 --- a/packages/shared-ux/page/kibana_no_data/types/package.json +++ b/packages/shared-ux/page/kibana_no_data/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-no-data-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_no_data/types/tsconfig.json b/packages/shared-ux/page/kibana_no_data/types/tsconfig.json index b863eab85b68e..f51e9bf3496fd 100644 --- a/packages/shared-ux/page/kibana_no_data/types/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/types/tsconfig.json @@ -1,12 +1,18 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-types", + "@kbn/shared-ux-prompt-no-data-views-types", + "@kbn/shared-ux-card-no-data-types", ] } diff --git a/packages/shared-ux/page/kibana_template/impl/BUILD.bazel b/packages/shared-ux/page/kibana_template/impl/BUILD.bazel deleted file mode 100644 index e58fb156edc58..0000000000000 --- a/packages/shared-ux/page/kibana_template/impl/BUILD.bazel +++ /dev/null @@ -1,140 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-template" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/shared-ux/page/no_data_config/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/shared-ux/page/no_data_config/impl:npm_module_types", - "//packages/shared-ux/page/kibana_template/types", - "//packages/kbn-ambient-ui-types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_template/impl/kibana.jsonc b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc index cfcef7ec0a150..5b670f59b7d18 100644 --- a/packages/shared-ux/page/kibana_template/impl/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-template", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_template/impl/package.json b/packages/shared-ux/page/kibana_template/impl/package.json index 111538a3dd75b..ef3e0dee17b36 100644 --- a/packages/shared-ux/page/kibana_template/impl/package.json +++ b/packages/shared-ux/page/kibana_template/impl/package.json @@ -2,7 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-template", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/impl/tsconfig.json b/packages/shared-ux/page/kibana_template/impl/tsconfig.json index cf7982b9ab1e6..d4b2c3e87f593 100644 --- a/packages/shared-ux/page/kibana_template/impl/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,15 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-config", + "@kbn/shared-ux-page-kibana-template-mocks", + "@kbn/shared-ux-page-solution-nav", + "@kbn/shared-ux-page-no-data-types", + "@kbn/shared-ux-page-kibana-template-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/kibana_template/mocks/BUILD.bazel b/packages/shared-ux/page/kibana_template/mocks/BUILD.bazel deleted file mode 100644 index c2ec3013e01a8..0000000000000 --- a/packages/shared-ux/page/kibana_template/mocks/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-template-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//lodash", - "@npm//react", - "//packages/shared-ux/page/no_data_config/mocks", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@types/node", - "@npm//@types/react", - "//packages/shared-ux/page/kibana_template/types", - "//packages/shared-ux/page/no_data_config/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc index bb870c6ef0f41..29b752ee4a424 100644 --- a/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-template-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_template/mocks/package.json b/packages/shared-ux/page/kibana_template/mocks/package.json index 4541001003f30..c4b77ca7800cb 100644 --- a/packages/shared-ux/page/kibana_template/mocks/package.json +++ b/packages/shared-ux/page/kibana_template/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-template-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/mocks/tsconfig.json b/packages/shared-ux/page/kibana_template/mocks/tsconfig.json index 4c2618f5b3a19..6a11b6ecad992 100644 --- a/packages/shared-ux/page/kibana_template/mocks/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,14 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-config-mocks", + "@kbn/shared-ux-storybook-mock", + "@kbn/shared-ux-card-no-data-mocks", + "@kbn/shared-ux-page-kibana-template-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/kibana_template/types/BUILD.bazel b/packages/shared-ux/page/kibana_template/types/BUILD.bazel deleted file mode 100644 index 45cbd0fd4cc42..0000000000000 --- a/packages/shared-ux/page/kibana_template/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-kibana-template-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/kibana_template/types/kibana.jsonc b/packages/shared-ux/page/kibana_template/types/kibana.jsonc index 91518cf552986..eda1aee86b12b 100644 --- a/packages/shared-ux/page/kibana_template/types/kibana.jsonc +++ b/packages/shared-ux/page/kibana_template/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-kibana-template-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/kibana_template/types/package.json b/packages/shared-ux/page/kibana_template/types/package.json index 4562e9a1becdd..b25f452e89127 100644 --- a/packages/shared-ux/page/kibana_template/types/package.json +++ b/packages/shared-ux/page/kibana_template/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-page-kibana-template-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/kibana_template/types/tsconfig.json b/packages/shared-ux/page/kibana_template/types/tsconfig.json index b863eab85b68e..8559d1570106c 100644 --- a/packages/shared-ux/page/kibana_template/types/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/types/tsconfig.json @@ -1,12 +1,17 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-page-solution-nav", + "@kbn/shared-ux-page-no-data-config-types", ] } diff --git a/packages/shared-ux/page/no_data/impl/BUILD.bazel b/packages/shared-ux/page/no_data/impl/BUILD.bazel deleted file mode 100644 index 040968fa52553..0000000000000 --- a/packages/shared-ux/page/no_data/impl/BUILD.bazel +++ /dev/null @@ -1,148 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//classnames", - "@npm//react", - "//packages/shared-ux/avatar/solution", - "//packages/shared-ux/card/no_data/impl", - "//packages/shared-ux/prompt/no_data_views/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/classnames", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/shared-ux/avatar/solution:npm_module_types", - "//packages/shared-ux/card/no_data/impl:npm_module_types", - "//packages/shared-ux/page/no_data/types:npm_module_types", - "//packages/shared-ux/prompt/no_data_views/impl:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data/impl/kibana.jsonc b/packages/shared-ux/page/no_data/impl/kibana.jsonc index e651af8c1de04..26e30ef8c15f2 100644 --- a/packages/shared-ux/page/no_data/impl/kibana.jsonc +++ b/packages/shared-ux/page/no_data/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data/impl/package.json b/packages/shared-ux/page/no_data/impl/package.json index 61a823cc5e7ab..7af98cdf3fa46 100644 --- a/packages/shared-ux/page/no_data/impl/package.json +++ b/packages/shared-ux/page/no_data/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-no-data", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/impl/tsconfig.json b/packages/shared-ux/page/no_data/impl/tsconfig.json index ce5320536e563..99daacfdb7087 100644 --- a/packages/shared-ux/page/no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/no_data/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,17 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/shared-ux-avatar-solution", + "@kbn/shared-ux-card-no-data", + "@kbn/shared-ux-page-no-data-types", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-page-no-data-mocks", + "@kbn/i18n", + "@kbn/i18n-react", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/no_data/mocks/BUILD.bazel b/packages/shared-ux/page/no_data/mocks/BUILD.bazel deleted file mode 100644 index 52b1806936a2d..0000000000000 --- a/packages/shared-ux/page/no_data/mocks/BUILD.bazel +++ /dev/null @@ -1,137 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@storybook/addon-actions", - "//packages/shared-ux/card/no_data/mocks", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/shared-ux/page/no_data/types:npm_module_types", - "//packages/shared-ux/card/no_data/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data/mocks/kibana.jsonc b/packages/shared-ux/page/no_data/mocks/kibana.jsonc index 0062ac6548d65..cbcf8d5376a61 100644 --- a/packages/shared-ux/page/no_data/mocks/kibana.jsonc +++ b/packages/shared-ux/page/no_data/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data/mocks/package.json b/packages/shared-ux/page/no_data/mocks/package.json index f3b8c22a03da0..341a66ccbf3a8 100644 --- a/packages/shared-ux/page/no_data/mocks/package.json +++ b/packages/shared-ux/page/no_data/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-no-data-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/mocks/tsconfig.json b/packages/shared-ux/page/no_data/mocks/tsconfig.json index 4703a8ebf5e35..a7ff059474ecd 100644 --- a/packages/shared-ux/page/no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/no_data/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-types", + "@kbn/shared-ux-card-no-data-mocks", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/no_data/types/BUILD.bazel b/packages/shared-ux/page/no_data/types/BUILD.bazel deleted file mode 100644 index 618a82a8f6a98..0000000000000 --- a/packages/shared-ux/page/no_data/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data/types/kibana.jsonc b/packages/shared-ux/page/no_data/types/kibana.jsonc index 504a436c62f48..2e79352fbd5fd 100644 --- a/packages/shared-ux/page/no_data/types/kibana.jsonc +++ b/packages/shared-ux/page/no_data/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data/types/package.json b/packages/shared-ux/page/no_data/types/package.json index 8e9dce1b11f45..c5c6423cdeda2 100644 --- a/packages/shared-ux/page/no_data/types/package.json +++ b/packages/shared-ux/page/no_data/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-page-no-data-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data/types/tsconfig.json b/packages/shared-ux/page/no_data/types/tsconfig.json index b863eab85b68e..cb496086a1a06 100644 --- a/packages/shared-ux/page/no_data/types/tsconfig.json +++ b/packages/shared-ux/page/no_data/types/tsconfig.json @@ -1,12 +1,16 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-card-no-data-types", ] } diff --git a/packages/shared-ux/page/no_data_config/impl/BUILD.bazel b/packages/shared-ux/page/no_data_config/impl/BUILD.bazel deleted file mode 100644 index 2aee71ee7367a..0000000000000 --- a/packages/shared-ux/page/no_data_config/impl/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data-config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//classnames", - "@npm//@elastic/eui", - "//packages/shared-ux/page/solution_nav", - "//packages/shared-ux/page/no_data/impl", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//classnames", - "@npm//@elastic/eui", - "//packages/shared-ux/page/solution_nav:npm_module_types", - "//packages/shared-ux/page/no_data/impl:npm_module_types", - "//packages/shared-ux/page/no_data_config/types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data_config/impl/kibana.jsonc b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc index bc2c3be18cb38..eac1472b64938 100644 --- a/packages/shared-ux/page/no_data_config/impl/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-config", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data_config/impl/package.json b/packages/shared-ux/page/no_data_config/impl/package.json index a30692bf98701..5ade0b28dd2b7 100644 --- a/packages/shared-ux/page/no_data_config/impl/package.json +++ b/packages/shared-ux/page/no_data_config/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-no-data-config", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/impl/tsconfig.json b/packages/shared-ux/page/no_data_config/impl/tsconfig.json index 7c5977f8a0840..f30535d1df3e0 100644 --- a/packages/shared-ux/page/no_data_config/impl/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,15 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/shared-ux-page-solution-nav", + "@kbn/shared-ux-page-no-data", + "@kbn/shared-ux-page-no-data-config-types", + "@kbn/shared-ux-page-no-data-config-mocks", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/no_data_config/mocks/BUILD.bazel b/packages/shared-ux/page/no_data_config/mocks/BUILD.bazel deleted file mode 100644 index 3906ada90b43e..0000000000000 --- a/packages/shared-ux/page/no_data_config/mocks/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data-config-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/shared-ux/page/no_data/mocks", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/shared-ux/page/no_data_config/types", - "//packages/shared-ux/page/no_data/mocks:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc index b1da5fdb4c0c3..0faf3792e6104 100644 --- a/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-config-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data_config/mocks/package.json b/packages/shared-ux/page/no_data_config/mocks/package.json index 4277f81e3dcfe..df7b57c3a878b 100644 --- a/packages/shared-ux/page/no_data_config/mocks/package.json +++ b/packages/shared-ux/page/no_data_config/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-no-data-config-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/mocks/tsconfig.json b/packages/shared-ux/page/no_data_config/mocks/tsconfig.json index 4703a8ebf5e35..8512e6c9fe15c 100644 --- a/packages/shared-ux/page/no_data_config/mocks/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,13 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-mocks", + "@kbn/shared-ux-storybook-mock", + "@kbn/shared-ux-page-no-data-config-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/page/no_data_config/types/BUILD.bazel b/packages/shared-ux/page/no_data_config/types/BUILD.bazel deleted file mode 100644 index 6fa1669fcc176..0000000000000 --- a/packages/shared-ux/page/no_data_config/types/BUILD.bazel +++ /dev/null @@ -1,59 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-no-data-config-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/no_data_config/types/kibana.jsonc b/packages/shared-ux/page/no_data_config/types/kibana.jsonc index 968460e151429..2a3266cdadbbd 100644 --- a/packages/shared-ux/page/no_data_config/types/kibana.jsonc +++ b/packages/shared-ux/page/no_data_config/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-no-data-config-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/no_data_config/types/package.json b/packages/shared-ux/page/no_data_config/types/package.json index 1af47fb4c5028..bee372ead1ad3 100644 --- a/packages/shared-ux/page/no_data_config/types/package.json +++ b/packages/shared-ux/page/no_data_config/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-page-no-data-config-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/page/no_data_config/types/tsconfig.json b/packages/shared-ux/page/no_data_config/types/tsconfig.json index b863eab85b68e..0a4ee6d632cc4 100644 --- a/packages/shared-ux/page/no_data_config/types/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/types/tsconfig.json @@ -1,12 +1,16 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/shared-ux-page-no-data-types", ] } diff --git a/packages/shared-ux/page/solution_nav/BUILD.bazel b/packages/shared-ux/page/solution_nav/BUILD.bazel deleted file mode 100644 index 9dc4115016d65..0000000000000 --- a/packages/shared-ux/page/solution_nav/BUILD.bazel +++ /dev/null @@ -1,152 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "solution_nav" -PKG_REQUIRE_NAME = "@kbn/shared-ux-page-solution-nav" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.scss", - "**/*.mdx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//classnames", - "@npm//enzyme", - "@npm//react",\ - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/shared-ux/avatar/solution", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@types/classnames", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/shared-ux/avatar/solution:npm_module_types", - "//packages/shared-ux/page/kibana_template/types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/page/solution_nav/kibana.jsonc b/packages/shared-ux/page/solution_nav/kibana.jsonc index 0b89ad3a44b0c..8a565ba934727 100644 --- a/packages/shared-ux/page/solution_nav/kibana.jsonc +++ b/packages/shared-ux/page/solution_nav/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-page-solution-nav", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/page/solution_nav/package.json b/packages/shared-ux/page/solution_nav/package.json index 3f07febd136ff..8b4b8f3165a68 100644 --- a/packages/shared-ux/page/solution_nav/package.json +++ b/packages/shared-ux/page/solution_nav/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-page-solution-nav", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/page/solution_nav/tsconfig.json b/packages/shared-ux/page/solution_nav/tsconfig.json index 5cb7bca42f195..dde4935440f75 100644 --- a/packages/shared-ux/page/solution_nav/tsconfig.json +++ b/packages/shared-ux/page/solution_nav/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -14,5 +12,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/shared-ux-avatar-solution", ] } diff --git a/packages/shared-ux/prompt/no_data_views/impl/BUILD.bazel b/packages/shared-ux/prompt/no_data_views/impl/BUILD.bazel deleted file mode 100644 index 8d0d5f0733756..0000000000000 --- a/packages/shared-ux/prompt/no_data_views/impl/BUILD.bazel +++ /dev/null @@ -1,156 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "impl" -PKG_REQUIRE_NAME = "@kbn/shared-ux-prompt-no-data-views" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx", - "**/*.svg", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//enzyme", - "@npm//react", - "//packages/kbn-i18n-react", - "//packages/kbn-i18n", - "//packages/kbn-shared-ux-utility", - "//packages/kbn-test-jest-helpers", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@elastic/eui", - "@npm//@emotion/css", - "@npm//@emotion/react", - "@npm//@types/enzyme", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n-react:npm_module_types", - "//packages/kbn-i18n:npm_module_types", - "//packages/kbn-shared-ux-utility:npm_module_types", - "//packages/kbn-test-jest-helpers:npm_module_types", - "//packages/shared-ux/prompt/no_data_views/types:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc index 416e58e250d10..c5fb048c68098 100644 --- a/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-prompt-no-data-views", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/prompt/no_data_views/impl/package.json b/packages/shared-ux/prompt/no_data_views/impl/package.json index 2be74fd5f5670..b28e9c767bb9d 100644 --- a/packages/shared-ux/prompt/no_data_views/impl/package.json +++ b/packages/shared-ux/prompt/no_data_views/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-prompt-no-data-views", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json b/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json index 5893035fdd770..5da3eb228470f 100644 --- a/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -15,5 +13,16 @@ "include": [ "**/*.ts", "**/*.tsx" + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/shared-ux-utility", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-prompt-no-data-views-types", + "@kbn/shared-ux-prompt-no-data-views-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/prompt/no_data_views/mocks/BUILD.bazel b/packages/shared-ux/prompt/no_data_views/mocks/BUILD.bazel deleted file mode 100644 index c30e7a9c03cf9..0000000000000 --- a/packages/shared-ux/prompt/no_data_views/mocks/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-prompt-no-data-views-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@storybook/addon-actions", - "@npm//react", - "//packages/shared-ux/storybook/mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@storybook/addon-actions", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", - "//packages/shared-ux/prompt/no_data_views/types:npm_module_types", - "//packages/shared-ux/storybook/mock:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc index 07cf434cde4a3..29c18ad857afc 100644 --- a/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-prompt-no-data-views-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/prompt/no_data_views/mocks/package.json b/packages/shared-ux/prompt/no_data_views/mocks/package.json index 4485a0918cda7..454408d9cee1a 100644 --- a/packages/shared-ux/prompt/no_data_views/mocks/package.json +++ b/packages/shared-ux/prompt/no_data_views/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-prompt-no-data-views-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json b/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json index a00de7fc73226..8445aacb692ba 100644 --- a/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,12 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/shared-ux-prompt-no-data-views-types", + "@kbn/shared-ux-storybook-mock" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/prompt/no_data_views/types/BUILD.bazel b/packages/shared-ux/prompt/no_data_views/types/BUILD.bazel deleted file mode 100644 index bfaf94b0b7210..0000000000000 --- a/packages/shared-ux/prompt/no_data_views/types/BUILD.bazel +++ /dev/null @@ -1,60 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-prompt-no-data-views-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) - diff --git a/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc index 54785567d8b03..6aa07c20b34e9 100644 --- a/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc +++ b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-prompt-no-data-views-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/prompt/no_data_views/types/package.json b/packages/shared-ux/prompt/no_data_views/types/package.json index dce78ded678b2..79b0186dbc63c 100644 --- a/packages/shared-ux/prompt/no_data_views/types/package.json +++ b/packages/shared-ux/prompt/no_data_views/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-prompt-no-data-views-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/prompt/no_data_views/types/tsconfig.json b/packages/shared-ux/prompt/no_data_views/types/tsconfig.json index b863eab85b68e..362cc9e727b9f 100644 --- a/packages/shared-ux/prompt/no_data_views/types/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/types/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../../../../tsconfig.bazel.json", + "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/prompt/not_found/BUILD.bazel b/packages/shared-ux/prompt/not_found/BUILD.bazel deleted file mode 100644 index 019224c4d0377..0000000000000 --- a/packages/shared-ux/prompt/not_found/BUILD.bazel +++ /dev/null @@ -1,142 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "errors" -PKG_REQUIRE_NAME = "@kbn/shared-ux-prompt-error" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.png", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//@elastic/eui", - "//packages/kbn-i18n" -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/eui", - "//packages/kbn-ambient-ui-types", - "//packages/kbn-i18n:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ] -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/prompt/not_found/kibana.jsonc b/packages/shared-ux/prompt/not_found/kibana.jsonc index dfcbc505ab652..70ecc1dbf1eb9 100644 --- a/packages/shared-ux/prompt/not_found/kibana.jsonc +++ b/packages/shared-ux/prompt/not_found/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-prompt-not-found", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/prompt/not_found/package.json b/packages/shared-ux/prompt/not_found/package.json index e28ff82ce6c29..d79914ea73061 100644 --- a/packages/shared-ux/prompt/not_found/package.json +++ b/packages/shared-ux/prompt/not_found/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-prompt-not-found", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "types": "./target_types/index.d.ts", "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/shared-ux/prompt/not_found/tsconfig.json b/packages/shared-ux/prompt/not_found/tsconfig.json index 044531bb66de4..6b098efdfa673 100644 --- a/packages/shared-ux/prompt/not_found/tsconfig.json +++ b/packages/shared-ux/prompt/not_found/tsconfig.json @@ -1,10 +1,14 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": ["jest", "node", "react", "@kbn/ambient-ui-types"] }, - "include": ["**/*.ts", "**/*.tsx"] + "include": ["**/*.ts", "**/*.tsx"], + "kbn_references": [ + "@kbn/i18n" + ], + "exclude": [ + "target/**/*", + ] } diff --git a/packages/shared-ux/router/impl/BUILD.bazel b/packages/shared-ux/router/impl/BUILD.bazel deleted file mode 100644 index a008a5d15df59..0000000000000 --- a/packages/shared-ux/router/impl/BUILD.bazel +++ /dev/null @@ -1,138 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "shared-ux-router" -PKG_REQUIRE_NAME = "@kbn/shared-ux-router" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - "**/*.mdx" - ], - exclude = [ - "**/*.test.*", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "@npm//react-router-dom", - "@npm//react-use", - "@npm//rxjs", - "//packages/kbn-shared-ux-utility", - "//packages/kbn-test-jest-helpers", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@types/react-router-dom", - "@npm//react-use", - "@npm//rxjs", - "//packages/kbn-shared-ux-utility:npm_module_types", - "//packages/shared-ux/router/types:npm_module_types", - "//packages/kbn-ambient-ui-types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/router/impl/kibana.jsonc b/packages/shared-ux/router/impl/kibana.jsonc index e1e6e614e9d6f..5ecf4e1e558df 100644 --- a/packages/shared-ux/router/impl/kibana.jsonc +++ b/packages/shared-ux/router/impl/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-router", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/router/impl/package.json b/packages/shared-ux/router/impl/package.json index 6c80fa334caa4..78239954823bd 100644 --- a/packages/shared-ux/router/impl/package.json +++ b/packages/shared-ux/router/impl/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-router", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/router/impl/tsconfig.json b/packages/shared-ux/router/impl/tsconfig.json index 475b363297f65..13e290e2dea0b 100644 --- a/packages/shared-ux/router/impl/tsconfig.json +++ b/packages/shared-ux/router/impl/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,10 @@ }, "include": [ "**/*", + ], + "kbn_references": [ + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/router/mocks/BUILD.bazel b/packages/shared-ux/router/mocks/BUILD.bazel deleted file mode 100644 index 6a7e263075e8a..0000000000000 --- a/packages/shared-ux/router/mocks/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mocks" -PKG_REQUIRE_NAME = "@kbn/shared-ux-router-mocks" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__", - "**/integration_tests", - "**/mocks", - "**/scripts", - "**/storybook", - "**/test_fixtures", - "**/test_helpers", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react" -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - root_dir = ".", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/router/mocks/kibana.jsonc b/packages/shared-ux/router/mocks/kibana.jsonc index 858c88c76e201..73750134ebdf2 100644 --- a/packages/shared-ux/router/mocks/kibana.jsonc +++ b/packages/shared-ux/router/mocks/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-router-mocks", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/router/mocks/package.json b/packages/shared-ux/router/mocks/package.json index a4dcbf97cb778..7ee5c2cc07993 100644 --- a/packages/shared-ux/router/mocks/package.json +++ b/packages/shared-ux/router/mocks/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-router-mocks", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/shared-ux/router/mocks/tsconfig.json b/packages/shared-ux/router/mocks/tsconfig.json index 37f8e83d0d7a6..e71c7853b63f8 100644 --- a/packages/shared-ux/router/mocks/tsconfig.json +++ b/packages/shared-ux/router/mocks/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -13,5 +11,8 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/router/types/BUILD.bazel b/packages/shared-ux/router/types/BUILD.bazel deleted file mode 100644 index b33071f126efe..0000000000000 --- a/packages/shared-ux/router/types/BUILD.bazel +++ /dev/null @@ -1,60 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "types" -PKG_REQUIRE_NAME = "@kbn/shared-ux-router-types" - -SRCS = glob( - [ - "*.d.ts", - ] -) - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -js_library( - name = PKG_DIRNAME, - srcs = SRCS + NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS, - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -alias( - name = "npm_module_types", - actual = ":" + PKG_DIRNAME, - visibility = ["//visibility:public"], -) - diff --git a/packages/shared-ux/router/types/kibana.jsonc b/packages/shared-ux/router/types/kibana.jsonc index 2a8021f3a203d..11df98571de3c 100644 --- a/packages/shared-ux/router/types/kibana.jsonc +++ b/packages/shared-ux/router/types/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-router-types", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/router/types/package.json b/packages/shared-ux/router/types/package.json index 323e9848a50a7..506ca06280ac8 100644 --- a/packages/shared-ux/router/types/package.json +++ b/packages/shared-ux/router/types/package.json @@ -2,6 +2,5 @@ "name": "@kbn/shared-ux-router-types", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", "license": "SSPL-1.0 OR Elastic License 2.0" -} +} \ No newline at end of file diff --git a/packages/shared-ux/router/types/tsconfig.json b/packages/shared-ux/router/types/tsconfig.json index 9b572c50a398e..cf858a91253d4 100644 --- a/packages/shared-ux/router/types/tsconfig.json +++ b/packages/shared-ux/router/types/tsconfig.json @@ -1,12 +1,13 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [] }, "include": [ "*.d.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/storybook/config/BUILD.bazel b/packages/shared-ux/storybook/config/BUILD.bazel deleted file mode 100644 index 9451199caf5c9..0000000000000 --- a/packages/shared-ux/storybook/config/BUILD.bazel +++ /dev/null @@ -1,139 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "config" -PKG_REQUIRE_NAME = "@kbn/shared-ux-storybook-config" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "//packages/kbn-storybook", - "@npm//@storybook/react", - "@npm//@storybook/addon-actions", - "@npm//jest-mock", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "//packages/kbn-storybook:npm_module_types", - "//packages/kbn-ambient-ui-types:npm_module_types", - "//packages/kbn-ambient-storybook-types:npm_module_types", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//jest-mock", - "@npm//@storybook/react", - "@npm//@storybook/addon-actions", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/storybook/config/kibana.jsonc b/packages/shared-ux/storybook/config/kibana.jsonc index 943577a87ff96..46f41bb01eb8e 100644 --- a/packages/shared-ux/storybook/config/kibana.jsonc +++ b/packages/shared-ux/storybook/config/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-storybook-config", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/storybook/config/package.json b/packages/shared-ux/storybook/config/package.json index bcf7b626d7a26..641267908edf0 100644 --- a/packages/shared-ux/storybook/config/package.json +++ b/packages/shared-ux/storybook/config/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-storybook-config", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/storybook/config/tsconfig.json b/packages/shared-ux/storybook/config/tsconfig.json index 8beb0a5da38ab..7b41c512d4ef0 100644 --- a/packages/shared-ux/storybook/config/tsconfig.json +++ b/packages/shared-ux/storybook/config/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,11 @@ }, "include": [ "**/*.ts" + ], + "kbn_references": [ + "@kbn/storybook", + ], + "exclude": [ + "target/**/*", ] } diff --git a/packages/shared-ux/storybook/mock/BUILD.bazel b/packages/shared-ux/storybook/mock/BUILD.bazel deleted file mode 100644 index 2b59617938208..0000000000000 --- a/packages/shared-ux/storybook/mock/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "mock" -PKG_REQUIRE_NAME = "@kbn/shared-ux-storybook-mock" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@storybook/react", - "@npm//react", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@storybook/react", - "@npm//@types/jest", - "@npm//@types/node", - "@npm//@types/react", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/shared-ux/storybook/mock/kibana.jsonc b/packages/shared-ux/storybook/mock/kibana.jsonc index 50fc306e62ef3..143be36c8f400 100644 --- a/packages/shared-ux/storybook/mock/kibana.jsonc +++ b/packages/shared-ux/storybook/mock/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/shared-ux-storybook-mock", - "owner": "@elastic/kibana-global-experience", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/kibana-global-experience" } diff --git a/packages/shared-ux/storybook/mock/package.json b/packages/shared-ux/storybook/mock/package.json index 83429ee8a3249..935d67052cc08 100644 --- a/packages/shared-ux/storybook/mock/package.json +++ b/packages/shared-ux/storybook/mock/package.json @@ -2,8 +2,5 @@ "name": "@kbn/shared-ux-storybook-mock", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/shared-ux/storybook/mock/tsconfig.json b/packages/shared-ux/storybook/mock/tsconfig.json index 3cdea36de9eac..0f16c2b9311d8 100644 --- a/packages/shared-ux/storybook/mock/tsconfig.json +++ b/packages/shared-ux/storybook/mock/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "types": [ "jest", "node", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/scripts/build_kibana_platform_plugins.js b/scripts/build_kibana_platform_plugins.js index 1c1b17feae179..59bf23ffb243e 100644 --- a/scripts/build_kibana_platform_plugins.js +++ b/scripts/build_kibana_platform_plugins.js @@ -6,12 +6,13 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); -require('source-map-support/register'); +require('../src/setup_node_env'); var Path = require('path'); -var REPO_ROOT = require('@kbn/utils').REPO_ROOT; require('@kbn/optimizer').runKbnOptimizerCli({ - defaultLimitsPath: Path.resolve(REPO_ROOT, 'packages/kbn-optimizer/limits.yml'), + defaultLimitsPath: Path.resolve( + require('@kbn/repo-info').REPO_ROOT, + 'packages/kbn-optimizer/limits.yml' + ), }); diff --git a/scripts/build_plugin_list_docs.js b/scripts/build_plugin_list_docs.js index 1e05f60fd8b4a..5f89f1f0e2c04 100644 --- a/scripts/build_plugin_list_docs.js +++ b/scripts/build_plugin_list_docs.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/dev-utils').runPluginListCli(); diff --git a/scripts/check_ts_projects.js b/scripts/check_ts_projects.js deleted file mode 100644 index e2179b7c507b5..0000000000000 --- a/scripts/check_ts_projects.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('../src/setup_node_env'); -require('../src/dev/typescript/run_check_ts_projects_cli').runCheckTsProjectsCli(); diff --git a/scripts/classify_source.js b/scripts/classify_source.js index c73f339a1786a..461ebcaf3dca1 100644 --- a/scripts/classify_source.js +++ b/scripts/classify_source.js @@ -6,6 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); -require('source-map-support/register'); +require('../src/setup_node_env'); require('@kbn/repo-source-classifier-cli'); diff --git a/scripts/es.js b/scripts/es.js index 8538b5661ea4c..1fcd221c97904 100644 --- a/scripts/es.js +++ b/scripts/es.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); var resolve = require('path').resolve; var pkg = require('../package.json'); diff --git a/scripts/find_babel_runtime_helpers_in_use.js b/scripts/find_babel_runtime_helpers_in_use.js index a229c8e11a2ca..769caeab3db64 100644 --- a/scripts/find_babel_runtime_helpers_in_use.js +++ b/scripts/find_babel_runtime_helpers_in_use.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/optimizer').runFindBabelHelpersInEntryBundlesCli(); diff --git a/scripts/find_node_libs_browser_polyfills_in_use.js b/scripts/find_node_libs_browser_polyfills_in_use.js index 4e53e5e551075..8c96555d2b98b 100644 --- a/scripts/find_node_libs_browser_polyfills_in_use.js +++ b/scripts/find_node_libs_browser_polyfills_in_use.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/optimizer').runFindNodeLibsBrowserPolyfillsInEntryBundlesCli(); diff --git a/scripts/find_target_node_imports_in_bundles.js b/scripts/find_target_node_imports_in_bundles.js deleted file mode 100644 index eae3b94efeaba..0000000000000 --- a/scripts/find_target_node_imports_in_bundles.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('../src/setup_node_env/no_transpilation'); -require('@kbn/optimizer').runFindTargetNodeImportsCli(); diff --git a/scripts/generate.js b/scripts/generate.js index 29774e8088d65..327689c41a321 100644 --- a/scripts/generate.js +++ b/scripts/generate.js @@ -6,6 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); -require('source-map-support/register'); +require('../src/setup_node_env'); require('@kbn/generate').runGenerateCli(); diff --git a/scripts/generate_plugin.js b/scripts/generate_plugin.js index 4e589343cea7b..c77a0aaaddbb6 100644 --- a/scripts/generate_plugin.js +++ b/scripts/generate_plugin.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/plugin-generator').runCli(); diff --git a/scripts/jest.js b/scripts/jest.js index 0ff6a0dcf5373..edf1eb0a71ed4 100755 --- a/scripts/jest.js +++ b/scripts/jest.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); +require('../src/setup_node_env'); require('@kbn/test').runJest(); diff --git a/scripts/jest_integration.js b/scripts/jest_integration.js index 9b4157eddaaf8..0c2ebeaed154c 100755 --- a/scripts/jest_integration.js +++ b/scripts/jest_integration.js @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); +require('../src/setup_node_env'); process.argv.push('--runInBand'); - require('@kbn/test').runJest('jest.integration.config.js'); diff --git a/scripts/kbn.js b/scripts/kbn.js index 4ae35a0689e93..64bf0beca9988 100644 --- a/scripts/kbn.js +++ b/scripts/kbn.js @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); require('../src/setup_node_env/root'); require('../src/setup_node_env/node_version_validator'); import('../kbn_pm/src/cli.mjs').catch(function (error) { diff --git a/scripts/plugin_helpers.js b/scripts/plugin_helpers.js index 02c8bb17fc078..0f5b93f493213 100644 --- a/scripts/plugin_helpers.js +++ b/scripts/plugin_helpers.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/plugin-helpers').runCli(); diff --git a/scripts/precommit_hook.js b/scripts/precommit_hook.js index 1a4176bf142a0..a040fcd2765ea 100644 --- a/scripts/precommit_hook.js +++ b/scripts/precommit_hook.js @@ -6,6 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); -require('@kbn/optimizer').registerNodeAutoTranspilation(); +require('../src/setup_node_env'); require('../src/dev/run_precommit_hook'); diff --git a/scripts/read_jest_help.mjs b/scripts/read_jest_help.mjs index 0a3ce69c02c93..e8c16540b0d7a 100644 --- a/scripts/read_jest_help.mjs +++ b/scripts/read_jest_help.mjs @@ -11,7 +11,7 @@ import Path from 'path'; import { createFailError } from '@kbn/dev-cli-errors'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const FLAGS_FILE = 'packages/kbn-test/src/jest/jest_flags.json'; diff --git a/scripts/register_git_hook.js b/scripts/register_git_hook.js index e3db1af6f34d7..67de489c973b2 100644 --- a/scripts/register_git_hook.js +++ b/scripts/register_git_hook.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); -require('@kbn/dev-utils/target_node/src/precommit_hook/cli'); +require('../src/setup_node_env'); +require('@kbn/dev-utils/src/precommit_hook/cli'); diff --git a/scripts/ship_ci_stats.js b/scripts/ship_ci_stats.js index 5aed9fc446240..a45ab8472956c 100644 --- a/scripts/ship_ci_stats.js +++ b/scripts/ship_ci_stats.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/dev-utils').shipCiStatsCli(); diff --git a/scripts/telemetry_check.js b/scripts/telemetry_check.js index e4fcefc60b8de..2079489e2345f 100644 --- a/scripts/telemetry_check.js +++ b/scripts/telemetry_check.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/telemetry-tools').runTelemetryCheck(); diff --git a/scripts/telemetry_extract.js b/scripts/telemetry_extract.js index c662755767b20..5d907fa5cd5a8 100644 --- a/scripts/telemetry_extract.js +++ b/scripts/telemetry_extract.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/telemetry-tools').runTelemetryExtract(); diff --git a/scripts/test_hardening.js b/scripts/test_hardening.js index a719d77c517ee..cc058d742751d 100644 --- a/scripts/test_hardening.js +++ b/scripts/test_hardening.js @@ -6,8 +6,6 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/ensure_node_preserve_symlinks'); - var execFileSync = require('child_process').execFileSync; var path = require('path'); var syncGlob = require('glob').sync; diff --git a/scripts/ts_project_linter.js b/scripts/ts_project_linter.js new file mode 100644 index 0000000000000..75cbbf7de7c10 --- /dev/null +++ b/scripts/ts_project_linter.js @@ -0,0 +1,10 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +require('../src/setup_node_env'); +require('@kbn/ts-project-linter-cli'); diff --git a/scripts/type_check.js b/scripts/type_check.js index db3f7adc2691c..a9969acc70ac8 100644 --- a/scripts/type_check.js +++ b/scripts/type_check.js @@ -7,4 +7,4 @@ */ require('../src/setup_node_env'); -require('../src/dev/typescript').runTypeCheckCli(); +require('@kbn/ts-type-check-cli'); diff --git a/scripts/type_summarizer.js b/scripts/type_summarizer.js deleted file mode 100644 index 8cad17c6443cd..0000000000000 --- a/scripts/type_summarizer.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('../src/setup_node_env/no_transpilation'); -require('source-map-support/register'); -require('@kbn/type-summarizer-cli'); diff --git a/scripts/update_vscode_config.js b/scripts/update_vscode_config.js index 2b23d8004f793..8a450655ec291 100644 --- a/scripts/update_vscode_config.js +++ b/scripts/update_vscode_config.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('../src/setup_node_env/no_transpilation'); +require('../src/setup_node_env'); require('@kbn/managed-vscode-config-cli'); diff --git a/src/cli/cli.js b/src/cli/cli.js index d3bff4f492a80..f6bce6a8aefa2 100644 --- a/src/cli/cli.js +++ b/src/cli/cli.js @@ -7,7 +7,7 @@ */ import _ from 'lodash'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import Command from './command'; import serveCommand from './serve/serve'; diff --git a/src/cli/dev.js b/src/cli/dev.js index 42263986f98f3..fb61b53b6f210 100644 --- a/src/cli/dev.js +++ b/src/cli/dev.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ +require('@kbn/babel-register').install(); require('./apm')(process.env.ELASTIC_APM_SERVICE_NAME || 'kibana-proxy'); require('../setup_node_env'); -require('../setup_node_env/root'); require('./cli'); diff --git a/src/cli/serve/integration_tests/invalid_config.test.ts b/src/cli/serve/integration_tests/invalid_config.test.ts index ca051f37a816e..32414fe7f89f5 100644 --- a/src/cli/serve/integration_tests/invalid_config.test.ts +++ b/src/cli/serve/integration_tests/invalid_config.test.ts @@ -8,7 +8,7 @@ import { spawnSync } from 'child_process'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const INVALID_CONFIG_PATH = require.resolve('./__fixtures__/invalid_config.yml'); diff --git a/src/cli/serve/serve.js b/src/cli/serve/serve.js index d5c1f844c4d1c..61e482e5d6d07 100644 --- a/src/cli/serve/serve.js +++ b/src/cli/serve/serve.js @@ -12,7 +12,8 @@ import { statSync } from 'fs'; import { resolve } from 'path'; import url from 'url'; -import { getConfigPath, fromRoot, isKibanaDistributable } from '@kbn/utils'; +import { getConfigPath } from '@kbn/utils'; +import { fromRoot, isKibanaDistributable } from '@kbn/repo-info'; import { readKeystore } from '../keystore/read_keystore'; function canRequire(path) { diff --git a/src/cli/tsconfig.json b/src/cli/tsconfig.json index b3a8ab5220b94..5ee6fa3616614 100644 --- a/src/cli/tsconfig.json +++ b/src/cli/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true + "outDir": "target/types", }, "include": [ "keystore/**/*", @@ -11,7 +9,17 @@ "*.js", ], "kbn_references": [ - { "path": "../core/tsconfig.json" }, + "@kbn/core", { "path": "../setup_node_env/tsconfig.json" }, + "@kbn/utils", + "@kbn/repo-info", + "@kbn/safer-lodash-set", + "@kbn/config", + "@kbn/dev-utils", + "@kbn/apm-config-loader", + "@kbn/babel-register", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_encryption_keys/cli_encryption_keys.js b/src/cli_encryption_keys/cli_encryption_keys.js index acee81aabb706..d1e9363e50f33 100644 --- a/src/cli_encryption_keys/cli_encryption_keys.js +++ b/src/cli_encryption_keys/cli_encryption_keys.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import Command from '../cli/command'; import { EncryptionConfig } from './encryption_config'; diff --git a/src/cli_encryption_keys/tsconfig.json b/src/cli_encryption_keys/tsconfig.json index 6b6661d24f9c6..40ea4d7d7cbcd 100644 --- a/src/cli_encryption_keys/tsconfig.json +++ b/src/cli_encryption_keys/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "*.js", @@ -11,5 +9,10 @@ "kbn_references": [ { "path": "../cli/tsconfig.json" }, { "path": "../cli_keystore/tsconfig.json" }, + "@kbn/repo-info", + "@kbn/utils", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_health_gateway/cli_health_gateway.ts b/src/cli_health_gateway/cli_health_gateway.ts index 018a47aed2a39..22e1ffa969c64 100644 --- a/src/cli_health_gateway/cli_health_gateway.ts +++ b/src/cli_health_gateway/cli_health_gateway.ts @@ -7,7 +7,7 @@ */ import { Command } from 'commander'; -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { bootstrap } from '@kbn/health-gateway-server'; const program = new Command('bin/kibana-health-gateway'); diff --git a/src/cli_health_gateway/tsconfig.json b/src/cli_health_gateway/tsconfig.json index c8ad5deb6f6d5..8422077737c56 100644 --- a/src/cli_health_gateway/tsconfig.json +++ b/src/cli_health_gateway/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "*.js", @@ -11,5 +9,10 @@ ], "kbn_references": [ { "path": "../cli/tsconfig.json" }, + "@kbn/repo-info", + "@kbn/health-gateway-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_keystore/add.js b/src/cli_keystore/add.js index 96778665ac912..2d5e8485df6e1 100644 --- a/src/cli_keystore/add.js +++ b/src/cli_keystore/add.js @@ -9,7 +9,7 @@ import { Logger } from '../cli/logger'; import { confirm, question } from './utils'; // import from path since add.test.js mocks 'fs' required for @kbn/utils -import { createPromiseFromStreams, createConcatStream } from '@kbn/utils/target_node/src/streams'; +import { createPromiseFromStreams, createConcatStream } from '@kbn/utils/src/streams'; /** * @param {Keystore} keystore diff --git a/src/cli_keystore/cli_keystore.js b/src/cli_keystore/cli_keystore.js index 0db5d0f33337d..fdf0260fb7dae 100644 --- a/src/cli_keystore/cli_keystore.js +++ b/src/cli_keystore/cli_keystore.js @@ -7,7 +7,7 @@ */ import _ from 'lodash'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import Command from '../cli/command'; import { getKeystore } from '../cli/keystore/get_keystore'; diff --git a/src/cli_keystore/tsconfig.json b/src/cli_keystore/tsconfig.json index 8cd8e6f3f232c..a52277bb8a4e8 100644 --- a/src/cli_keystore/tsconfig.json +++ b/src/cli_keystore/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "keystore/**/*", @@ -14,5 +12,10 @@ { "path": "../setup_node_env/tsconfig.json" }, { "path": "../cli/tsconfig.json" }, { "path": "../cli_plugin/tsconfig.json" }, + "@kbn/utils", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_plugin/cli.js b/src/cli_plugin/cli.js index 5ef142192c509..b1d0550cf8be8 100644 --- a/src/cli_plugin/cli.js +++ b/src/cli_plugin/cli.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import Command from '../cli/command'; import { listCommand } from './list'; import { installCommand } from './install'; diff --git a/src/cli_plugin/install/index.js b/src/cli_plugin/install/index.js index cdf0218de3c9b..76ab7966ee99a 100644 --- a/src/cli_plugin/install/index.js +++ b/src/cli_plugin/install/index.js @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { getConfigPath, kibanaPackageJson as pkg } from '@kbn/utils'; +import { getConfigPath } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { install } from './install'; import { Logger } from '../../cli/logger'; import { parse, parseMilliseconds } from './settings'; diff --git a/src/cli_plugin/install/settings.js b/src/cli_plugin/install/settings.js index e1536d66e0529..b3c3741fb2fa9 100644 --- a/src/cli_plugin/install/settings.js +++ b/src/cli_plugin/install/settings.js @@ -8,7 +8,7 @@ import { resolve } from 'path'; import expiry from 'expiry-js'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; function generateUrls({ version, plugin }) { return [ diff --git a/src/cli_plugin/install/settings.test.js b/src/cli_plugin/install/settings.test.js index b0accc83971e3..7c59d3e066980 100644 --- a/src/cli_plugin/install/settings.test.js +++ b/src/cli_plugin/install/settings.test.js @@ -7,7 +7,7 @@ */ import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { parseMilliseconds, parse } from './settings'; diff --git a/src/cli_plugin/list/index.js b/src/cli_plugin/list/index.js index 131582598c3ed..5b66208452a23 100644 --- a/src/cli_plugin/list/index.js +++ b/src/cli_plugin/list/index.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; import { list } from './list'; import { Logger } from '../../cli/logger'; import { logWarnings } from '../lib/log_warnings'; diff --git a/src/cli_plugin/remove/settings.js b/src/cli_plugin/remove/settings.js index 2381770ee0a65..482d26881fd64 100644 --- a/src/cli_plugin/remove/settings.js +++ b/src/cli_plugin/remove/settings.js @@ -7,7 +7,7 @@ */ import { resolve } from 'path'; -import { fromRoot } from '@kbn/utils'; +import { fromRoot } from '@kbn/repo-info'; export function parse(command, options) { const settings = { diff --git a/src/cli_plugin/tsconfig.json b/src/cli_plugin/tsconfig.json index 611a8c05d8a43..9f9749b89a9b0 100644 --- a/src/cli_plugin/tsconfig.json +++ b/src/cli_plugin/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "install/**/*", @@ -14,5 +12,11 @@ ], "kbn_references": [ { "path": "../cli/tsconfig.json" }, + "@kbn/utils", + "@kbn/repo-info", + "@kbn/jest-serializers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_setup/cli_setup.ts b/src/cli_setup/cli_setup.ts index b13e94551db5b..4a283df2e849c 100644 --- a/src/cli_setup/cli_setup.ts +++ b/src/cli_setup/cli_setup.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import chalk from 'chalk'; import ora from 'ora'; import { Command } from 'commander'; diff --git a/src/cli_setup/tsconfig.json b/src/cli_setup/tsconfig.json index c59d1c32ee822..268df5caa5959 100644 --- a/src/cli_setup/tsconfig.json +++ b/src/cli_setup/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "*.js", @@ -11,6 +9,14 @@ ], "kbn_references": [ { "path": "../cli/tsconfig.json" }, - { "path": "../plugins/interactive_setup/tsconfig.json" }, + "@kbn/interactive-setup-plugin", + "@kbn/repo-info", + "@kbn/utils", + "@kbn/core", + "@kbn/core-elasticsearch-client-server-internal", + "@kbn/core-elasticsearch-server-internal", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/cli_setup/utils.ts b/src/cli_setup/utils.ts index 33efb2ff802b8..36c08de4d422a 100644 --- a/src/cli_setup/utils.ts +++ b/src/cli_setup/utils.ts @@ -10,7 +10,7 @@ import { getConfigPath, getDataPath } from '@kbn/utils'; import inquirer from 'inquirer'; import { duration } from 'moment'; import { merge } from 'lodash'; -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { Logger } from '@kbn/core/server'; import { AgentManager, ClusterClient } from '@kbn/core-elasticsearch-client-server-internal'; diff --git a/src/cli_verification_code/cli_verification_code.js b/src/cli_verification_code/cli_verification_code.js index 7ed83e8211c3c..45c55d0111a57 100644 --- a/src/cli_verification_code/cli_verification_code.js +++ b/src/cli_verification_code/cli_verification_code.js @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { kibanaPackageJson, getDataPath } from '@kbn/utils'; +import { getDataPath } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import path from 'path'; import fs from 'fs'; import chalk from 'chalk'; diff --git a/src/cli_verification_code/tsconfig.json b/src/cli_verification_code/tsconfig.json index ba74b96a36b68..15d1c74d0ec60 100644 --- a/src/cli_verification_code/tsconfig.json +++ b/src/cli_verification_code/tsconfig.json @@ -1,14 +1,17 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "*.js", ], "kbn_references": [ { "path": "../cli/tsconfig.json" }, + "@kbn/utils", + "@kbn/repo-info", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/core/server/index.ts b/src/core/server/index.ts index 3b4f860093c09..237a71821a9af 100644 --- a/src/core/server/index.ts +++ b/src/core/server/index.ts @@ -194,6 +194,8 @@ export type { HttpServerInfo, HttpServicePreboot, HttpServiceStart, + RawRequest, + FakeRawRequest, } from '@kbn/core-http-server'; export type { IExternalUrlPolicy } from '@kbn/core-http-common'; diff --git a/src/core/server/integration_tests/capabilities/capabilities_service.test.ts b/src/core/server/integration_tests/capabilities/capabilities_service.test.ts index b1db93d6bdf94..23a8905bcb565 100644 --- a/src/core/server/integration_tests/capabilities/capabilities_service.test.ts +++ b/src/core/server/integration_tests/capabilities/capabilities_service.test.ts @@ -7,7 +7,7 @@ */ import supertest from 'supertest'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; diff --git a/src/core/server/integration_tests/http/cookie_session_storage.test.ts b/src/core/server/integration_tests/http/cookie_session_storage.test.ts index 1041ed66872dd..2142a0aacf9a4 100644 --- a/src/core/server/integration_tests/http/cookie_session_storage.test.ts +++ b/src/core/server/integration_tests/http/cookie_session_storage.test.ts @@ -10,7 +10,7 @@ import { parse as parseCookie } from 'tough-cookie'; import supertest from 'supertest'; import { BehaviorSubject } from 'rxjs'; import { duration as momentDuration } from 'moment'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ByteSizeValue } from '@kbn/config-schema'; import { Env } from '@kbn/config'; import { getEnvOptions, configServiceMock } from '@kbn/config-mocks'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/7.7.2_xpack_100k.test.ts b/src/core/server/integration_tests/saved_objects/migrations/7.7.2_xpack_100k.test.ts index 93f6af33c57d2..a90291d1614a4 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/7.7.2_xpack_100k.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/7.7.2_xpack_100k.test.ts @@ -8,7 +8,7 @@ import path from 'path'; import { unlink } from 'fs/promises'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/7_13_0_transform_failures.test.ts b/src/core/server/integration_tests/saved_objects/migrations/7_13_0_transform_failures.test.ts index 85f116e600d01..3419739408d19 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/7_13_0_transform_failures.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/7_13_0_transform_failures.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import Fs from 'fs'; import Util from 'util'; import { Env } from '@kbn/config'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { Root } from '@kbn/core-root-server-internal'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/7_13_0_unknown_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/7_13_0_unknown_types.test.ts index 3bef046666a46..2e19a1bf401cc 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/7_13_0_unknown_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/7_13_0_unknown_types.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import fs from 'fs/promises'; import type { IndicesIndexSettings } from '@elastic/elasticsearch/lib/api/types'; import { Env } from '@kbn/config'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { Root } from '@kbn/core-root-server-internal'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/batch_size_bytes.test.ts b/src/core/server/integration_tests/saved_objects/migrations/batch_size_bytes.test.ts index 818eeac9daef2..e3e3b1dfe3631 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/batch_size_bytes.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/batch_size_bytes.test.ts @@ -17,7 +17,7 @@ import { import { Root } from '@kbn/core-root-server-internal'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { Env } from '@kbn/config'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import { LogRecord } from '@kbn/logging'; import { retryAsync } from '@kbn/core-saved-objects-migration-server-mocks'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts index b24f0acc004b0..a12e188ad42a3 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts @@ -69,7 +69,7 @@ describe('checking migration metadata changes on all registered SO types', () => "canvas-element": "e2e312fc499c1a81e628b88baba492fb24f4e82d", "canvas-workpad": "4b05f7829bc805bbaa07eb9fc0d2a2bbbd6bbf39", "canvas-workpad-template": "d4bb65aa9c4a2b25029d3272fd9c715d8e4247d7", - "cases": "dc9b349d343dab9c0fecac4104f9f6d4d068bcb2", + "cases": "d9f9080c3200241628ae09d3614a03f1b5dacbfc", "cases-comments": "d7c4c1d24e97620cd415e27e5eb7d5b5f2c5b461", "cases-configure": "1afc414f5563a36e4612fa269193d3ed7277c7bd", "cases-connector-mappings": "4b16d440af966e5d6e0fa33368bfa15d987a4b69", @@ -79,13 +79,13 @@ describe('checking migration metadata changes on all registered SO types', () => "config-global": "b8f559884931609a349e129c717af73d23e7bc76", "connector_token": "fa5301aa5a2914795d3b1b82d0a49939444009da", "core-usage-stats": "f40a213da2c597b0de94e364a4326a5a1baa4ca9", - "csp-rule-template": "3679c5f2431da8153878db79c78a4e695357fb61", + "csp-rule-template": "d6104585d0b032355c64a7dbf2a834163351cb1c", "csp_rule": "d2bb53ea5d2bdfba1a835ad8956dfcd2b2c32e19", "dashboard": "7e37790f802b39c852f905c010e13674e893105a", "endpoint:user-artifact": "f94c250a52b30d0a2d32635f8b4c5bdabd1e25c0", "endpoint:user-artifact-manifest": "8c14d49a385d5d1307d956aa743ec78de0b2be88", "enterprise_search_telemetry": "fafcc8318528d34f721c42d1270787c52565bad5", - "epm-packages": "2915aee4302d4b00472ed05c21f59b7d498b5206", + "epm-packages": "7d80ba3f1fcd80316aa0b112657272034b66d5a8", "epm-packages-assets": "9fd3d6726ac77369249e9a973902c2cd615fc771", "event_loop_delays_daily": "d2ed39cf669577d90921c176499908b4943fb7bd", "exception-list": "fe8cc004fd2742177cdb9300f4a67689463faf9c", diff --git a/src/core/server/integration_tests/saved_objects/migrations/check_target_mappings.test.ts b/src/core/server/integration_tests/saved_objects/migrations/check_target_mappings.test.ts index b0385efbc71a9..38b8c00a701a1 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/check_target_mappings.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/check_target_mappings.test.ts @@ -8,10 +8,9 @@ import Path from 'path'; import fs from 'fs/promises'; -import { SemVer } from 'semver'; import JSON5 from 'json5'; import { Env } from '@kbn/config'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import { Root } from '@kbn/core-root-server-internal'; import { LogRecord } from '@kbn/logging'; @@ -20,11 +19,10 @@ import { createTestServers, type TestElasticsearchUtils, } from '@kbn/core-test-helpers-kbn-server'; +import { delay } from './test_utils'; const logFilePath = Path.join(__dirname, 'check_target_mappings.log'); -const delay = (seconds: number) => new Promise((resolve) => setTimeout(resolve, seconds * 1000)); - async function removeLogFile() { // ignore errors if it doesn't exist await fs.unlink(logFilePath).catch(() => void 0); @@ -160,55 +158,6 @@ describe('migration v2 - CHECK_TARGET_MAPPINGS', () => { expect(logIncludes(logs, 'MARK_VERSION_INDEX_READY -> DONE')).toEqual(true); expect(logIncludes(logs, 'Migration completed')).toEqual(true); }); - - it('runs UPDATE_TARGET_MAPPINGS even if the mappings have NOT changed', async () => { - const { startES } = createTestServers({ - adjustTimeout: (t: number) => jest.setTimeout(t), - settings: { - es: { - license: 'basic', - }, - }, - }); - - esServer = await startES(); - - // start Kibana a first time to create the system indices - root = createRoot(); - await root.preboot(); - await root.setup(); - await root.start(); - - // stop Kibana and remove logs - await root.shutdown(); - await delay(10); - await removeLogFile(); - - const nextMinor = new SemVer(currentVersion).inc('patch').format(); - root = createRoot(undefined, nextMinor); - await root.preboot(); - await root.setup(); - await root.start(); - - // Check for migration steps present in the logs - logs = await parseLogFile(); - expect(logIncludes(logs, 'CREATE_NEW_TARGET')).toEqual(false); - expect(logIncludes(logs, 'CHECK_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS')).toEqual(true); - expect( - logIncludes(logs, 'UPDATE_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK') - ).toEqual(true); - expect( - logIncludes(logs, 'UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK -> UPDATE_TARGET_MAPPINGS_META') - ).toEqual(true); - expect( - logIncludes(logs, 'UPDATE_TARGET_MAPPINGS_META -> CHECK_VERSION_INDEX_READY_ACTIONS') - ).toEqual(true); - expect( - logIncludes(logs, 'CHECK_VERSION_INDEX_READY_ACTIONS -> MARK_VERSION_INDEX_READY') - ).toEqual(true); - expect(logIncludes(logs, 'MARK_VERSION_INDEX_READY -> DONE')).toEqual(true); - expect(logIncludes(logs, 'Migration completed')).toEqual(true); - }); }); }); diff --git a/src/core/server/integration_tests/saved_objects/migrations/migration_from_older_v1.test.ts b/src/core/server/integration_tests/saved_objects/migrations/migration_from_older_v1.test.ts index cfaae4fb3870c..eae0fdc658a76 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/migration_from_older_v1.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/migration_from_older_v1.test.ts @@ -10,7 +10,7 @@ import Path from 'path'; import Fs from 'fs'; import Util from 'util'; import Semver from 'semver'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; diff --git a/src/core/server/integration_tests/saved_objects/migrations/multiple_es_nodes.test.ts b/src/core/server/integration_tests/saved_objects/migrations/multiple_es_nodes.test.ts index c6615b2218e9b..12035a0e5eade 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/multiple_es_nodes.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/multiple_es_nodes.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import del from 'del'; import { kibanaServerTestUser } from '@kbn/test'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { createTestServers, createRoot as createkbnTestServerRoot, diff --git a/src/core/server/integration_tests/saved_objects/migrations/multiple_kibana_nodes.test.ts b/src/core/server/integration_tests/saved_objects/migrations/multiple_kibana_nodes.test.ts index 80559226c763d..34df1d484b92b 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/multiple_kibana_nodes.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/multiple_kibana_nodes.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import del from 'del'; import { esTestConfig, kibanaServerTestUser } from '@kbn/test'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; import { createTestServers, @@ -106,7 +106,8 @@ async function createRoot({ logFileName }: CreateRootConfig) { // suite is very long, the 10mins default can cause timeouts jest.setTimeout(15 * 60 * 1000); -describe('migration v2', () => { +// FLAKY: https://github.com/elastic/kibana/issues/148263 +describe.skip('migration v2', () => { let esServer: TestElasticsearchUtils; let rootA: Root; let rootB: Root; diff --git a/src/core/server/integration_tests/saved_objects/migrations/outdated_docs.test.ts b/src/core/server/integration_tests/saved_objects/migrations/outdated_docs.test.ts index 7da6a16514b26..ca5e21abe8dcc 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/outdated_docs.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/outdated_docs.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fs from 'fs'; import Util from 'util'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { createRootWithCorePlugins, createTestServers, diff --git a/src/core/server/integration_tests/saved_objects/migrations/rewriting_id.test.ts b/src/core/server/integration_tests/saved_objects/migrations/rewriting_id.test.ts index 1fed5980b66fa..66fd7bd5a6db0 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/rewriting_id.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/rewriting_id.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fs from 'fs'; import Util from 'util'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { createRootWithCorePlugins, createTestServers, diff --git a/src/core/server/integration_tests/saved_objects/migrations/skip_reindex.test.ts b/src/core/server/integration_tests/saved_objects/migrations/skip_reindex.test.ts new file mode 100644 index 0000000000000..df64ccb853753 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/skip_reindex.test.ts @@ -0,0 +1,118 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import Path from 'path'; +import fs from 'fs/promises'; +import { Env } from '@kbn/config'; +import { getEnvOptions } from '@kbn/config-mocks'; +import { REPO_ROOT } from '@kbn/repo-info'; +import type { Root } from '@kbn/core-root-server-internal'; +import { + createRootWithCorePlugins, + createTestServers, + type TestElasticsearchUtils, +} from '@kbn/core-test-helpers-kbn-server'; +import { delay } from './test_utils'; +import { SemVer } from 'semver'; + +const logFilePath = Path.join(__dirname, 'skip_reindex.log'); + +describe('skip reindexing', () => { + const currentVersion = Env.createDefault(REPO_ROOT, getEnvOptions()).packageInfo.version; + let esServer: TestElasticsearchUtils['es']; + let root: Root; + + afterEach(async () => { + await root?.shutdown(); + await esServer?.stop(); + await delay(10); + }); + + it('when migrating to a new version, but mappings remain the same', async () => { + let logs: string; + const { startES } = createTestServers({ + adjustTimeout: (t: number) => jest.setTimeout(t), + settings: { + es: { + license: 'basic', + }, + }, + }); + esServer = await startES(); + root = createRoot(); + + // Run initial migrations + await root.preboot(); + await root.setup(); + await root.start(); + + // stop Kibana and remove logs + await root.shutdown(); + await delay(10); + await fs.unlink(logFilePath).catch(() => {}); + + const nextPatch = new SemVer(currentVersion).inc('patch').format(); + root = createRoot(nextPatch); + await root.preboot(); + await root.setup(); + await root.start(); + + logs = await fs.readFile(logFilePath, 'utf-8'); + + expect(logs).toMatch('INIT -> PREPARE_COMPATIBLE_MIGRATION'); + expect(logs).toMatch('PREPARE_COMPATIBLE_MIGRATION -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT'); + expect(logs).toMatch('CHECK_TARGET_MAPPINGS -> CHECK_VERSION_INDEX_READY_ACTIONS'); + expect(logs).toMatch('CHECK_VERSION_INDEX_READY_ACTIONS -> DONE'); + + expect(logs).not.toMatch('CREATE_NEW_TARGET'); + expect(logs).not.toMatch('CHECK_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS'); + + // We restart Kibana again after doing a "compatible migration" to ensure that + // the next time state is loaded everything still works as expected. + // For instance, we might see something like: + // Unable to complete saved object migrations for the [.kibana] index. Please check the health of your Elasticsearch cluster and try again. Unexpected Elasticsearch ResponseError: statusCode: 404, method: POST, url: /.kibana_8.7.1_001/_pit?keep_alive=10m error: [index_not_found_exception]: no such index [.kibana_8.7.1_001] + await root.shutdown(); + await delay(10); + await fs.unlink(logFilePath).catch(() => {}); + + root = createRoot(nextPatch); + await root.preboot(); + await root.setup(); + await root.start(); + + logs = await fs.readFile(logFilePath, 'utf-8'); + expect(logs).toMatch('INIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT'); + expect(logs).not.toMatch('INIT -> PREPARE_COMPATIBLE_MIGRATION'); + }); +}); + +function createRoot(kibanaVersion?: string): Root { + return createRootWithCorePlugins( + { + logging: { + appenders: { + file: { + type: 'file', + fileName: logFilePath, + layout: { + type: 'json', + }, + }, + }, + loggers: [ + { + name: 'root', + level: 'info', + appenders: ['file'], + }, + ], + }, + }, + { oss: true }, + kibanaVersion + ); +} diff --git a/src/core/server/integration_tests/saved_objects/migrations/test_utils.ts b/src/core/server/integration_tests/saved_objects/migrations/test_utils.ts index 8f2373c3ed400..aa78d8dbc5d90 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/test_utils.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/test_utils.ts @@ -8,7 +8,7 @@ import { Env } from '@kbn/config'; import { getDocLinksMeta, getDocLinks } from '@kbn/doc-links'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; export const getDocVersion = () => { @@ -21,3 +21,6 @@ export const getMigrationDocLink = () => { const docLinks = getDocLinks({ kibanaBranch: env.packageInfo.branch }); return docLinks.kibanaUpgradeSavedObjects; }; + +export const delay = (seconds: number) => + new Promise((resolve) => setTimeout(resolve, seconds * 1000)); diff --git a/src/core/server/integration_tests/saved_objects/migrations/wait_for_migration_completion.test.ts b/src/core/server/integration_tests/saved_objects/migrations/wait_for_migration_completion.test.ts index 5593afb43e027..7d2a2bf8145cf 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/wait_for_migration_completion.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/wait_for_migration_completion.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import fs from 'fs/promises'; import JSON5 from 'json5'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { retryAsync } from '@kbn/core-saved-objects-migration-server-mocks'; import { createRootWithCorePlugins, diff --git a/src/core/server/integration_tests/saved_objects/service/lib/repository_with_proxy_utils.ts b/src/core/server/integration_tests/saved_objects/service/lib/repository_with_proxy_utils.ts index 251c7608b6299..499d0d01d9de1 100644 --- a/src/core/server/integration_tests/saved_objects/service/lib/repository_with_proxy_utils.ts +++ b/src/core/server/integration_tests/saved_objects/service/lib/repository_with_proxy_utils.ts @@ -7,7 +7,7 @@ */ import Hapi from '@hapi/hapi'; import { IncomingMessage } from 'http'; -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; // proxy setup const defaultProxyOptions = (hostname: string, port: string) => ({ diff --git a/src/core/server/integration_tests/saved_objects/validation/validator.test.ts b/src/core/server/integration_tests/saved_objects/validation/validator.test.ts index 125f3141d1931..eb3462d5b63e6 100644 --- a/src/core/server/integration_tests/saved_objects/validation/validator.test.ts +++ b/src/core/server/integration_tests/saved_objects/validation/validator.test.ts @@ -11,7 +11,7 @@ import Fs from 'fs'; import Util from 'util'; import { Env } from '@kbn/config'; import { schema } from '@kbn/config-schema'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import type { ISavedObjectsRepository } from '@kbn/core-saved-objects-api-server'; import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; import { getEnvOptions } from '@kbn/config-mocks'; diff --git a/src/core/server/integration_tests/ui_settings/index.test.ts b/src/core/server/integration_tests/ui_settings/index.test.ts index 6ca80d3a3ba11..fc61f2cd5a33f 100644 --- a/src/core/server/integration_tests/ui_settings/index.test.ts +++ b/src/core/server/integration_tests/ui_settings/index.test.ts @@ -7,7 +7,7 @@ */ import { Env } from '@kbn/config'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getEnvOptions } from '@kbn/config-mocks'; import { startServers, stopServers } from './lib'; import { docExistsSuite } from './doc_exists'; diff --git a/src/core/tsconfig.json b/src/core/tsconfig.json index 9c042577cfe21..5ce6fba92e138 100644 --- a/src/core/tsconfig.json +++ b/src/core/tsconfig.json @@ -1,10 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true, + "outDir": "target/types", "isolatedModules": true, }, "include": [ @@ -14,5 +11,143 @@ "test_helpers/**/*", "utils/**/*", "index.ts" - ] + ], + "kbn_references": [ + "@kbn/core-base-common", + "@kbn/config", + "@kbn/core-application-common", + "@kbn/core-application-browser", + "@kbn/core-application-browser-internal", + "@kbn/core-saved-objects-common", + "@kbn/core-apps-browser-internal", + "@kbn/core-root-browser-internal", + "@kbn/core-theme-browser-mocks", + "@kbn/core-base-browser-mocks", + "@kbn/core-plugins-browser-mocks", + "@kbn/core-lifecycle-browser-mocks", + "@kbn/core-injected-metadata-browser-mocks", + "@kbn/core-doc-links-browser-mocks", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-chrome-browser-mocks", + "@kbn/core-execution-context-browser-mocks", + "@kbn/core-fatal-errors-browser-mocks", + "@kbn/core-http-browser-mocks", + "@kbn/core-i18n-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-saved-objects-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/core-deprecations-browser-mocks", + "@kbn/core-logging-browser-mocks", + "@kbn/core-saved-objects-api-server", + "@kbn/core-http-server-internal", + "@kbn/core-saved-objects-server", + "@kbn/config-schema", + "@kbn/std", + "@kbn/core-logging-server-mocks", + "@kbn/core-node-server-mocks", + "@kbn/core-elasticsearch-server-mocks", + "@kbn/core-saved-objects-base-server-mocks", + "@kbn/core-saved-objects-server-mocks", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/core-deprecations-server-mocks", + "@kbn/core-ui-settings-server-mocks", + "@kbn/core-lifecycle-server-mocks", + "@kbn/core-plugins-server", + "@kbn/config-mocks", + "@kbn/core-http-server-mocks", + "@kbn/core-http-resources-server-mocks", + "@kbn/core-saved-objects-migration-server-mocks", + "@kbn/core-metrics-server-mocks", + "@kbn/core-rendering-server-mocks", + "@kbn/core-status-server-mocks", + "@kbn/core-http-context-server-mocks", + "@kbn/core-capabilities-server-mocks", + "@kbn/core-usage-data-server-mocks", + "@kbn/core-i18n-server-mocks", + "@kbn/core-execution-context-server-mocks", + "@kbn/core-doc-links-server-mocks", + "@kbn/core-analytics-server-mocks", + "@kbn/core-elasticsearch-client-server-mocks", + "@kbn/core-logging-server", + "@kbn/core-logging-server-internal", + "@kbn/core-execution-context-server", + "@kbn/core-http-server", + "@kbn/core-elasticsearch-server-internal", + "@kbn/core-capabilities-server", + "@kbn/core-http-request-handler-context-server", + "@kbn/core-http-resources-server", + "@kbn/core-plugins-server-internal", + "@kbn/core-root-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/core-http-router-server-internal", + "@kbn/logging", + "@kbn/core-saved-objects-utils-server", + "@kbn/core-saved-objects-base-server-internal", + "@kbn/core-saved-objects-api-server-internal", + "@kbn/core-saved-objects-import-export-server-internal", + "@kbn/core-metrics-server", + "@kbn/core-metrics-collectors-server-internal", + "@kbn/core-status-common", + "@kbn/repo-info", + "@kbn/core-capabilities-server-internal", + "@kbn/core-test-helpers-kbn-server", + "@kbn/core-apps-server-internal", + "@kbn/core-execution-context-browser-internal", + "@kbn/test", + "@kbn/core-base-server-internal", + "@kbn/logging-mocks", + "@kbn/core-lifecycle-server-internal", + "@kbn/core-ui-settings-server-internal", + "@kbn/core-usage-data-base-server-internal", + "@kbn/core-saved-objects-server-internal", + "@kbn/core-test-helpers-test-utils", + "@kbn/utils", + "@kbn/core-saved-objects-import-export-server-mocks", + "@kbn/core-http-context-server-internal", + "@kbn/core-test-helpers-so-type-serializer", + "@kbn/core-saved-objects-migration-server-internal", + "@kbn/doc-links", + "@kbn/core-status-server-internal", + "@kbn/core-usage-data-server", + "@kbn/core-execution-context-common", + "@kbn/core-capabilities-common", + "@kbn/core-base-common-internal", + "@kbn/core-http-common", + "@kbn/ecs", + "@kbn/core-node-server", + "@kbn/core-saved-objects-browser", + "@kbn/core-ui-settings-common", + "@kbn/core-ui-settings-server", + "@kbn/core-i18n-server", + "@kbn/core-deprecations-server", + "@kbn/core-deprecations-common", + "@kbn/core-status-server", + "@kbn/core-doc-links-server", + "@kbn/analytics-client", + "@kbn/core-analytics-server", + "@kbn/core-lifecycle-server", + "@kbn/core-doc-links-browser", + "@kbn/core-http-browser", + "@kbn/core-i18n-browser", + "@kbn/core-fatal-errors-browser", + "@kbn/core-ui-settings-browser", + "@kbn/core-notifications-browser", + "@kbn/core-chrome-browser", + "@kbn/core-plugins-browser", + "@kbn/core-base-browser-internal", + "@kbn/core-analytics-browser", + "@kbn/core-saved-objects-api-browser", + "@kbn/core-overlays-browser", + "@kbn/core-notifications-browser-internal", + "@kbn/core-theme-browser", + "@kbn/core-deprecations-browser", + "@kbn/core-mount-utils-browser", + "@kbn/core-execution-context-browser", + "@kbn/core-lifecycle-browser", + ], + "exclude": [ + "target/**/*", + ], } diff --git a/src/dev/bazel/index.bzl b/src/dev/bazel/index.bzl index cca81dfcbcd5a..d5469af808bc0 100644 --- a/src/dev/bazel/index.bzl +++ b/src/dev/bazel/index.bzl @@ -10,12 +10,8 @@ Please do not import from any other files when looking to use a custom rule """ -load("//src/dev/bazel:jsts_transpiler.bzl", _jsts_transpiler = "jsts_transpiler") load("//src/dev/bazel:pkg_npm.bzl", _pkg_npm = "pkg_npm") -load("//src/dev/bazel:pkg_npm_types.bzl", _pkg_npm_types = "pkg_npm_types") load("//src/dev/bazel:ts_project.bzl", _ts_project = "ts_project") -jsts_transpiler = _jsts_transpiler pkg_npm = _pkg_npm -pkg_npm_types = _pkg_npm_types ts_project = _ts_project diff --git a/src/dev/bazel/jsts_transpiler.bzl b/src/dev/bazel/jsts_transpiler.bzl deleted file mode 100644 index 1ce12118ac55f..0000000000000 --- a/src/dev/bazel/jsts_transpiler.bzl +++ /dev/null @@ -1,49 +0,0 @@ -"Simple wrapper over @babel/cli so we can quickly re-use the same configurations over packages" - -load("@npm//@babel/cli:index.bzl", _babel = "babel") - -def jsts_transpiler(name, srcs, build_pkg_name, web = False, additional_args = ["--quiet"], **kwargs): - """A macro around the autogenerated babel rule. - - Args: - name: target name - srcs: list of sources - build_pkg_name: package name into the build folder - web: setup the correct presets to consume the outputs in the browser, defaults to "False" and optimizes for node - additional_args: Any additional extra arguments, defaults to --quiet - **kwargs: the rest - """ - - inline_presets = [ - "--presets", - ] - - if web: - inline_presets += [ - "@kbn/babel-preset/webpack_preset", - ] - else: - inline_presets += [ - "@kbn/babel-preset/node_preset", - ] - - args = [ - "./%s" % (build_pkg_name), - "--out-dir", - "$(@D)", - "--no-babelrc", - "--extensions", - ".ts,.tsx,.js", - ] + inline_presets + additional_args - - data = srcs + [ - "//packages/kbn-babel-preset", - ] - - _babel( - name = name, - data = data, - output_dir = True, - args = args, - **kwargs - ) diff --git a/src/dev/bazel/pkg_npm_types.bzl b/src/dev/bazel/pkg_npm_types.bzl deleted file mode 100644 index 8b8de4a68912a..0000000000000 --- a/src/dev/bazel/pkg_npm_types.bzl +++ /dev/null @@ -1,159 +0,0 @@ -# -# 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 and the Server Side Public License, v 1; you may not use this file except -# in compliance with, at your election, the Elastic License 2.0 or the Server -# Side Public License, v 1. -# - -load("@npm//@bazel/typescript/internal:ts_config.bzl", "TsConfigInfo") -load("@build_bazel_rules_nodejs//:providers.bzl", "run_node", "LinkablePackageInfo", "DeclarationInfo", "declaration_info") -load("@build_bazel_rules_nodejs//internal/linker:link_node_modules.bzl", "module_mappings_aspect") - - -#### TODO -# Implement a way to produce source maps for api extractor -# summarised types as referenced at (https://github.com/microsoft/rushstack/issues/1886#issuecomment-933997910) - -def _collect_inputs_deps_and_transitive_types_deps(ctx): - """Returns an array with all transitively referenced files on deps in the pos 0 and all types deps in pos 1""" - deps_files_depsets = [] - transitive_types_deps = [] - - for dep in ctx.attr.deps: - # Collect whatever is in the "data" - deps_files_depsets.append(dep.data_runfiles.files) - - # Only collect DefaultInfo files (not transitive) - deps_files_depsets.append(dep.files) - - # Collect transitive type deps to propagate in the provider - if DeclarationInfo in dep: - transitive_types_deps.append(dep) - deps_files_depsets.append(dep[DeclarationInfo].transitive_declarations) - - deps_files = depset(transitive = deps_files_depsets).to_list() - return [deps_files, transitive_types_deps] - -def _get_type_package_name(actualName): - return "@types/" + actualName.replace("@", "").replace("/", "__") - -def _calculate_entrypoint_path(ctx): - return _join(ctx.bin_dir.path, ctx.label.package, _get_types_outdir_name(ctx), ctx.attr.entrypoint_name) - -def _get_types_outdir_name(ctx): - base_out_folder = _join(ctx.bin_dir.path, ctx.label.package) - type_dep_path = ctx.files.deps[0].path - type_dep_path_without_base_out = type_dep_path.replace(base_out_folder + "/", "", 1) - types_outdir_name = type_dep_path_without_base_out.split("/")[0] - return types_outdir_name - -def _join(*elements): - segments = [f for f in elements if f] - if len(segments): - return "/".join(segments) - return "." - -def _tsconfig_inputs(ctx): - """Returns all transitively referenced tsconfig files from "tsconfig" """ - all_inputs = [] - if TsConfigInfo in ctx.attr.tsconfig: - all_inputs.extend(ctx.attr.tsconfig[TsConfigInfo].deps) - else: - all_inputs.append(ctx.file.tsconfig) - return all_inputs - -def _pkg_npm_types_impl(ctx): - # collect input deps and transitive type deps - inputs_deps_and_transitive_types_deps = _collect_inputs_deps_and_transitive_types_deps(ctx) - transitive_types_deps = inputs_deps_and_transitive_types_deps[1] - - # input declarations - deps_inputs = inputs_deps_and_transitive_types_deps[0] - tsconfig_inputs = _tsconfig_inputs(ctx) - inputs = ctx.files.srcs[:] - inputs.extend(tsconfig_inputs) - inputs.extend(deps_inputs) - - # output dir declaration - package_path = ctx.label.package - package_dir = ctx.actions.declare_directory(ctx.label.name) - outputs = [package_dir] - - # layout api extractor arguments - extractor_args = ctx.actions.args() - - extractor_args.add(struct( - packageName = ctx.attr.package_name, - outputDir = package_dir.path, - buildFilePath = ctx.build_file_path, - tsconfigPath = tsconfig_inputs[0].path, - inputPath = _calculate_entrypoint_path(ctx), - ).to_json()) - - run_node( - ctx, - inputs = inputs, - arguments = [extractor_args], - outputs = outputs, - mnemonic = "AssembleNpmTypesPackage", - progress_message = "Assembling npm types package %s" % package_dir.short_path, - executable = "_packager", - env = { - "FORCE_COLOR": "1" - } - ) - - # this is a tree artifact, so correctly build the return - package_dir_depset = depset([package_dir]) - - return [ - DefaultInfo( - files = package_dir_depset, - runfiles = ctx.runfiles([package_dir]), - ), - declaration_info( - declarations = depset([package_dir]), - # this includes all the dependencies and transitive dependnecies of the ts_project, but the - # actual dependencies of the type summarizer output are just a subset of these. We don't currently - # know any way to pass the list of dependecies from the type summarizer back to bazel, so we use - # this larger-than-necessary list for accuracy, but we will likely need to figure this out once - # we have a much larger dependency graph. - deps = transitive_types_deps, - ), - LinkablePackageInfo( - package_name = _get_type_package_name(ctx.attr.package_name), - package_path = "", - path = package_dir.path, - files = package_dir_depset, - ) - ] - -pkg_npm_types = rule( - implementation = _pkg_npm_types_impl, - attrs = { - "deps": attr.label_list( - doc = """Other targets which are the base types to summarise from""", - allow_files = True, - aspects = [module_mappings_aspect], - ), - "entrypoint_name": attr.string( - doc = """Entrypoint name of the types files group to summarise""", - default = "index.d.ts", - ), - "package_name": attr.string( - mandatory = True - ), - "srcs": attr.label_list( - doc = """Files inside this directory which are inputs for the types to summarise.""", - allow_files = True, - ), - "tsconfig": attr.label(mandatory = True, allow_single_file = [".json"]), - "_packager": attr.label( - doc = "Target that executes the npm types package assembler binary", - executable = True, - cfg = "target", - default = Label("//packages/kbn-type-summarizer-cli:bazel-cli"), - ), - }, -) diff --git a/src/dev/build/lib/build.test.ts b/src/dev/build/lib/build.test.ts index e8d5331439916..69a615948016d 100644 --- a/src/dev/build/lib/build.test.ts +++ b/src/dev/build/lib/build.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; import { Config } from './config'; diff --git a/src/dev/build/lib/config.test.ts b/src/dev/build/lib/config.test.ts index eb4fad08b1984..f46b5588a1921 100644 --- a/src/dev/build/lib/config.test.ts +++ b/src/dev/build/lib/config.test.ts @@ -8,7 +8,7 @@ import { resolve } from 'path'; -import { REPO_ROOT, kibanaPackageJson } from '@kbn/utils'; +import { REPO_ROOT, kibanaPackageJson } from '@kbn/repo-info'; import { createAbsolutePathSerializer } from '@kbn/jest-serializers'; import { Config } from './config'; diff --git a/src/dev/build/lib/config.ts b/src/dev/build/lib/config.ts index a9e7f43937403..037150f8756cd 100644 --- a/src/dev/build/lib/config.ts +++ b/src/dev/build/lib/config.ts @@ -8,7 +8,10 @@ import { dirname, resolve, relative } from 'path'; import os from 'os'; + import loadJsonFile from 'load-json-file'; +import { discoverBazelPackages, type BazelPackage } from '@kbn/bazel-packages'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getVersionInfo, VersionInfo } from './version_info'; import { PlatformName, PlatformArchitecture, ALL_PLATFORMS } from './platform'; @@ -207,4 +210,19 @@ export class Config { resolveFromTarget(...subPaths: string[]) { return resolve(this.repoRoot, 'target', ...subPaths); } + + private _prodPackages: BazelPackage[] | undefined; + async getProductionPackages() { + if (!this._prodPackages) { + this._prodPackages = (await discoverBazelPackages(REPO_ROOT)).filter( + (pkg) => !pkg.isDevOnly() + ); + } + + return this._prodPackages; + } + + async getPkgIdsInNodeModules() { + return (await this.getProductionPackages()).map((p) => p.manifest.id); + } } diff --git a/src/dev/build/lib/fs_records.ts b/src/dev/build/lib/fs_records.ts new file mode 100644 index 0000000000000..f2e2ff9c7929e --- /dev/null +++ b/src/dev/build/lib/fs_records.ts @@ -0,0 +1,71 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Path from 'path'; + +export class SomePath { + static fromAbs(path: string) { + return new SomePath(Path.dirname(path), Path.basename(path)); + } + + constructor( + /** The directory of the item at this path */ + public readonly dir: string, + /** The name of the item at this path */ + public readonly name: string + ) {} + + private _abs: string | null = null; + /** The absolute path of the file */ + public get abs() { + if (this._abs === null) { + this._abs = Path.resolve(this.dir, this.name); + } + + return this._abs; + } + + private _ext: string | null = null; + /** The extension of the filename, starts with a . like the Path.extname API */ + public get ext() { + if (this._ext === null) { + this._ext = Path.extname(this.name); + } + + return this._ext; + } + + /** return a file path with the file name changed to `name` */ + withName(name: string) { + return new SomePath(this.dir, name); + } + + /** return a file path with the file extension changed to `extension` */ + withExt(extension: string) { + return new SomePath(this.dir, Path.basename(this.name, this.ext) + extension); + } + + child(childName: string) { + return new SomePath(this.abs, childName); + } +} + +export interface DirRecord { + type: 'dir'; + source: SomePath; + dest: SomePath; +} + +export interface FileRecord { + type: 'file'; + source: SomePath; + dest: SomePath; + content?: string; +} + +export type Record = FileRecord | DirRecord; diff --git a/src/dev/build/lib/integration_tests/version_info.test.ts b/src/dev/build/lib/integration_tests/version_info.test.ts index 9385de6e00a4f..1dc76261864ef 100644 --- a/src/dev/build/lib/integration_tests/version_info.test.ts +++ b/src/dev/build/lib/integration_tests/version_info.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson as pkg } from '@kbn/utils'; +import { kibanaPackageJson as pkg } from '@kbn/repo-info'; import { getVersionInfo } from '../version_info'; diff --git a/src/dev/build/lib/scan_copy.ts b/src/dev/build/lib/scan_copy.ts index 1c5e29f420588..28ab1649ad2f2 100644 --- a/src/dev/build/lib/scan_copy.ts +++ b/src/dev/build/lib/scan_copy.ts @@ -8,10 +8,10 @@ import Fs from 'fs'; import Fsp from 'fs/promises'; -import Path from 'path'; import * as Rx from 'rxjs'; import { assertAbsolute, mkdirp } from './fs'; +import { type DirRecord, type FileRecord, type Record, SomePath } from './fs_records'; const fsReadDir$ = Rx.bindNodeCallback( (path: string, cb: (err: Error | null, ents: Fs.Dirent[]) => void) => { @@ -46,68 +46,6 @@ interface Options { map?: (record: Readonly) => Promise; } -export class SomePath { - static fromAbs(path: string) { - return new SomePath(Path.dirname(path), Path.basename(path)); - } - - constructor( - /** The directory of the item at this path */ - public readonly dir: string, - /** The name of the item at this path */ - public readonly name: string - ) {} - - private _abs: string | null = null; - /** The absolute path of the file */ - public get abs() { - if (this._abs === null) { - this._abs = Path.resolve(this.dir, this.name); - } - - return this._abs; - } - - private _ext: string | null = null; - /** The extension of the filename, starts with a . like the Path.extname API */ - public get ext() { - if (this._ext === null) { - this._ext = Path.extname(this.name); - } - - return this._ext; - } - - /** return a file path with the file name changed to `name` */ - withName(name: string) { - return new SomePath(this.dir, name); - } - - /** return a file path with the file extension changed to `extension` */ - withExt(extension: string) { - return new SomePath(this.dir, Path.basename(this.name, this.ext) + extension); - } - - child(childName: string) { - return new SomePath(this.abs, childName); - } -} - -interface DirRecord { - type: 'dir'; - source: SomePath; - dest: SomePath; -} - -interface FileRecord { - type: 'file'; - source: SomePath; - dest: SomePath; - content?: string; -} - -type Record = FileRecord | DirRecord; - /** * Copy all of the files from one directory to another, optionally filtered with a * function or modifying mtime/atime for each file. diff --git a/src/dev/build/lib/version_info.ts b/src/dev/build/lib/version_info.ts index 9ad20b4a6935b..f0e4a77e55bb8 100644 --- a/src/dev/build/lib/version_info.ts +++ b/src/dev/build/lib/version_info.ts @@ -9,7 +9,7 @@ import execa from 'execa'; import fs from 'fs'; import { join } from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getBuildNumber } from './get_build_number'; interface Options { diff --git a/src/dev/build/tasks/assert_path_length.ts b/src/dev/build/tasks/assert_path_length.ts index 0dd7db50dd577..10be4503bf795 100644 --- a/src/dev/build/tasks/assert_path_length.ts +++ b/src/dev/build/tasks/assert_path_length.ts @@ -16,7 +16,18 @@ export const AssertPathLength: Task = { description: 'Checking Windows for paths > 200 characters', async run(config, log, build) { - const buildRoot = build.resolvePath(); + const win = config.getTargetPlatforms().find((p) => p.isWindows()); + + const buildRoot = process.env.CI + ? build.resolvePath() + : win + ? build.resolvePathForPlatform(win) + : undefined; + + if (!buildRoot) { + return; + } + await scan$(buildRoot) .pipe( map((path) => relative(buildRoot, path)), diff --git a/src/dev/build/tasks/build_kibana_example_plugins.ts b/src/dev/build/tasks/build_kibana_example_plugins.ts index 6fc53e10390c2..0f00acbb58bae 100644 --- a/src/dev/build/tasks/build_kibana_example_plugins.ts +++ b/src/dev/build/tasks/build_kibana_example_plugins.ts @@ -8,7 +8,7 @@ import Path from 'path'; import Fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { exec, Task } from '../lib'; export const BuildKibanaExamplePlugins: Task = { diff --git a/src/dev/build/tasks/build_kibana_platform_plugins.ts b/src/dev/build/tasks/build_kibana_platform_plugins.ts index 9beb296b7c38c..44fb14800a058 100644 --- a/src/dev/build/tasks/build_kibana_platform_plugins.ts +++ b/src/dev/build/tasks/build_kibana_platform_plugins.ts @@ -8,7 +8,7 @@ import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { lastValueFrom } from 'rxjs'; import { CiStatsMetric } from '@kbn/ci-stats-reporter'; import { diff --git a/src/dev/build/tasks/build_packages_task.ts b/src/dev/build/tasks/build_packages_task.ts index 2cb0bb585b56a..ba1965cf36c36 100644 --- a/src/dev/build/tasks/build_packages_task.ts +++ b/src/dev/build/tasks/build_packages_task.ts @@ -7,91 +7,148 @@ */ import Path from 'path'; +import * as Fsp from 'fs/promises'; -import { REPO_ROOT } from '@kbn/utils'; -import { discoverBazelPackages } from '@kbn/bazel-packages'; import { runBazel } from '@kbn/bazel-runner'; import * as Peggy from '@kbn/peggy'; +import { asyncForEach } from '@kbn/std'; +import { withFastAsyncTransform, TransformConfig } from '@kbn/babel-transform'; import { Task, scanCopy, write, deleteAll } from '../lib'; +import type { Record } from '../lib/fs_records'; + +const distPerms = (rec: Record) => (rec.type === 'file' ? 0o644 : 0o755); export const BuildBazelPackages: Task = { description: 'Building distributable versions of Bazel packages', async run(config, log, build) { - const packages = (await discoverBazelPackages(REPO_ROOT)).filter((pkg) => !pkg.isDevOnly()); - - log.info(`Preparing Bazel projects production build non-devOnly packages`); - await runBazel(['build', '//packages:build']); - - for (const pkg of packages) { - log.info(`Copying build of`, pkg.manifest.id, 'into build'); - - const pkgDirInBuild = build.resolvePath(pkg.normalizedRepoRelativeDir); - const peggyConfigOutputPaths = new Set(); - const pkgBuildDir = config.resolveFromRepo( - 'bazel-bin', - pkg.normalizedRepoRelativeDir, - 'npm_module' - ); - - // copy the built npm_module target dir into the build, package.json is updated to copy - // the sources we actually end up using into the node_modules directory when we run - // yarn install - await scanCopy({ - source: pkgBuildDir, - destination: pkgDirInBuild, - permissions: (rec) => (rec.type === 'file' ? 0o644 : 0o755), - filter: (rec) => !(rec.type === 'dir' && rec.source.name === 'target_web'), - async map(rec) { - const extname = Path.extname(rec.source.name); - if (extname !== '.peggy') { - return undefined; - } - - const result = await Peggy.getJsSource({ - path: rec.source.abs, - format: 'commonjs', - optimize: 'speed', - }); + const packages = await config.getProductionPackages(); + const pkgIdsInNodeModules = await config.getPkgIdsInNodeModules(); - if (result.config) { - // if there was a config file for this peggy grammar, capture its output path and - // delete it after the copy is complete - peggyConfigOutputPaths.add( - Path.resolve(pkgDirInBuild, Path.relative(pkgBuildDir, result.config.path)) - ); - } - - return { - ...rec, - dest: rec.dest.withName(rec.dest.name + '.js'), - content: result.source, - }; - }, - }); + log.info(`Building Bazel artifacts which are necessary for the build`); + await runBazel([ + 'build', + '//packages/kbn-ui-shared-deps-npm:shared_built_assets', + '//packages/kbn-ui-shared-deps-src:shared_built_assets', + '//packages/kbn-monaco:target_workers', + '--show_result=1', + '--define=dist=true', + ]); + + const transformConfig: TransformConfig = { + disableSourceMaps: true, + ignoredPkgIds: pkgIdsInNodeModules, + }; + + await withFastAsyncTransform(transformConfig, async (transform) => { + await asyncForEach(packages, async (pkg) => { + const pkgDistPath = build.resolvePath(pkg.normalizedRepoRelativeDir); + const peggyConfigOutputPaths = new Set(); + const pkgSrcPath = config.resolveFromRepo(pkg.normalizedRepoRelativeDir); + + // copy the built npm_module target dir into the build, package.json is updated to copy + // the sources we actually end up using into the node_modules directory when we run + // yarn install + await scanCopy({ + source: pkgSrcPath, + destination: pkgDistPath, + permissions: distPerms, + filter: (rec) => !rec.source.name.endsWith('.d.ts'), + async map(rec) { + switch (Path.extname(rec.source.name)) { + case '.peggy': { + const result = await Peggy.getJsSource({ + path: rec.source.abs, + format: 'commonjs', + optimize: 'speed', + }); + + if (result.config) { + // if there was a config file for this peggy grammar, capture its output path and + // delete it after the copy is complete + peggyConfigOutputPaths.add( + Path.resolve(pkgDistPath, Path.relative(pkgSrcPath, result.config.path)) + ); + } + + return { + ...rec, + dest: rec.dest.withName(rec.dest.name + '.js'), + content: result.source, + }; + } - // cleanup any peggy config files - if (peggyConfigOutputPaths.size) { - await deleteAll(Array.from(peggyConfigOutputPaths), log); - } - - await write( - Path.resolve(pkgDirInBuild, 'kibana.jsonc'), - JSON.stringify(pkg.manifest, null, 2) - ); - await write( - Path.resolve(pkgDirInBuild, 'package.json'), - JSON.stringify( - { - ...pkg.pkg, - name: pkg.manifest.id, - version: config.getBuildVersion(), - private: undefined, + case '.ts': + case '.tsx': + case '.js': + case '.mjs': + case '.jsx': { + const source = await Fsp.readFile(rec.source.abs, 'utf8'); + const result = await transform(rec.source.abs, source); + return { + ...rec, + dest: rec.dest.withExt('.js'), + content: result.code, + }; + } + } }, - null, - 2 - ) - ); - } + }); + + if ( + pkg.manifest.id === '@kbn/ui-shared-deps-src' || + pkg.manifest.id === '@kbn/ui-shared-deps-npm' + ) { + await scanCopy({ + source: config.resolveFromRepo( + 'bazel-bin', + pkg.normalizedRepoRelativeDir, + 'shared_built_assets' + ), + destination: build.resolvePath(pkg.normalizedRepoRelativeDir, 'shared_built_assets'), + permissions: distPerms, + filter: (rec) => rec.source.ext !== '.map', + }); + } + + if (pkg.manifest.id === '@kbn/monaco') { + await scanCopy({ + source: config.resolveFromRepo( + 'bazel-bin', + pkg.normalizedRepoRelativeDir, + 'target_workers' + ), + destination: build.resolvePath(pkg.normalizedRepoRelativeDir, 'target_workers'), + permissions: distPerms, + filter: (rec) => rec.source.ext !== '.map', + }); + } + + // cleanup any peggy config files + if (peggyConfigOutputPaths.size) { + await deleteAll(Array.from(peggyConfigOutputPaths), log); + } + + await write( + Path.resolve(pkgDistPath, 'kibana.jsonc'), + JSON.stringify(pkg.manifest, null, 2) + ); + await write( + Path.resolve(pkgDistPath, 'package.json'), + JSON.stringify( + { + ...pkg.pkg, + name: pkg.manifest.id, + version: config.getBuildVersion(), + private: undefined, + }, + null, + 2 + ) + ); + + log.info(`Copied`, pkg.manifest.id, 'into build'); + }); + }); }, }; diff --git a/src/dev/build/tasks/clean_tasks.ts b/src/dev/build/tasks/clean_tasks.ts index bc4e5bca05675..18313dc3edbcf 100644 --- a/src/dev/build/tasks/clean_tasks.ts +++ b/src/dev/build/tasks/clean_tasks.ts @@ -8,7 +8,7 @@ import minimatch from 'minimatch'; import { discoverBazelPackages } from '@kbn/bazel-packages'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { deleteAll, deleteEmptyFolders, scanDelete, Task, GlobalTask } from '../lib'; export const Clean: GlobalTask = { diff --git a/src/dev/build/tasks/copy_source_task.ts b/src/dev/build/tasks/copy_source_task.ts index 536b59e663a3d..c092dc8341633 100644 --- a/src/dev/build/tasks/copy_source_task.ts +++ b/src/dev/build/tasks/copy_source_task.ts @@ -52,6 +52,9 @@ export const CopySource: Task = { const piscina = new Piscina({ filename: resolve(__dirname, 'copy_source_worker.js'), + workerData: { + ignoredPkgIds: await config.getPkgIdsInNodeModules(), + }, }); const globbyOptions = { cwd: config.resolveFromRepo('.') }; @@ -74,5 +77,7 @@ export const CopySource: Task = { await Promise.all(tasks); await piscina.destroy(); + + log.success('copied and transpiled', tasks.length, 'files'); }, }; diff --git a/src/dev/build/tasks/copy_source_worker.js b/src/dev/build/tasks/copy_source_worker.js index 5f18cf6f46eab..a272a15b653ec 100644 --- a/src/dev/build/tasks/copy_source_worker.js +++ b/src/dev/build/tasks/copy_source_worker.js @@ -10,26 +10,18 @@ const { writeFileSync, readFileSync, copyFileSync, mkdirSync } = require('fs'); const { resolve, extname, dirname } = require('path'); const { optimize } = require('svgo'); -const { transformFileSync } = require('@babel/core'); +const { transformCode } = require('@kbn/babel-transform'); -const presets = require('@kbn/babel-preset/node_preset'); +const { ignoredPkgIds } = require('piscina').workerData; -const { REPO_ROOT } = require('@kbn/utils'); +const { REPO_ROOT } = require('@kbn/repo-info'); const BUILD_ROOT = resolve(REPO_ROOT, 'build', 'kibana'); -const babelOptions = { - presets: [[presets, { 'kibana/rootDir': REPO_ROOT }]], - cwd: REPO_ROOT, - babelrc: false, - sourceMaps: false, - ast: false, -}; - const svgOptions = { removeComments: false, }; -module.exports = ({ source }) => { +module.exports = async ({ source }) => { const absoluteSource = resolve(REPO_ROOT, source); const absoluteDest = resolve(BUILD_ROOT, source); @@ -40,12 +32,17 @@ module.exports = ({ source }) => { case '.js': case '.ts': case '.tsx': - const output = transformFileSync(absoluteSource, babelOptions); + const output = transformCode(absoluteSource, undefined, { + disableSourceMaps: true, + ignoredPkgIds, + }); + if (output.code) { const dest = absoluteDest.substring(0, absoluteDest.lastIndexOf('.')) + '.js'; writeFileSync(dest, output.code); } break; + case '.svg': const input = readFileSync(absoluteSource, 'utf-8'); const result = optimize(input, { @@ -58,7 +55,9 @@ module.exports = ({ source }) => { writeFileSync(absoluteDest, output); } break; + default: copyFileSync(absoluteSource, absoluteDest); + break; } }; diff --git a/src/dev/build/tasks/generate_packages_optimized_assets.ts b/src/dev/build/tasks/generate_packages_optimized_assets.ts index 0f2e22a3c1444..566c15786f7ab 100644 --- a/src/dev/build/tasks/generate_packages_optimized_assets.ts +++ b/src/dev/build/tasks/generate_packages_optimized_assets.ts @@ -43,7 +43,7 @@ async function optimizeAssets(log: ToolingLog, assetDir: string) { await asyncPipeline( vfs.src(['**/*.css'], { cwd: assetDir }), // eslint-disable-next-line @typescript-eslint/no-var-requires - gulpPostCSS(require('@kbn/optimizer/postcss.config.js').plugins), + gulpPostCSS(require('@kbn/optimizer/postcss.config').plugins), vfs.dest(assetDir) ); diff --git a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts index bb417cef3d990..4092390f08360 100644 --- a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts +++ b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts @@ -9,7 +9,7 @@ import { readFileSync } from 'fs'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { createAbsolutePathSerializer, createRecursiveSerializer } from '@kbn/jest-serializers'; diff --git a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts index 5f495bf3b168f..9a9f8520b8ab4 100644 --- a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts +++ b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts @@ -9,7 +9,7 @@ import Path from 'path'; import Fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { createAnyInstanceSerializer, createRecursiveSerializer } from '@kbn/jest-serializers'; diff --git a/src/dev/build/tasks/os_packages/docker_generator/bundle_dockerfiles.ts b/src/dev/build/tasks/os_packages/docker_generator/bundle_dockerfiles.ts index 7f092f399c8ed..7df5b21bd562a 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/bundle_dockerfiles.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/bundle_dockerfiles.ts @@ -11,7 +11,7 @@ import { readFileSync } from 'fs'; import { copyFile } from 'fs/promises'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import Mustache from 'mustache'; import { compressTar, copyAll, mkdirp, write, Config } from '../../../lib'; diff --git a/src/dev/build/tasks/os_packages/docker_generator/run.ts b/src/dev/build/tasks/os_packages/docker_generator/run.ts index 89944999392ef..fa19a11bb5939 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/run.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/run.ts @@ -11,7 +11,7 @@ import { resolve, basename } from 'path'; import { promisify } from 'util'; import { ToolingLog } from '@kbn/tooling-log'; -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { write, copyAll, mkdirp, exec, Config, Build } from '../../../lib'; import * as dockerTemplates from './templates'; diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/ironbank/hardening_manifest.yaml b/src/dev/build/tasks/os_packages/docker_generator/templates/ironbank/hardening_manifest.yaml index 4672a33013035..f0f4a01bef295 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/ironbank/hardening_manifest.yaml +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/ironbank/hardening_manifest.yaml @@ -48,10 +48,6 @@ resources: # List of project maintainers maintainers: - - email: 'tyler.smalley@elastic.co' - name: 'Tyler Smalley' - username: 'tylersmalley' - cht_member: false - email: 'klepal_alexander@bah.com' name: 'Alexander Klepal' username: 'alexander.klepal' diff --git a/src/dev/chromium_version.ts b/src/dev/chromium_version.ts index 7bbdfcd59d768..f2cbab5e7a516 100644 --- a/src/dev/chromium_version.ts +++ b/src/dev/chromium_version.ts @@ -8,7 +8,7 @@ import { run } from '@kbn/dev-cli-runner'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import chalk from 'chalk'; import cheerio from 'cheerio'; import fs from 'fs'; diff --git a/src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js b/src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js index 14f7cefc78cae..f6de641e49dde 100644 --- a/src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js +++ b/src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js @@ -8,7 +8,7 @@ import { enumeratePatterns } from '../team_assignment/enumerate_patterns'; import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const log = new ToolingLog({ level: 'info', diff --git a/src/dev/code_coverage/ingest_coverage/team_assignment/index.js b/src/dev/code_coverage/ingest_coverage/team_assignment/index.js index f47cf6e9d535c..8db4dd5ddb676 100644 --- a/src/dev/code_coverage/ingest_coverage/team_assignment/index.js +++ b/src/dev/code_coverage/ingest_coverage/team_assignment/index.js @@ -8,7 +8,7 @@ import { run } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { parse } from './parse_owners'; import { flush } from './flush'; import { enumeratePatterns } from './enumerate_patterns'; diff --git a/src/dev/eslint/lint_files.ts b/src/dev/eslint/lint_files.ts index 46c11e283ff4c..2e62cbd451add 100644 --- a/src/dev/eslint/lint_files.ts +++ b/src/dev/eslint/lint_files.ts @@ -8,7 +8,7 @@ import { CLIEngine } from 'eslint'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { createFailError } from '@kbn/dev-cli-errors'; import { ToolingLog } from '@kbn/tooling-log'; import { File } from '../file'; diff --git a/src/dev/eslint/run_eslint_with_types.ts b/src/dev/eslint/run_eslint_with_types.ts index e6eac71b15d0b..f3ec09540c360 100644 --- a/src/dev/eslint/run_eslint_with_types.ts +++ b/src/dev/eslint/run_eslint_with_types.ts @@ -16,10 +16,9 @@ import { mergeMap, reduce } from 'rxjs/operators'; import { supportsColor } from 'chalk'; import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; -import { PROJECTS } from '../typescript/projects'; -import { Project } from '../typescript/project'; +import { PROJECTS, Project } from '@kbn/ts-projects'; export function runEslintWithTypes() { run( @@ -42,7 +41,7 @@ export function runEslintWithTypes() { return false; } - if (projectFilter && project.tsConfigPath !== projectFilter) { + if (projectFilter && project.path !== projectFilter) { log.verbose(`[${project.name}] skipping because it doesn't match --project`); return false; } @@ -79,8 +78,10 @@ export function runEslintWithTypes() { process.execPath, [ Path.relative(project.directory, eslintPath), - ...project.getIncludePatterns().map((p) => (p.endsWith('*') ? `${p}.{ts,tsx}` : p)), - ...project.getExcludePatterns().flatMap((p) => ['--ignore-pattern', p]), + ...(project.config.include ?? []).map((p) => + p.endsWith('*') ? `${p}.{ts,tsx}` : p + ), + ...(project.config.exclude ?? []).flatMap((p) => ['--ignore-pattern', p]), ...['--ignore-pattern', '**/*.json'], ...['--ext', '.ts,.tsx'], '--no-error-on-unmatched-pattern', @@ -145,13 +146,7 @@ export function runEslintWithTypes() { } projects failed, run the following commands locally to try auto-fixing them: ${failures - .map( - (p) => - `node scripts/eslint_with_types --fix --project ${Path.relative( - REPO_ROOT, - p.tsConfigPath - )}` - ) + .map((p) => `node scripts/eslint_with_types --fix --project ${p.repoRel}`) .join('\n ')} ` ); diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index 45b605d824b63..3ba872a984e95 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -84,6 +84,6 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.3.3': ['Elastic License 2.0'], - '@elastic/eui@71.0.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@72.1.0': ['SSPL-1.0 OR Elastic License 2.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry }; diff --git a/src/dev/license_checker/run_check_licenses_cli.ts b/src/dev/license_checker/run_check_licenses_cli.ts index 8ff73d85a7487..7c6cd9248f05f 100644 --- a/src/dev/license_checker/run_check_licenses_cli.ts +++ b/src/dev/license_checker/run_check_licenses_cli.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { getInstalledPackages } from '../npm'; diff --git a/src/dev/notice/cli.js b/src/dev/notice/cli.js index 8aece9f51d9e6..77b3151d0501b 100644 --- a/src/dev/notice/cli.js +++ b/src/dev/notice/cli.js @@ -11,7 +11,7 @@ import { resolve } from 'path'; import getopts from 'getopts'; import dedent from 'dedent'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { ToolingLog, pickLevelFromFlags } from '@kbn/tooling-log'; import { generateNoticeFromSource } from './generate_notice_from_source'; diff --git a/src/dev/npm/integration_tests/installed_packages.test.ts b/src/dev/npm/integration_tests/installed_packages.test.ts index 716065fe39b50..079560eb47908 100644 --- a/src/dev/npm/integration_tests/installed_packages.test.ts +++ b/src/dev/npm/integration_tests/installed_packages.test.ts @@ -10,7 +10,7 @@ import { resolve, sep } from 'path'; import { uniq } from 'lodash'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { getInstalledPackages, InstalledPackage } from '../installed_packages'; const FIXTURE1_ROOT = resolve(__dirname, '__fixtures__/fixture1'); diff --git a/src/dev/performance/run_performance_cli.ts b/src/dev/performance/run_performance_cli.ts index 142b024df0d4e..daec946f8962b 100644 --- a/src/dev/performance/run_performance_cli.ts +++ b/src/dev/performance/run_performance_cli.ts @@ -8,7 +8,7 @@ import { createFlagError } from '@kbn/dev-cli-errors'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import fs from 'fs'; import path from 'path'; diff --git a/src/dev/performance/run_scalability_cli.ts b/src/dev/performance/run_scalability_cli.ts index 5f925772dcc23..86f8c70a11ab9 100644 --- a/src/dev/performance/run_scalability_cli.ts +++ b/src/dev/performance/run_scalability_cli.ts @@ -8,7 +8,7 @@ import { createFlagError } from '@kbn/dev-cli-errors'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import fs from 'fs'; import path from 'path'; import { Journey } from './run_performance_cli'; diff --git a/src/dev/plugin_discovery/find_plugins.ts b/src/dev/plugin_discovery/find_plugins.ts index 698a9816a5312..93cddbb165c98 100644 --- a/src/dev/plugin_discovery/find_plugins.ts +++ b/src/dev/plugin_discovery/find_plugins.ts @@ -10,7 +10,7 @@ import Path from 'path'; import { getPluginSearchPaths } from '@kbn/plugin-discovery'; import { KibanaPlatformPlugin, simpleKibanaPlatformPluginDiscovery } from '@kbn/plugin-discovery'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export interface SearchOptions { oss: boolean; diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index 2cfa9b0299c3f..8b8f49e59d5d7 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -26,6 +26,7 @@ export const IGNORE_FILE_GLOBS = [ '**/{Dockerfile,docker-compose.yml}', 'x-pack/plugins/canvas/tasks/**/*', 'x-pack/plugins/canvas/canvas_plugin_src/**/*', + 'x-pack/plugins/canvas/server/templates/assets/*.{png,jpg,svg}', 'x-pack/plugins/cases/docs/**/*', 'x-pack/plugins/monitoring/public/lib/jquery_flot/**/*', '**/.*', diff --git a/src/dev/precommit_hook/get_files_for_commit.js b/src/dev/precommit_hook/get_files_for_commit.js index 2afb5dba2510a..e540542c34c25 100644 --- a/src/dev/precommit_hook/get_files_for_commit.js +++ b/src/dev/precommit_hook/get_files_for_commit.js @@ -8,7 +8,7 @@ import SimpleGit from 'simple-git'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { File } from '../file'; /** diff --git a/src/dev/run_build_docs_cli.ts b/src/dev/run_build_docs_cli.ts index c121dc69de3dd..54871a8a0e8b5 100644 --- a/src/dev/run_build_docs_cli.ts +++ b/src/dev/run_build_docs_cli.ts @@ -11,7 +11,7 @@ import Path from 'path'; import dedent from 'dedent'; import { run } from '@kbn/dev-cli-runner'; import { createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; const DEFAULT_DOC_REPO_PATH = Path.resolve(REPO_ROOT, '..', 'docs'); diff --git a/src/dev/run_check_file_casing.ts b/src/dev/run_check_file_casing.ts index 3dff1c1731098..451425e588883 100644 --- a/src/dev/run_check_file_casing.ts +++ b/src/dev/run_check_file_casing.ts @@ -8,7 +8,7 @@ import globby from 'globby'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { run } from '@kbn/dev-cli-runner'; import { File } from './file'; import { checkFileCasing } from './precommit_hook/check_file_casing'; diff --git a/src/dev/run_find_plugins_with_circular_deps.ts b/src/dev/run_find_plugins_with_circular_deps.ts index 67a67a2f1729b..27968d15c68de 100644 --- a/src/dev/run_find_plugins_with_circular_deps.ts +++ b/src/dev/run_find_plugins_with_circular_deps.ts @@ -11,7 +11,7 @@ import { parseDependencyTree, parseCircular, prettyCircular } from 'dpdm'; import { relative } from 'path'; import { getPluginSearchPaths } from '@kbn/plugin-discovery'; import { run } from '@kbn/dev-cli-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; interface Options { debug?: boolean; diff --git a/src/dev/run_precommit_hook.js b/src/dev/run_precommit_hook.js index 5774ffb9d9b3e..7b8b8d25da121 100644 --- a/src/dev/run_precommit_hook.js +++ b/src/dev/run_precommit_hook.js @@ -10,7 +10,7 @@ import SimpleGit from 'simple-git'; import { run } from '@kbn/dev-cli-runner'; import { createFlagError, combineErrors } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import * as Eslint from './eslint'; import * as Stylelint from './stylelint'; import { getFilesForCommit, checkFileCasing } from './precommit_hook'; diff --git a/src/dev/storybook/commands/clean.ts b/src/dev/storybook/commands/clean.ts index 2688ef4bcdb74..55861ff22bdb9 100644 --- a/src/dev/storybook/commands/clean.ts +++ b/src/dev/storybook/commands/clean.ts @@ -7,7 +7,7 @@ */ import { ToolingLog } from '@kbn/tooling-log'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { join } from 'path'; import del from 'del'; diff --git a/src/dev/tsconfig.json b/src/dev/tsconfig.json index 5976c86154dad..136db54b123bf 100644 --- a/src/dev/tsconfig.json +++ b/src/dev/tsconfig.json @@ -1,20 +1,39 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "**/*.js", "**/*.ts", ], "exclude": [ - "target/types/**/*" + "target/**/*", ], "kbn_references": [ - { "path": "../core/tsconfig.json" }, + "@kbn/core", { "path": "../../tsconfig.json" }, - { "path": "../../x-pack/plugins/screenshotting/tsconfig.json" }, + "@kbn/screenshotting-plugin", + "@kbn/test", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/repo-info", + "@kbn/tooling-log", + "@kbn/plugin-discovery", + "@kbn/ci-stats-reporter", + "@kbn/jest-serializers", + "@kbn/i18n", + "@kbn/storybook", + "@kbn/bazel-packages", + "@kbn/std", + "@kbn/dev-utils", + "@kbn/utils", + "@kbn/optimizer", + "@kbn/bazel-runner", + "@kbn/peggy", + "@kbn/babel-transform", + "@kbn/import-resolver", + "@kbn/find-used-node-modules", + "@kbn/ts-projects", ] } diff --git a/src/dev/typescript/index.ts b/src/dev/typescript/index.ts deleted file mode 100644 index c390ecc60f018..0000000000000 --- a/src/dev/typescript/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export { Project } from './project'; -export { runTypeCheckCli } from './run_type_check_cli'; diff --git a/src/dev/typescript/project.ts b/src/dev/typescript/project.ts deleted file mode 100644 index c148cccfa7351..0000000000000 --- a/src/dev/typescript/project.ts +++ /dev/null @@ -1,181 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; - -import { IMinimatch, Minimatch } from 'minimatch'; -import { REPO_ROOT } from '@kbn/utils'; - -import { parseTsConfig } from './ts_configfile'; - -function makeMatchers(directory: string, patterns: string[]) { - return patterns.map( - (pattern) => - new Minimatch(Path.resolve(directory, pattern), { - dot: true, - }) - ); -} - -function testMatchers(matchers: IMinimatch[], path: string) { - return matchers.some((matcher) => matcher.match(path)); -} - -export interface ProjectOptions { - name?: string; - disableTypeCheck?: boolean; -} - -interface LoadOptions { - history?: string[]; - cache?: Map; - skipConfigValidation?: boolean; -} - -export class Project { - static load( - tsConfigPath: string, - projectOptions?: ProjectOptions, - loadOptions: LoadOptions = {} - ): Project { - const cache = loadOptions.cache ?? new Map(); - const cached = cache.get(tsConfigPath); - if (cached) { - return cached; - } - - const config = parseTsConfig(tsConfigPath); - - if (!loadOptions?.skipConfigValidation) { - if (config.files) { - throw new Error(`${tsConfigPath} must not use "files" key`); - } - - if (!config.include) { - throw new Error(`${tsConfigPath} must have an "include" key`); - } - } - - const directory = Path.dirname(tsConfigPath); - const disableTypeCheck = projectOptions?.disableTypeCheck || false; - const name = - projectOptions?.name || Path.relative(REPO_ROOT, directory) || Path.basename(directory); - const includePatterns = config.include; - const include = includePatterns ? makeMatchers(directory, includePatterns) : undefined; - const excludePatterns = config.exclude; - const exclude = excludePatterns ? makeMatchers(directory, excludePatterns) : undefined; - - let baseProject; - if (config.extends) { - const baseConfigPath = Path.resolve(directory, config.extends); - - // prevent circular deps - if (loadOptions.history?.includes(baseConfigPath)) { - throw new Error( - `circular "extends" are not supported in tsconfig files: ${loadOptions.history} => ${baseConfigPath}` - ); - } - - baseProject = Project.load( - baseConfigPath, - {}, - { - skipConfigValidation: true, - history: [...(loadOptions.history ?? []), tsConfigPath], - cache, - } - ); - } - - const project = new Project( - tsConfigPath, - directory, - name, - config, - disableTypeCheck, - baseProject, - include, - includePatterns, - exclude, - excludePatterns - ); - cache.set(tsConfigPath, project); - return project; - } - - public readonly typeCheckConfigPath: string; - - constructor( - public readonly tsConfigPath: string, - public readonly directory: string, - public readonly name: string, - public readonly config: any, - public readonly disableTypeCheck: boolean, - - public readonly baseProject?: Project, - private readonly include?: IMinimatch[], - private readonly includePatterns?: string[], - private readonly exclude?: IMinimatch[], - private readonly excludePatterns?: string[] - ) { - this.typeCheckConfigPath = Path.resolve(this.directory, 'tsconfig.type_check.json'); - } - - public getIncludePatterns(): string[] { - return this.includePatterns - ? this.includePatterns - : this.baseProject?.getIncludePatterns() ?? []; - } - public getExcludePatterns(): string[] { - return this.excludePatterns - ? this.excludePatterns - : this.baseProject?.getExcludePatterns() ?? []; - } - - private getInclude(): IMinimatch[] { - return this.include ? this.include : this.baseProject?.getInclude() ?? []; - } - - private getExclude(): IMinimatch[] { - return this.exclude ? this.exclude : this.baseProject?.getExclude() ?? []; - } - - public isAbsolutePathSelected(path: string) { - return testMatchers(this.getExclude(), path) ? false : testMatchers(this.getInclude(), path); - } - - public getOutDir(): string | undefined { - if (this.config.compilerOptions?.outDir) { - return Path.resolve(this.directory, this.config.compilerOptions.outDir); - } - if (this.baseProject) { - return this.baseProject.getOutDir(); - } - return undefined; - } - - public getRefdPaths(): string[] { - if (this.config.references) { - return (this.config.references as Array<{ path: string }>).map(({ path }) => - Path.resolve(this.directory, path) - ); - } - - return this.baseProject ? this.baseProject.getRefdPaths() : []; - } - - public getConfigPaths(): string[] { - return this.baseProject - ? [this.tsConfigPath, ...this.baseProject.getConfigPaths()] - : [this.tsConfigPath]; - } - - public getProjectsDeep(): Project[] { - return this.baseProject ? [this, ...this.baseProject.getProjectsDeep()] : [this]; - } -} diff --git a/src/dev/typescript/run_check_ts_projects_cli.ts b/src/dev/typescript/run_check_ts_projects_cli.ts deleted file mode 100644 index c4998e6791957..0000000000000 --- a/src/dev/typescript/run_check_ts_projects_cli.ts +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; - -import { run } from '@kbn/dev-cli-runner'; -import { asyncMapWithLimit } from '@kbn/std'; -import { createFailError } from '@kbn/dev-cli-errors'; -import { getRepoFiles } from '@kbn/get-repo-files'; -import { REPO_ROOT } from '@kbn/utils'; -import globby from 'globby'; - -import { File } from '../file'; -import { PROJECTS } from './projects'; -import type { Project } from './project'; - -class Stats { - counts = { - files: new Map(), - ignored: new Map(), - gitMatched: new Map(), - }; - - incr(proj: Project, metric: 'files' | 'ignored' | 'gitMatched', delta = 1) { - const cur = this.counts[metric].get(proj); - this.counts[metric].set(proj, (cur ?? 0) + delta); - } -} - -export async function runCheckTsProjectsCli() { - run( - async ({ log }) => { - const stats = new Stats(); - let failed = false; - - const everyProjectDeep = new Set(PROJECTS.flatMap((p) => p.getProjectsDeep())); - for (const proj of everyProjectDeep) { - const [, ...baseConfigRels] = proj.getConfigPaths().map((p) => Path.relative(REPO_ROOT, p)); - const configRel = Path.relative(REPO_ROOT, proj.tsConfigPath); - - if (baseConfigRels[0] === 'tsconfig.json') { - failed = true; - log.error( - `[${configRel}]: This tsconfig extends the root tsconfig.json file and shouldn't. The root tsconfig.json file is not a valid base config, you probably want to point to the tsconfig.base.json file.` - ); - } - if (configRel !== 'tsconfig.base.json' && !baseConfigRels.includes('tsconfig.base.json')) { - failed = true; - log.error( - `[${configRel}]: This tsconfig does not extend the tsconfig.base.json file either directly or indirectly. The TS config setup for the repo expects every tsconfig file to extend this base config file.` - ); - } - } - - const pathsAndProjects = await asyncMapWithLimit(PROJECTS, 5, async (proj) => { - const paths = await globby(proj.getIncludePatterns(), { - ignore: proj.getExcludePatterns(), - cwd: proj.directory, - onlyFiles: true, - absolute: true, - }); - stats.incr(proj, 'files', paths.length); - return { - proj, - paths, - }; - }); - - const isInMultipleTsProjects = new Map>(); - const pathsToProject = new Map(); - for (const { proj, paths } of pathsAndProjects) { - for (const path of paths) { - if (!pathsToProject.has(path)) { - pathsToProject.set(path, proj); - continue; - } - - if (path.endsWith('.d.ts')) { - stats.incr(proj, 'ignored'); - continue; - } - - isInMultipleTsProjects.set( - path, - new Set([...(isInMultipleTsProjects.get(path) ?? []), proj]) - ); - } - } - - if (isInMultipleTsProjects.size) { - failed = true; - const details = Array.from(isInMultipleTsProjects) - .map( - ([path, projects]) => - ` - ${Path.relative(process.cwd(), path)}:\n${Array.from(projects) - .map((p) => ` - ${Path.relative(process.cwd(), p.tsConfigPath)}`) - .join('\n')}` - ) - .join('\n'); - - log.error( - `The following files belong to multiple tsconfig.json files listed in src/dev/typescript/projects.ts\n${details}` - ); - } - - const isNotInTsProject: File[] = []; - for (const { abs } of await getRepoFiles()) { - const file = new File(abs); - if (!file.isTypescript() || file.isFixture()) { - continue; - } - - const proj = pathsToProject.get(file.getAbsolutePath()); - if (proj === undefined) { - isNotInTsProject.push(file); - } else { - stats.incr(proj, 'gitMatched'); - } - } - - if (isNotInTsProject.length) { - failed = true; - log.error( - `The following files do not belong to a tsconfig.json file, or that tsconfig.json file is not listed in src/dev/typescript/projects.ts\n${isNotInTsProject - .map((file) => ` - ${file.getRelativePath()}`) - .join('\n')}` - ); - } - - for (const [metric, counts] of Object.entries(stats.counts)) { - log.verbose('metric:', metric); - for (const [proj, count] of Array.from(counts).sort((a, b) => - a[0].name.localeCompare(b[0].name) - )) { - log.verbose(' ', proj.name, count); - } - } - - if (failed) { - throw createFailError('see above errors'); - } else { - log.success('All ts files belong to a single ts project'); - } - }, - { - description: - 'Check that all .ts and .tsx files in the repository are assigned to a tsconfig.json file', - } - ); -} diff --git a/src/dev/typescript/run_type_check_cli.ts b/src/dev/typescript/run_type_check_cli.ts deleted file mode 100644 index ad1907f0f120a..0000000000000 --- a/src/dev/typescript/run_type_check_cli.ts +++ /dev/null @@ -1,259 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; -import Fs from 'fs'; -import Fsp from 'fs/promises'; - -import { run } from '@kbn/dev-cli-runner'; -import { createFailError } from '@kbn/dev-cli-errors'; -import { REPO_ROOT } from '@kbn/utils'; -import { Jsonc } from '@kbn/bazel-packages'; -import { runBazel } from '@kbn/bazel-runner'; -import { asyncForEachWithLimit } from '@kbn/std'; -import { BazelPackage, discoverBazelPackages } from '@kbn/bazel-packages'; - -import { PROJECTS } from './projects'; -import { Project } from './project'; -import { - updateRootRefsConfig, - cleanupRootRefsConfig, - ROOT_REFS_CONFIG_PATH, -} from './root_refs_config'; - -function rel(from: string, to: string) { - const relative = Path.relative(from, to); - return relative.startsWith('.') ? relative : `./${relative}`; -} - -function isValidRefs(refs: unknown): refs is Array<{ path: string }> { - return ( - Array.isArray(refs) && - refs.every( - (r) => typeof r === 'object' && r !== null && 'path' in r && typeof r.path === 'string' - ) - ); -} - -function parseTsconfig(path: string) { - const jsonc = Fs.readFileSync(path, 'utf8'); - const parsed = Jsonc.parse(jsonc) as Record; - if (typeof parsed !== 'object' || parsed === null) { - throw createFailError(`expected JSON at ${path} to parse into an object`); - } - - return parsed; -} - -function toTypeCheckConfigPath(path: string) { - return path.endsWith('tsconfig.base.json') - ? path.replace(/\/tsconfig\.base\.json$/, '/tsconfig.base.type_check.json') - : path.replace(/\/tsconfig\.json$/, '/tsconfig.type_check.json'); -} - -function createTypeCheckConfigs(projects: Project[], bazelPackages: BazelPackage[]) { - const created = new Set(); - const bazelPackageIds = new Set(bazelPackages.map((p) => p.manifest.id)); - - // write root tsconfig.type_check.json - const baseTypeCheckConfigPath = Path.resolve(REPO_ROOT, 'tsconfig.base.type_check.json'); - const baseConfigPath = Path.resolve(REPO_ROOT, 'tsconfig.base.json'); - const baseStat = Fs.statSync(baseConfigPath); - const basePaths = parseTsconfig(baseConfigPath).compilerOptions.paths; - if (typeof basePaths !== 'object' || basePaths === null) { - throw createFailError(`expected root compilerOptions.paths to be an object`); - } - Fs.writeFileSync( - baseTypeCheckConfigPath, - JSON.stringify( - { - extends: './tsconfig.base.json', - compilerOptions: { - paths: Object.fromEntries( - Object.entries(basePaths).flatMap(([key, value]) => { - if (key.endsWith('/*') && bazelPackageIds.has(key.slice(0, -2))) { - return []; - } - - if (bazelPackageIds.has(key)) { - return []; - } - - return [[key, value]]; - }) - ), - }, - }, - null, - 2 - ) - ); - Fs.utimesSync(baseTypeCheckConfigPath, baseStat.atime, baseStat.mtime); - created.add(baseTypeCheckConfigPath); - - // write tsconfig.type_check.json files for each project that is not the root - const queue = new Set(projects.map((p) => p.tsConfigPath)); - for (const path of queue) { - const tsconfigStat = Fs.statSync(path); - const parsed = parseTsconfig(path); - - const dir = Path.dirname(path); - const typeCheckConfigPath = Path.resolve(dir, 'tsconfig.type_check.json'); - const refs = parsed.kbn_references ?? []; - if (!isValidRefs(refs)) { - throw new Error(`expected valid TS refs in ${path}`); - } - - const typeCheckConfig = { - ...parsed, - extends: parsed.extends - ? toTypeCheckConfigPath(parsed.extends) - : rel(dir, baseTypeCheckConfigPath), - compilerOptions: { - ...parsed.compilerOptions, - composite: true, - rootDir: '.', - paths: undefined, - }, - kbn_references: undefined, - references: refs.map((ref) => ({ - path: toTypeCheckConfigPath(ref.path), - })), - }; - - Fs.writeFileSync(typeCheckConfigPath, JSON.stringify(typeCheckConfig, null, 2)); - Fs.utimesSync(typeCheckConfigPath, tsconfigStat.atime, tsconfigStat.mtime); - - created.add(typeCheckConfigPath); - - // add all the referenced config files to the queue if they're not already in it - for (const ref of refs) { - queue.add(Path.resolve(dir, ref.path)); - } - } - - return created; -} - -export async function runTypeCheckCli() { - run( - async ({ log, flagsReader, procRunner }) => { - if (flagsReader.boolean('clean-cache')) { - await asyncForEachWithLimit(PROJECTS, 10, async (proj) => { - await Fsp.rm(Path.resolve(proj.directory, 'target/types'), { - force: true, - recursive: true, - }); - }); - log.warning('Deleted all typescript caches'); - } - - await runBazel(['build', '//packages:build_types', '--show_result=1'], { - cwd: REPO_ROOT, - logPrefix: '\x1b[94m[bazel]\x1b[39m', - onErrorExit(code: any, output: any) { - throw createFailError( - `The bazel command that was running exited with code [${code}] and output: ${output}` - ); - }, - }); - - const bazelPackages = await discoverBazelPackages(REPO_ROOT); - - // if the tsconfig.refs.json file is not self-managed then make sure it has - // a reference to every composite project in the repo - await updateRootRefsConfig(log, bazelPackages); - - const projectFilter = flagsReader.path('project'); - - const projects = PROJECTS.filter((p) => { - return !p.disableTypeCheck && (!projectFilter || p.tsConfigPath === projectFilter); - }); - - const created = createTypeCheckConfigs(projects, bazelPackages); - - let pluginBuildResult; - try { - log.info(`Building TypeScript projects to check types...`); - - const relative = Path.relative( - REPO_ROOT, - projects.length === 1 ? projects[0].typeCheckConfigPath : ROOT_REFS_CONFIG_PATH - ); - - await procRunner.run('tsc', { - cmd: Path.relative(REPO_ROOT, require.resolve('typescript/bin/tsc')), - args: [ - '-b', - relative, - '--pretty', - ...(flagsReader.boolean('verbose') ? ['--verbose'] : []), - ], - cwd: REPO_ROOT, - wait: true, - }); - - pluginBuildResult = { failed: false }; - } catch (error) { - pluginBuildResult = { failed: true }; - } - - // cleanup - if (flagsReader.boolean('cleanup')) { - await cleanupRootRefsConfig(); - - await asyncForEachWithLimit(created, 40, async (path) => { - await Fsp.unlink(path); - }); - - await asyncForEachWithLimit(bazelPackages, 40, async (pkg) => { - const targetTypesPaths = Path.resolve( - REPO_ROOT, - 'bazel-bin', - pkg.normalizedRepoRelativeDir, - 'target_type' - ); - - await Fsp.rm(targetTypesPaths, { - force: true, - recursive: true, - }); - }); - } - - if (pluginBuildResult.failed) { - throw createFailError('Unable to build TS project refs'); - } - }, - { - description: ` - Run the TypeScript compiler without emitting files so that it can check types during development. - - Examples: - # check types in all projects - node scripts/type_check - - # check types in a single project - node scripts/type_check --project packages/kbn-pm/tsconfig.json - `, - flags: { - string: ['project'], - boolean: ['clean-cache', 'cleanup'], - default: { - cleanup: true, - }, - help: ` - --project [path] Path to a tsconfig.json file determines the project to check - --help Show this message - --clean-cache Delete any existing TypeScript caches before running type check - --no-cleanup Pass to avoid deleting the temporary tsconfig files written to disk - `, - }, - } - ); -} diff --git a/src/dev/typescript/ts_configfile.ts b/src/dev/typescript/ts_configfile.ts deleted file mode 100644 index 7998edcf80bcf..0000000000000 --- a/src/dev/typescript/ts_configfile.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Fs from 'fs'; -import Path from 'path'; - -import { parseConfigFileTextToJson } from 'typescript'; - -// yes, this is just `any`, but I'm hoping that TypeScript will give us some help here eventually -type TsConfigFile = ReturnType['config']; - -export function parseTsConfig(tsConfigPath: string): TsConfigFile { - const { error, config } = parseConfigFileTextToJson( - tsConfigPath, - Fs.readFileSync(tsConfigPath, 'utf8') - ); - - if (error) { - throw error; - } - - return config; -} - -export function getOutputsDeep(tsConfigPaths: string[]) { - const tsConfigs = new Map(); - - const read = (path: string) => { - const cached = tsConfigs.get(path); - if (cached) { - return cached; - } - - const config = parseTsConfig(path); - tsConfigs.set(path, config); - return config; - }; - - const outputDirs: string[] = []; - const seen = new Set(); - - const traverse = (path: string) => { - const config = read(path); - if (seen.has(config)) { - return; - } - seen.add(config); - - const dirname = Path.dirname(path); - const relativeOutDir: string | undefined = config.compilerOptions?.outDir; - if (relativeOutDir) { - outputDirs.push(Path.resolve(dirname, relativeOutDir)); - } - - const refs: undefined | Array<{ path: string }> = config.references; - for (const ref of refs ?? []) { - traverse(Path.resolve(dirname, ref.path)); - } - }; - - for (const path of tsConfigPaths) { - traverse(path); - } - - return outputDirs; -} diff --git a/src/fixtures/tsconfig.json b/src/fixtures/tsconfig.json index bd36efa965333..ceb00717fa6c4 100644 --- a/src/fixtures/tsconfig.json +++ b/src/fixtures/tsconfig.json @@ -1,15 +1,15 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "telemetry_collectors/**/*", ], "kbn_references": [ - { "path": "../core/tsconfig.json" }, - { "path": "../plugins/usage_collection/tsconfig.json" }, + "@kbn/usage-collection-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/advanced_settings/tsconfig.json b/src/plugins/advanced_settings/tsconfig.json index 921db12b89863..17a6f098a6185 100644 --- a/src/plugins/advanced_settings/tsconfig.json +++ b/src/plugins/advanced_settings/tsconfig.json @@ -1,20 +1,27 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", "server/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../management/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../es_ui_shared/tsconfig.json" }, + "@kbn/core", + "@kbn/management-plugin", + "@kbn/home-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-react-plugin", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/analytics", + "@kbn/kibana-utils-plugin", + "@kbn/i18n-react", + "@kbn/expect", + "@kbn/monaco", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/bfetch/tsconfig.json b/src/plugins/bfetch/tsconfig.json index 829b781e8bd2c..dfc8dcab1c1ac 100644 --- a/src/plugins/bfetch/tsconfig.json +++ b/src/plugins/bfetch/tsconfig.json @@ -1,13 +1,18 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*", "index.ts"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/i18n", + "@kbn/config-schema", + "@kbn/std", + "@kbn/core-http-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/chart_expressions/expression_gauge/tsconfig.json b/src/plugins/chart_expressions/expression_gauge/tsconfig.json index 3ab82197cb9f8..0a778f80f7ca9 100644 --- a/src/plugins/chart_expressions/expression_gauge/tsconfig.json +++ b/src/plugins/chart_expressions/expression_gauge/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,12 +11,23 @@ ], "kbn_references": [ { "path": "../tsconfig.json" }, - { "path": "../../../core/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../presentation_util/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/usage-collection-plugin", + "@kbn/field-formats-plugin", + "@kbn/charts-plugin", + "@kbn/visualizations-plugin", + "@kbn/coloring", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/analytics", + "@kbn/chart-icons", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/chart_expressions/expression_heatmap/tsconfig.json b/src/plugins/chart_expressions/expression_heatmap/tsconfig.json index 3ab82197cb9f8..051ed48547ec1 100644 --- a/src/plugins/chart_expressions/expression_heatmap/tsconfig.json +++ b/src/plugins/chart_expressions/expression_heatmap/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,12 +11,23 @@ ], "kbn_references": [ { "path": "../tsconfig.json" }, - { "path": "../../../core/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../presentation_util/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/usage-collection-plugin", + "@kbn/field-formats-plugin", + "@kbn/charts-plugin", + "@kbn/visualizations-plugin", + "@kbn/i18n", + "@kbn/coloring", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/test-jest-helpers", + "@kbn/chart-icons", + "@kbn/kibana-react-plugin", + "@kbn/analytics", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/chart_expressions/expression_legacy_metric/tsconfig.json b/src/plugins/chart_expressions/expression_legacy_metric/tsconfig.json index 900bc4c8da266..e90c86b49baab 100644 --- a/src/plugins/chart_expressions/expression_legacy_metric/tsconfig.json +++ b/src/plugins/chart_expressions/expression_legacy_metric/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,12 +11,22 @@ ], "kbn_references": [ { "path": "../tsconfig.json" }, - { "path": "../../../core/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../presentation_util/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/presentation-util-plugin", + "@kbn/field-formats-plugin", + "@kbn/charts-plugin", + "@kbn/usage-collection-plugin", + "@kbn/visualizations-plugin", + "@kbn/i18n", + "@kbn/coloring", + "@kbn/utility-types", + "@kbn/kibana-utils-plugin", + "@kbn/analytics", + "@kbn/kibana-react-plugin", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.test.tsx b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.test.tsx index 68a28cab121f6..24be93635320e 100644 --- a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.test.tsx +++ b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.test.tsx @@ -870,6 +870,27 @@ describe('MetricVisComponent', function () { max-height: 100%; max-width: 100%; overflow-y: auto; + scrollbar-width: thin; + + &::-webkit-scrollbar { + inline-size: 16px; + block-size: 16px; + } + + &::-webkit-scrollbar-thumb { + background-color: rgba(105,112,125,0.5); + background-clip: content-box; + border-radius: 16px; + border: calc(8px * 0.75) solid transparent; + } + + &::-webkit-scrollbar-corner, + &::-webkit-scrollbar-track { + background-color: transparent; + } + + scrollbar-color: rgba(105,112,125,0.5) transparent; + " `); @@ -880,6 +901,27 @@ describe('MetricVisComponent', function () { max-height: 100%; max-width: 100%; overflow-y: auto; + scrollbar-width: thin; + + &::-webkit-scrollbar { + inline-size: 16px; + block-size: 16px; + } + + &::-webkit-scrollbar-thumb { + background-color: rgba(105,112,125,0.5); + background-clip: content-box; + border-radius: 16px; + border: calc(8px * 0.75) solid transparent; + } + + &::-webkit-scrollbar-corner, + &::-webkit-scrollbar-track { + background-color: transparent; + } + + scrollbar-color: rgba(105,112,125,0.5) transparent; + " `); @@ -890,6 +932,27 @@ describe('MetricVisComponent', function () { max-height: 100%; max-width: 100%; overflow-y: auto; + scrollbar-width: thin; + + &::-webkit-scrollbar { + inline-size: 16px; + block-size: 16px; + } + + &::-webkit-scrollbar-thumb { + background-color: rgba(105,112,125,0.5); + background-clip: content-box; + border-radius: 16px; + border: calc(8px * 0.75) solid transparent; + } + + &::-webkit-scrollbar-corner, + &::-webkit-scrollbar-track { + background-color: transparent; + } + + scrollbar-color: rgba(105,112,125,0.5) transparent; + " `); }); diff --git a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx index 9d114332fc18a..a07de93e5093f 100644 --- a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx +++ b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx @@ -35,7 +35,7 @@ import type { FieldFormatConvertFunction } from '@kbn/field-formats-plugin/commo import { CUSTOM_PALETTE } from '@kbn/coloring'; import { css } from '@emotion/react'; import { euiThemeVars } from '@kbn/ui-theme'; -import { useResizeObserver } from '@elastic/eui'; +import { useResizeObserver, useEuiScrollBar } from '@elastic/eui'; import { DEFAULT_TRENDLINE_NAME } from '../../common/constants'; import { VisParams } from '../../common'; import { @@ -360,6 +360,7 @@ export const MetricVis = ({ max-height: 100%; max-width: 100%; overflow-y: auto; + ${useEuiScrollBar()} `} >
{ return { workerModule: { id: 'sense_editor/mode/worker', src: '' } }; }); -// @ts-ignore -window.Worker = function () { - this.postMessage = () => {}; - (this as unknown as { terminate: () => void }).terminate = () => {}; -}; +import '@kbn/web-worker-stub'; // @ts-ignore window.URL = { diff --git a/src/plugins/console/server/routes/api/console/autocomplete_entities/index.ts b/src/plugins/console/server/routes/api/console/autocomplete_entities/index.ts index 1c6b23fa7fd7f..dae50854e00f8 100644 --- a/src/plugins/console/server/routes/api/console/autocomplete_entities/index.ts +++ b/src/plugins/console/server/routes/api/console/autocomplete_entities/index.ts @@ -117,11 +117,16 @@ const getEntity = (path: string, config: Config) => { try { const req = client.request(options, (res) => { const chunks: Buffer[] = []; + + let currentLength = 0; + res.on('data', (chunk) => { + currentLength += Buffer.byteLength(chunk); + chunks.push(chunk); // Destroy the request if the response is too large - if (Buffer.byteLength(Buffer.concat(chunks)) > MAX_RESPONSE_SIZE) { + if (currentLength > MAX_RESPONSE_SIZE) { req.destroy(); reject(Boom.badRequest(`Response size is too large for ${path}`)); } diff --git a/src/plugins/console/tsconfig.json b/src/plugins/console/tsconfig.json index cc44f6119f2de..77949a21f62cb 100644 --- a/src/plugins/console/tsconfig.json +++ b/src/plugins/console/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", // there is still a decent amount of JS in this plugin and we are taking // advantage of the fact that TS doesn't know the types of that code and // gives us `any`. Once that code is converted to .ts we can remove this @@ -12,13 +10,28 @@ }, "include": ["common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../dev_tools/tsconfig.json" }, - { "path": "../es_ui_shared/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" } + "@kbn/core", + "@kbn/dev-tools-plugin", + "@kbn/es-ui-shared-plugin", + "@kbn/home-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/share-plugin", + "@kbn/usage-collection-plugin", + "@kbn/i18n", + "@kbn/analytics", + "@kbn/utility-types", + "@kbn/i18n-react", + "@kbn/shared-ux-utility", + "@kbn/core-http-browser", + "@kbn/ace", + "@kbn/test-jest-helpers", + "@kbn/config-schema", + "@kbn/core-http-server", + "@kbn/core-http-router-server-internal", + "@kbn/web-worker-stub", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/controls/common/control_group/control_group_panel_diff_system.ts b/src/plugins/controls/common/control_group/control_group_panel_diff_system.ts index c412a5589cc32..2b89bc55ba2c0 100644 --- a/src/plugins/controls/common/control_group/control_group_panel_diff_system.ts +++ b/src/plugins/controls/common/control_group/control_group_panel_diff_system.ts @@ -8,7 +8,7 @@ import deepEqual from 'fast-deep-equal'; import { omit, isEqual } from 'lodash'; -import { DEFAULT_SORT } from '../options_list/suggestions_sorting'; +import { OPTIONS_LIST_DEFAULT_SORT } from '../options_list/suggestions_sorting'; import { OptionsListEmbeddableInput, OPTIONS_LIST_CONTROL } from '../options_list/types'; import { ControlPanelState } from './types'; @@ -65,7 +65,7 @@ export const ControlPanelDiffSystems: { Boolean(singleSelectA) === Boolean(singleSelectB) && Boolean(existsSelectedA) === Boolean(existsSelectedB) && Boolean(runPastTimeoutA) === Boolean(runPastTimeoutB) && - deepEqual(sortA ?? DEFAULT_SORT, sortB ?? DEFAULT_SORT) && + deepEqual(sortA ?? OPTIONS_LIST_DEFAULT_SORT, sortB ?? OPTIONS_LIST_DEFAULT_SORT) && isEqual(selectedA ?? [], selectedB ?? []) && deepEqual(inputA, inputB) ); diff --git a/src/plugins/controls/common/options_list/mocks.tsx b/src/plugins/controls/common/options_list/mocks.tsx index ac80ac3873968..943e78c370fc6 100644 --- a/src/plugins/controls/common/options_list/mocks.tsx +++ b/src/plugins/controls/common/options_list/mocks.tsx @@ -21,7 +21,13 @@ const mockOptionsListComponentState = { ...getDefaultComponentState(), field: undefined, totalCardinality: 0, - availableOptions: ['woof', 'bark', 'meow', 'quack', 'moo'], + availableOptions: { + woof: { doc_count: 100 }, + bark: { doc_count: 75 }, + meow: { doc_count: 50 }, + quack: { doc_count: 25 }, + moo: { doc_count: 5 }, + }, invalidSelections: [], validSelections: [], } as OptionsListComponentState; diff --git a/src/plugins/controls/common/options_list/suggestions_sorting.ts b/src/plugins/controls/common/options_list/suggestions_sorting.ts index 5289beeeb2a29..a66fe1bdf2891 100644 --- a/src/plugins/controls/common/options_list/suggestions_sorting.ts +++ b/src/plugins/controls/common/options_list/suggestions_sorting.ts @@ -10,13 +10,14 @@ import { Direction } from '@elastic/eui'; export type OptionsListSortBy = '_count' | '_key'; -export const DEFAULT_SORT: SortingType = { by: '_count', direction: 'desc' }; +export const OPTIONS_LIST_DEFAULT_SORT: OptionsListSortingType = { + by: '_count', + direction: 'desc', +}; -export const sortDirections: Readonly = ['asc', 'desc'] as const; -export type SortDirection = typeof sortDirections[number]; -export interface SortingType { +export interface OptionsListSortingType { by: OptionsListSortBy; - direction: SortDirection; + direction: Direction; } export const getCompatibleSortingTypes = (type?: string): OptionsListSortBy[] => { diff --git a/src/plugins/controls/common/options_list/types.ts b/src/plugins/controls/common/options_list/types.ts index be5f252af3cc6..eb1f7b886d427 100644 --- a/src/plugins/controls/common/options_list/types.ts +++ b/src/plugins/controls/common/options_list/types.ts @@ -9,12 +9,13 @@ import { FieldSpec, DataView, RuntimeFieldSpec } from '@kbn/data-views-plugin/common'; import type { Filter, Query, BoolQuery, TimeRange } from '@kbn/es-query'; -import { SortingType } from './suggestions_sorting'; +import { OptionsListSortingType } from './suggestions_sorting'; import { DataControlInput } from '../types'; export const OPTIONS_LIST_CONTROL = 'optionsListControl'; export interface OptionsListEmbeddableInput extends DataControlInput { + sort?: OptionsListSortingType; selectedOptions?: string[]; existsSelected?: boolean; runPastTimeout?: boolean; @@ -22,7 +23,6 @@ export interface OptionsListEmbeddableInput extends DataControlInput { hideExclude?: boolean; hideExists?: boolean; hideSort?: boolean; - sort?: SortingType; exclude?: boolean; } @@ -32,11 +32,15 @@ export type OptionsListField = FieldSpec & { childFieldName?: string; }; +export interface OptionsListSuggestions { + [key: string]: { doc_count: number }; +} + /** * The Options list response is returned from the serverside Options List route. */ export interface OptionsListResponse { - suggestions: string[]; + suggestions: OptionsListSuggestions; totalCardinality: number; invalidSelections?: string[]; } @@ -61,6 +65,7 @@ export type OptionsListRequest = Omit< */ export interface OptionsListRequestBody { runtimeFieldMap?: Record; + sort?: OptionsListSortingType; filters?: Array<{ bool: BoolQuery }>; selectedOptions?: string[]; runPastTimeout?: boolean; @@ -68,6 +73,5 @@ export interface OptionsListRequestBody { textFieldName?: string; searchString?: string; fieldSpec?: FieldSpec; - sort?: SortingType; fieldName: string; } diff --git a/src/plugins/controls/common/time_slider/types.ts b/src/plugins/controls/common/time_slider/types.ts index 0fa92f695ad71..dbeb2600518bd 100755 --- a/src/plugins/controls/common/time_slider/types.ts +++ b/src/plugins/controls/common/time_slider/types.ts @@ -11,6 +11,7 @@ import type { ControlInput } from '../types'; export const TIME_SLIDER_CONTROL = 'timeSlider'; export interface TimeSliderControlEmbeddableInput extends ControlInput { + isAnchored?: boolean; // Encode value as percentage of time range to support relative time ranges. timesliceStartAsPercentageOfTimeRange?: number; timesliceEndAsPercentageOfTimeRange?: number; diff --git a/src/plugins/controls/public/__stories__/controls.stories.tsx b/src/plugins/controls/public/__stories__/controls.stories.tsx index e891e3ba36685..02a13125ba49c 100644 --- a/src/plugins/controls/public/__stories__/controls.stories.tsx +++ b/src/plugins/controls/public/__stories__/controls.stories.tsx @@ -54,7 +54,12 @@ const storybookStubOptionsListRequest = async ( setTimeout( () => r({ - suggestions: getFlightSearchOptions(request.field.name, request.searchString), + suggestions: getFlightSearchOptions(request.field.name, request.searchString).reduce( + (o, current, index) => { + return { ...o, [current]: { doc_count: index } }; + }, + {} + ), totalCardinality: 100, }), 120 diff --git a/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx b/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx index 8a1aee69fd362..617131e5b7623 100644 --- a/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx +++ b/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx @@ -41,13 +41,16 @@ export const SortableControl = (frameProps: SortableControlProps) => { disabled: !isEditable, }); - frameProps.dragInfo = { ...frameProps.dragInfo, isOver: over?.id === embeddableId, isDragging }; + const sortableFrameProps = { + ...frameProps, + dragInfo: { ...frameProps.dragInfo, isOver: over?.id === embeddableId, isDragging }, + }; return ( - i18n.translate('controls.controlGroup.toolbarButtonTitle', { - defaultMessage: 'Controls', - }), emptyState: { getBadge: () => i18n.translate('controls.controlGroup.emptyState.badgeText', { diff --git a/src/plugins/controls/public/control_group/editor/create_control.tsx b/src/plugins/controls/public/control_group/editor/create_control.tsx deleted file mode 100644 index 7b551195e43aa..0000000000000 --- a/src/plugins/controls/public/control_group/editor/create_control.tsx +++ /dev/null @@ -1,164 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { EuiButton, EuiContextMenuItem } from '@elastic/eui'; -import React from 'react'; - -import { OverlayRef } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; -import { pluginServices } from '../../services'; -import { ControlEditor } from './control_editor'; -import { ControlGroupStrings } from '../control_group_strings'; -import { ControlWidth, ControlInput, IEditableControlFactory, DataControlInput } from '../../types'; -import { - DEFAULT_CONTROL_WIDTH, - DEFAULT_CONTROL_GROW, -} from '../../../common/control_group/control_group_constants'; -import { setFlyoutRef } from '../embeddable/control_group_container'; - -export type CreateControlButtonTypes = 'toolbar' | 'callout'; -export interface CreateControlButtonProps { - defaultControlWidth?: ControlWidth; - defaultControlGrow?: boolean; - updateDefaultWidth: (defaultControlWidth: ControlWidth) => void; - updateDefaultGrow: (defaultControlGrow: boolean) => void; - addNewEmbeddable: (type: string, input: Omit) => void; - setLastUsedDataViewId?: (newDataViewId: string) => void; - getRelevantDataViewId?: () => string | undefined; - buttonType: CreateControlButtonTypes; - closePopover?: () => void; -} - -interface CreateControlResult { - type: string; - controlInput: Omit; -} - -export const CreateControlButton = ({ - buttonType, - defaultControlWidth, - defaultControlGrow, - addNewEmbeddable, - closePopover, - getRelevantDataViewId, - setLastUsedDataViewId, - updateDefaultWidth, - updateDefaultGrow, -}: CreateControlButtonProps) => { - // Controls Services Context - const { - overlays: { openFlyout, openConfirm }, - controls: { getControlTypes, getControlFactory }, - theme: { theme$ }, - } = pluginServices.getServices(); - - const createNewControl = async () => { - const ControlsServicesProvider = pluginServices.getContextProvider(); - - const initialInputPromise = new Promise((resolve, reject) => { - let inputToReturn: Partial = {}; - - const onCancel = (ref: OverlayRef) => { - if (Object.keys(inputToReturn).length === 0) { - reject(); - ref.close(); - return; - } - openConfirm(ControlGroupStrings.management.discardNewControl.getSubtitle(), { - confirmButtonText: ControlGroupStrings.management.discardNewControl.getConfirm(), - cancelButtonText: ControlGroupStrings.management.discardNewControl.getCancel(), - title: ControlGroupStrings.management.discardNewControl.getTitle(), - buttonColor: 'danger', - }).then((confirmed) => { - if (confirmed) { - reject(); - ref.close(); - } - }); - }; - - const onSave = (ref: OverlayRef, type?: string) => { - if (!type) { - reject(); - ref.close(); - return; - } - - const factory = getControlFactory(type) as IEditableControlFactory; - if (factory.presaveTransformFunction) { - inputToReturn = factory.presaveTransformFunction(inputToReturn); - } - resolve({ type, controlInput: inputToReturn }); - ref.close(); - }; - - const flyoutInstance = openFlyout( - toMountPoint( - - (inputToReturn.title = newTitle)} - updateWidth={updateDefaultWidth} - updateGrow={updateDefaultGrow} - onSave={(type) => onSave(flyoutInstance, type)} - onCancel={() => onCancel(flyoutInstance)} - onTypeEditorChange={(partialInput) => - (inputToReturn = { ...inputToReturn, ...partialInput }) - } - /> - , - { theme$ } - ), - { - 'aria-label': ControlGroupStrings.manageControl.getFlyoutCreateTitle(), - outsideClickCloses: false, - onClose: (flyout) => { - onCancel(flyout); - setFlyoutRef(undefined); - }, - } - ); - setFlyoutRef(flyoutInstance); - }); - - initialInputPromise.then( - async (promise) => { - await addNewEmbeddable(promise.type, promise.controlInput); - }, - () => {} // swallow promise rejection because it can be part of normal flow - ); - }; - - if (getControlTypes().length === 0) return null; - - const commonButtonProps = { - key: 'addControl', - onClick: () => { - createNewControl(); - if (closePopover) { - closePopover(); - } - }, - 'data-test-subj': 'controls-create-button', - 'aria-label': ControlGroupStrings.management.getManageButtonTitle(), - }; - - return buttonType === 'callout' ? ( - - {ControlGroupStrings.emptyState.getAddControlButtonTitle()} - - ) : ( - - {ControlGroupStrings.emptyState.getAddControlButtonTitle()} - - ); -}; diff --git a/src/plugins/controls/public/control_group/editor/create_time_slider_control.tsx b/src/plugins/controls/public/control_group/editor/create_time_slider_control.tsx deleted file mode 100644 index 3688422a2eebb..0000000000000 --- a/src/plugins/controls/public/control_group/editor/create_time_slider_control.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { i18n } from '@kbn/i18n'; -import React from 'react'; -import { EuiContextMenuItem } from '@elastic/eui'; - -interface Props { - onCreate: () => void; - closePopover?: () => void; - hasTimeSliderControl: boolean; -} - -export const CreateTimeSliderControlButton = ({ - onCreate, - closePopover, - hasTimeSliderControl, -}: Props) => { - return ( - { - onCreate(); - if (closePopover) { - closePopover(); - } - }} - data-test-subj="controls-create-timeslider-button" - disabled={hasTimeSliderControl} - toolTipContent={ - hasTimeSliderControl - ? i18n.translate('controls.controlGroup.onlyOneTimeSliderControlMsg', { - defaultMessage: 'Control group already contains time slider control.', - }) - : null - } - > - {i18n.translate('controls.controlGroup.addTimeSliderControlButtonTitle', { - defaultMessage: 'Add time slider control', - })} - - ); -}; diff --git a/src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx b/src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx new file mode 100644 index 0000000000000..1b417f09e27d0 --- /dev/null +++ b/src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx @@ -0,0 +1,106 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import type { + AddDataControlProps, + AddOptionsListControlProps, + AddRangeSliderControlProps, +} from '../control_group_input_builder'; +import { ControlGroupStrings } from '../control_group_strings'; +import { ControlGroupContainer, setFlyoutRef } from '../embeddable/control_group_container'; +import { pluginServices } from '../../services'; +import { ControlEditor } from './control_editor'; +import { DataControlInput, OPTIONS_LIST_CONTROL, RANGE_SLIDER_CONTROL } from '../..'; +import { IEditableControlFactory } from '../../types'; +import { + DEFAULT_CONTROL_GROW, + DEFAULT_CONTROL_WIDTH, +} from '../../../common/control_group/control_group_constants'; + +export function openAddDataControlFlyout(this: ControlGroupContainer) { + const { + overlays: { openFlyout, openConfirm }, + controls: { getControlFactory }, + theme: { theme$ }, + } = pluginServices.getServices(); + const ControlsServicesProvider = pluginServices.getContextProvider(); + + let controlInput: Partial = {}; + const onCancel = () => { + if (Object.keys(controlInput).length === 0) { + this.closeAllFlyouts(); + return; + } + + openConfirm(ControlGroupStrings.management.discardNewControl.getSubtitle(), { + confirmButtonText: ControlGroupStrings.management.discardNewControl.getConfirm(), + cancelButtonText: ControlGroupStrings.management.discardNewControl.getCancel(), + title: ControlGroupStrings.management.discardNewControl.getTitle(), + buttonColor: 'danger', + }).then((confirmed) => { + if (confirmed) { + this.closeAllFlyouts(); + } + }); + }; + + const flyoutInstance = openFlyout( + toMountPoint( + + this.setLastUsedDataViewId(newId)} + getRelevantDataViewId={this.getMostRelevantDataViewId} + isCreate={true} + width={this.getInput().defaultControlWidth ?? DEFAULT_CONTROL_WIDTH} + grow={this.getInput().defaultControlGrow ?? DEFAULT_CONTROL_GROW} + updateTitle={(newTitle) => (controlInput.title = newTitle)} + updateWidth={(defaultControlWidth) => this.updateInput({ defaultControlWidth })} + updateGrow={(defaultControlGrow: boolean) => this.updateInput({ defaultControlGrow })} + onSave={(type) => { + this.closeAllFlyouts(); + if (!type) { + return; + } + + const factory = getControlFactory(type) as IEditableControlFactory; + if (factory.presaveTransformFunction) { + controlInput = factory.presaveTransformFunction(controlInput); + } + + if (type === OPTIONS_LIST_CONTROL) { + this.addOptionsListControl(controlInput as AddOptionsListControlProps); + return; + } + + if (type === RANGE_SLIDER_CONTROL) { + this.addRangeSliderControl(controlInput as AddRangeSliderControlProps); + return; + } + + this.addDataControlFromField(controlInput as AddDataControlProps); + }} + onCancel={onCancel} + onTypeEditorChange={(partialInput) => + (controlInput = { ...controlInput, ...partialInput }) + } + /> + , + { theme$ } + ), + { + 'aria-label': ControlGroupStrings.manageControl.getFlyoutCreateTitle(), + outsideClickCloses: false, + onClose: () => { + onCancel(); + }, + } + ); + setFlyoutRef(flyoutInstance); +} diff --git a/src/plugins/controls/public/control_group/embeddable/control_group_container.tsx b/src/plugins/controls/public/control_group/embeddable/control_group_container.tsx index 46774a0747b89..703468dd2da76 100644 --- a/src/plugins/controls/public/control_group/embeddable/control_group_container.tsx +++ b/src/plugins/controls/public/control_group/embeddable/control_group_container.tsx @@ -12,13 +12,8 @@ import ReactDOM from 'react-dom'; import { compareFilters, COMPARE_ALL_OPTIONS, Filter, uniqFilters } from '@kbn/es-query'; import { BehaviorSubject, merge, Subject, Subscription } from 'rxjs'; import _ from 'lodash'; -import { EuiContextMenuPanel } from '@elastic/eui'; -import { - ReduxEmbeddablePackage, - ReduxEmbeddableTools, - SolutionToolbarPopover, -} from '@kbn/presentation-util-plugin/public'; +import { ReduxEmbeddablePackage, ReduxEmbeddableTools } from '@kbn/presentation-util-plugin/public'; import { OverlayRef } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { Container, EmbeddableFactory } from '@kbn/embeddable-plugin/public'; @@ -36,14 +31,11 @@ import { controlOrdersAreEqual, } from './control_group_chaining_system'; import { pluginServices } from '../../services'; -import { ControlGroupStrings } from '../control_group_strings'; +import { openAddDataControlFlyout } from '../editor/open_add_data_control_flyout'; import { EditControlGroup } from '../editor/edit_control_group'; import { ControlGroup } from '../component/control_group_component'; import { controlGroupReducers } from '../state/control_group_reducers'; -import { OPTIONS_LIST_CONTROL, RANGE_SLIDER_CONTROL, TIME_SLIDER_CONTROL } from '../..'; import { ControlEmbeddable, ControlInput, ControlOutput } from '../../types'; -import { CreateControlButton, CreateControlButtonTypes } from '../editor/create_control'; -import { CreateTimeSliderControlButton } from '../editor/create_time_slider_control'; import { getNextPanelOrder } from './control_group_helpers'; import type { AddDataControlProps, @@ -127,68 +119,9 @@ export class ControlGroupContainer extends Container< return this.createAndSaveEmbeddable(panelState.type, panelState); } - /** - * Returns a button that allows controls to be created externally using the embeddable - * @param buttonType Controls the button styling - * @param closePopover Closes the create control menu popover when flyout opens - only necessary if `buttonType === 'toolbar'` - * @return If `buttonType == 'toolbar'`, returns `EuiContextMenuPanel` with input control types as items. - * Otherwise, if `buttonType == 'callout'` returns `EuiButton` with popover containing input control types. - */ - public getCreateControlButton = ( - buttonType: CreateControlButtonTypes, - closePopover?: () => void - ) => { - const ControlsServicesProvider = pluginServices.getContextProvider(); - - return ( - - this.updateInput({ defaultControlWidth })} - updateDefaultGrow={(defaultControlGrow: boolean) => - this.updateInput({ defaultControlGrow }) - } - addNewEmbeddable={(type, input) => { - if (type === OPTIONS_LIST_CONTROL) { - this.addOptionsListControl(input as AddOptionsListControlProps); - return; - } - - if (type === RANGE_SLIDER_CONTROL) { - this.addRangeSliderControl(input as AddRangeSliderControlProps); - return; - } - - this.addDataControlFromField(input as AddDataControlProps); - }} - closePopover={closePopover} - getRelevantDataViewId={() => this.getMostRelevantDataViewId()} - setLastUsedDataViewId={(newId) => this.setLastUsedDataViewId(newId)} - /> - - ); - }; - - public getCreateTimeSliderControlButton = (closePopover?: () => void) => { - const childIds = this.getChildIds(); - const hasTimeSliderControl = childIds.some((id) => { - const child = this.getChild(id); - return child.type === TIME_SLIDER_CONTROL; - }); - return ( - { - this.addTimeSliderControl(); - }} - closePopover={closePopover} - hasTimeSliderControl={hasTimeSliderControl} - /> - ); - }; + public openAddDataControlFlyout = openAddDataControlFlyout; - private getEditControlGroupButton = (closePopover: () => void) => { + public getEditControlGroupButton = (closePopover: () => void) => { const ControlsServicesProvider = pluginServices.getContextProvider(); return ( @@ -198,33 +131,6 @@ export class ControlGroupContainer extends Container< ); }; - /** - * Returns the toolbar button that is used for creating controls and managing control settings - * @return `SolutionToolbarPopover` button for input controls - */ - public getToolbarButtons = () => { - return ( - - {({ closePopover }: { closePopover: () => void }) => ( - - )} - - ); - }; - constructor( reduxEmbeddablePackage: ReduxEmbeddablePackage, initialInput: ControlGroupInput, diff --git a/src/plugins/controls/public/controls_callout/controls_callout.scss b/src/plugins/controls/public/controls_callout/controls_callout.scss deleted file mode 100644 index 74add651a5237..0000000000000 --- a/src/plugins/controls/public/controls_callout/controls_callout.scss +++ /dev/null @@ -1,37 +0,0 @@ -@include euiBreakpoint('xs', 's') { - .controlsIllustration, .emptyStateBadge { - display: none; - } -} - -.controlsWrapper { - &--empty { - display: flex; - overflow: hidden; - margin: 0 $euiSizeS 0 $euiSizeS; - - .addControlButton { - text-align: center; - } - - @include euiBreakpoint('m', 'l', 'xl') { - height: $euiSizeS * 6; - - .emptyStateBadge { - padding-left: $euiSize * 2; - text-transform: uppercase; - } - } - @include euiBreakpoint('xs', 's') { - min-height: $euiSizeS * 6; - - .emptyStateText { - padding-left: 0; - text-align: center; - } - .controlsIllustration__container { - margin-bottom: 0 !important; - } - } - } -} diff --git a/src/plugins/controls/public/controls_callout/controls_callout.tsx b/src/plugins/controls/public/controls_callout/controls_callout.tsx deleted file mode 100644 index b207657cc0288..0000000000000 --- a/src/plugins/controls/public/controls_callout/controls_callout.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { - EuiBadge, - EuiFlexGroup, - EuiFlexItem, - EuiText, - EuiButtonEmpty, - EuiPanel, -} from '@elastic/eui'; -import React from 'react'; -import useLocalStorage from 'react-use/lib/useLocalStorage'; - -import './controls_callout.scss'; -import { ControlGroupStrings } from '../control_group/control_group_strings'; -import { ControlsIllustration } from './controls_illustration'; - -const CONTROLS_CALLOUT_STATE_KEY = 'dashboard:controlsCalloutDismissed'; - -export interface CalloutProps { - getCreateControlButton?: () => JSX.Element; -} - -export const ControlsCallout = ({ getCreateControlButton }: CalloutProps) => { - const [controlsCalloutDismissed, setControlsCalloutDismissed] = useLocalStorage( - CONTROLS_CALLOUT_STATE_KEY, - false - ); - const dismissControls = () => { - setControlsCalloutDismissed(true); - }; - - if (controlsCalloutDismissed) return null; - - return ( - - - - - - - - - {ControlGroupStrings.emptyState.getBadge()} - - - -

{ControlGroupStrings.emptyState.getCallToAction()}

-
-
- - - {getCreateControlButton && {getCreateControlButton()}} - - - {ControlGroupStrings.emptyState.getDismissButton()} - - - - -
-
-
-
- ); -}; - -// required for dynamic import using React.lazy() -// eslint-disable-next-line import/no-default-export -export default ControlsCallout; diff --git a/src/plugins/controls/public/controls_callout/controls_illustration.tsx b/src/plugins/controls/public/controls_callout/controls_illustration.tsx deleted file mode 100644 index 39d96ee8ad857..0000000000000 --- a/src/plugins/controls/public/controls_callout/controls_illustration.tsx +++ /dev/null @@ -1,244 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; - -export const ControlsIllustration = () => ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -); diff --git a/src/plugins/controls/public/controls_callout/index.ts b/src/plugins/controls/public/controls_callout/index.ts deleted file mode 100644 index 5f6c7e5531522..0000000000000 --- a/src/plugins/controls/public/controls_callout/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; -export const LazyControlsCallout = React.lazy(() => import('./controls_callout')); -export type { CalloutProps } from './controls_callout'; diff --git a/src/plugins/controls/public/index.ts b/src/plugins/controls/public/index.ts index 29c2af9ad46f5..ff0f139b27a75 100644 --- a/src/plugins/controls/public/index.ts +++ b/src/plugins/controls/public/index.ts @@ -54,7 +54,6 @@ export { type RangeSliderEmbeddableInput, } from './range_slider'; -export { LazyControlsCallout, type CalloutProps } from './controls_callout'; export { LazyControlGroupRenderer, useControlGroupContainerContext, diff --git a/src/plugins/controls/public/options_list/components/options_list_control.tsx b/src/plugins/controls/public/options_list/components/options_list_control.tsx index 1f19382ab506b..43742a817e3ec 100644 --- a/src/plugins/controls/public/options_list/components/options_list_control.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_control.tsx @@ -93,7 +93,7 @@ export const OptionsListControl = ({ typeaheadSubject }: { typeaheadSubject: Sub ) : ( <> {validSelections && ( - {validSelections?.join(OptionsListStrings.control.getSeparator())} + {validSelections.join(OptionsListStrings.control.getSeparator())} )} {invalidSelections && ( diff --git a/src/plugins/controls/public/options_list/components/options_list_editor_options.tsx b/src/plugins/controls/public/options_list/components/options_list_editor_options.tsx index dcfd98eedf395..8496971d131b3 100644 --- a/src/plugins/controls/public/options_list/components/options_list_editor_options.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_editor_options.tsx @@ -21,7 +21,7 @@ import { css } from '@emotion/react'; import { getCompatibleSortingTypes, - DEFAULT_SORT, + OPTIONS_LIST_DEFAULT_SORT, OptionsListSortBy, } from '../../../common/options_list/suggestions_sorting'; import { OptionsListStrings } from './options_list_strings'; @@ -48,8 +48,8 @@ export const OptionsListEditorOptions = ({ fieldType, }: ControlEditorProps) => { const [state, setState] = useState({ - sortDirection: initialInput?.sort?.direction ?? DEFAULT_SORT.direction, - sortBy: initialInput?.sort?.by ?? DEFAULT_SORT.by, + sortDirection: initialInput?.sort?.direction ?? OPTIONS_LIST_DEFAULT_SORT.direction, + sortBy: initialInput?.sort?.by ?? OPTIONS_LIST_DEFAULT_SORT.by, runPastTimeout: initialInput?.runPastTimeout, singleSelect: initialInput?.singleSelect, hideExclude: initialInput?.hideExclude, @@ -60,8 +60,12 @@ export const OptionsListEditorOptions = ({ useEffect(() => { // when field type changes, ensure that the selected sort type is still valid if (!getCompatibleSortingTypes(fieldType).includes(state.sortBy)) { - onChange({ sort: DEFAULT_SORT }); - setState((s) => ({ ...s, sortBy: DEFAULT_SORT.by, sortDirection: DEFAULT_SORT.direction })); + onChange({ sort: OPTIONS_LIST_DEFAULT_SORT }); + setState((s) => ({ + ...s, + sortBy: OPTIONS_LIST_DEFAULT_SORT.by, + sortDirection: OPTIONS_LIST_DEFAULT_SORT.direction, + })); } }, [fieldType, onChange, state.sortBy]); diff --git a/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx b/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx index ef4e0a8ed0b36..b1315be51ae1e 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover.test.tsx @@ -66,7 +66,7 @@ describe('Options list popover', () => { }); test('no available options', async () => { - const popover = await mountComponent({ componentState: { availableOptions: [] } }); + const popover = await mountComponent({ componentState: { availableOptions: {} } }); const availableOptionsDiv = findTestSubject(popover, 'optionsList-control-available-options'); const noOptionsDiv = findTestSubject( availableOptionsDiv, @@ -118,6 +118,43 @@ describe('Options list popover', () => { expect(sortButton.prop('disabled')).toBe(true); }); + test('test single invalid selection', async () => { + const popover = await mountComponent({ + explicitInput: { + selectedOptions: ['bark', 'woof'], + }, + componentState: { + availableOptions: { + bark: { doc_count: 75 }, + }, + validSelections: ['bark'], + invalidSelections: ['woof'], + }, + }); + const validSelection = findTestSubject(popover, 'optionsList-control-selection-bark'); + expect(validSelection.text()).toEqual('bark75'); + const title = findTestSubject(popover, 'optionList__ignoredSelectionLabel').text(); + expect(title).toEqual('Ignored selection'); + const invalidSelection = findTestSubject(popover, 'optionsList-control-ignored-selection-woof'); + expect(invalidSelection.text()).toEqual('woof'); + expect(invalidSelection.hasClass('optionsList__selectionInvalid')).toBe(true); + }); + + test('test title when multiple invalid selections', async () => { + const popover = await mountComponent({ + explicitInput: { selectedOptions: ['bark', 'woof', 'meow'] }, + componentState: { + availableOptions: { + bark: { doc_count: 75 }, + }, + validSelections: ['bark'], + invalidSelections: ['woof', 'meow'], + }, + }); + const title = findTestSubject(popover, 'optionList__ignoredSelectionLabel').text(); + expect(title).toEqual('Ignored selections'); + }); + test('should default to exclude = false', async () => { const popover = await mountComponent(); const includeButton = findTestSubject(popover, 'optionsList__includeResults'); @@ -172,7 +209,7 @@ describe('Options list popover', () => { test('if existsSelected = false and no suggestions, then "Exists" does not show up', async () => { const popover = await mountComponent({ - componentState: { availableOptions: [] }, + componentState: { availableOptions: {} }, explicitInput: { existsSelected: false }, }); const existsOption = findTestSubject(popover, 'optionsList-control-selection-exists'); diff --git a/src/plugins/controls/public/options_list/components/options_list_popover.tsx b/src/plugins/controls/public/options_list/components/options_list_popover.tsx index bc1e62fccfda7..6ad39e0b3dbd9 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover.tsx @@ -46,8 +46,8 @@ export const OptionsListPopover = ({ width, updateSearchString }: OptionsListPop return ( {title} @@ -59,10 +59,10 @@ export const OptionsListPopover = ({ width, updateSearchString }: OptionsListPop /> )}
300 ? width : undefined }} className="optionsList __items" - data-option-count={availableOptions?.length ?? 0} + style={{ width: width > 300 ? width : undefined }} data-test-subj={`optionsList-control-available-options`} + data-option-count={Object.keys(availableOptions ?? {}).length} > {!showOnlySelected && invalidSelections && !isEmpty(invalidSelections) && ( diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx index f6be1cb0e7a62..375a2a2058692 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx @@ -112,7 +112,11 @@ export const OptionsListPopoverActionBar = ({ display={showOnlySelected ? 'base' : 'empty'} onClick={() => setShowOnlySelected(!showOnlySelected)} data-test-subj="optionsList-control-show-only-selected" - aria-label={OptionsListStrings.popover.getClearAllSelectionsButtonTitle()} + aria-label={ + showOnlySelected + ? OptionsListStrings.popover.getAllOptionsButtonTitle() + : OptionsListStrings.popover.getSelectedOptionsButtonTitle() + } /> diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx index 1a6ec2176dd42..01c9f14363a4c 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx @@ -26,11 +26,14 @@ export const OptionsListPopoverInvalidSelections = () => { // Select current state from Redux using multiple selectors to avoid rerenders. const invalidSelections = select((state) => state.componentState.invalidSelections); - return ( <> - +
0 ? 'dshDashboardViewport-controls' : ''} - ref={controlsRoot} - /> - )} - + {controlsEnabled && controlGroup && viewMode !== ViewMode.PRINT ? ( +
0 ? 'dshDashboardViewport-controls' : ''} + ref={controlsRoot} + /> ) : null}
- setTimeout( - () => this.addNewEmbeddable(incomingEmbeddable.type, incomingEmbeddable.input), - 1 // add embeddable on next update so that the state diff can pick it up. - ) + this.addNewEmbeddable(incomingEmbeddable.type, incomingEmbeddable.input) ); } } @@ -315,8 +312,6 @@ export class DashboardContainer extends Container { this.stopDiffingDashboardState = cleanup; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/integrations/diff_state/dashboard_diffing_integration.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/integrations/diff_state/dashboard_diffing_integration.ts index 281d8f397bc2a..32956cea18d14 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/integrations/diff_state/dashboard_diffing_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/integrations/diff_state/dashboard_diffing_integration.ts @@ -61,35 +61,13 @@ export const keysNotConsideredUnsavedChanges: Array void) => void; } ) { - const { dashboardSessionStorage } = pluginServices.getServices(); - - const checkForUnsavedChanges = async ( - lastState: DashboardContainerByValueInput, - currentState: DashboardContainerByValueInput - ): Promise => { - const unsavedChanges = await getUnsavedChanges.bind(this)(lastState, currentState); - - if (useSessionBackup) { - dashboardSessionStorage.setState( - this.getDashboardSavedObjectId(), - omit(unsavedChanges, keysToOmitFromSessionStorage) - ); - } - - return Object.keys(omit(unsavedChanges, keysNotConsideredUnsavedChanges)).length > 0; // omit view mode because it is always backed up - }; - const checkForUnsavedChangesSubject$ = new Subject(); // middleware starts the check for unsaved changes function if the action dispatched could cause them. @@ -105,53 +83,61 @@ export function startDiffingDashboardState( next(action); }; - // once the dashboard is initialized, start listening to the subject - this.untilInitialized().then(() => { - const { - getState, - dispatch, - actions: { setHasUnsavedChanges }, - } = this.getReduxEmbeddableTools(); - - const getHasUnsavedChangesSubscription = checkForUnsavedChangesSubject$ - .pipe( - debounceTime(CHANGE_CHECK_DEBOUNCE), - switchMap(() => { - return new Observable((observer) => { - const { - explicitInput: currentInput, - componentState: { lastSavedInput }, - } = this.getReduxEmbeddableTools().getState(); - checkForUnsavedChanges(lastSavedInput, currentInput).then((hasChanges) => { + const getHasUnsavedChangesSubscription = checkForUnsavedChangesSubject$ + .pipe( + debounceTime(CHANGE_CHECK_DEBOUNCE), + switchMap(() => { + return new Observable((observer) => { + const { + explicitInput: currentInput, + componentState: { lastSavedInput }, + } = this.getReduxEmbeddableTools().getState(); + getUnsavedChanges + .bind(this)(lastSavedInput, currentInput) + .then((unsavedChanges) => { if (observer.closed) return; - if (getState().componentState.hasUnsavedChanges !== hasChanges) { - dispatch(setHasUnsavedChanges(hasChanges)); - } + + updateUnsavedChangesState.bind(this)(unsavedChanges); + if (useSessionBackup) backupUnsavedChanges.bind(this)(unsavedChanges); }); - }); - }) - ) - .subscribe(); - - setCleanupFunction(() => getHasUnsavedChangesSubscription.unsubscribe()); - }); - - // set initial unsaved changes - checkForUnsavedChanges(initialLastSavedInput, initialInput).then( - async (initialUnsavedChanges) => { - await this.untilInitialized(); - if (!initialUnsavedChanges) return; // early return because we know hasUnsavedChanges has been initialized to false - const { - dispatch, - actions: { setHasUnsavedChanges }, - } = this.getReduxEmbeddableTools(); - dispatch(setHasUnsavedChanges(initialUnsavedChanges)); - } - ); + }); + }) + ) + .subscribe(); + + setCleanupFunction(() => getHasUnsavedChangesSubscription.unsubscribe()); return diffingMiddleware; } +function updateUnsavedChangesState( + this: DashboardContainer, + unsavedChanges: Partial +) { + const { + getState, + dispatch, + actions: { setHasUnsavedChanges }, + } = this.getReduxEmbeddableTools(); + + // dispatch has unsaved changes state + const hasChanges = Object.keys(omit(unsavedChanges, keysNotConsideredUnsavedChanges)).length > 0; + if (getState().componentState.hasUnsavedChanges !== hasChanges) { + dispatch(setHasUnsavedChanges(hasChanges)); + } +} + +function backupUnsavedChanges( + this: DashboardContainer, + unsavedChanges: Partial +) { + const { dashboardSessionStorage } = pluginServices.getServices(); + dashboardSessionStorage.setState( + this.getDashboardSavedObjectId(), + omit(unsavedChanges, keysToOmitFromSessionStorage) + ); +} + /** * Does a shallow diff between @param lastExplicitInput and @param currentExplicitInput and * @returns an object out of the keys which are different. @@ -161,7 +147,8 @@ export async function getUnsavedChanges( lastInput: DashboardContainerByValueInput, input: DashboardContainerByValueInput, keys?: Array -) { +): Promise> { + await this.untilInitialized(); const allKeys = keys ?? ([...new Set([...Object.keys(lastInput), ...Object.keys(input)])] as Array< diff --git a/src/plugins/dashboard/public/plugin.tsx b/src/plugins/dashboard/public/plugin.tsx index 84689c8feecce..fa457c425440e 100644 --- a/src/plugins/dashboard/public/plugin.tsx +++ b/src/plugins/dashboard/public/plugin.tsx @@ -33,8 +33,8 @@ import type { import { APP_WRAPPER_CLASS } from '@kbn/core/public'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import type { HomePublicPluginSetup } from '@kbn/home-plugin/public'; +import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/common'; import { createKbnUrlTracker } from '@kbn/kibana-utils-plugin/public'; -import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/public'; import type { SavedObjectsStart } from '@kbn/saved-objects-plugin/public'; import type { VisualizationsStart } from '@kbn/visualizations-plugin/public'; import type { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public'; diff --git a/src/plugins/dashboard/tsconfig.json b/src/plugins/dashboard/tsconfig.json index 390fc6f6a0a5e..c79c0bc281042 100644 --- a/src/plugins/dashboard/tsconfig.json +++ b/src/plugins/dashboard/tsconfig.json @@ -1,32 +1,58 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["*.ts", ".storybook/**/*.ts", "common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../controls/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../url_forwarding/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../navigation/tsconfig.json" }, - { "path": "../saved_objects_tagging_oss/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../screenshot_mode/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../charts/tsconfig.json" }, - { "path": "../visualizations/tsconfig.json" }, - { "path": "../../../x-pack/plugins/spaces/tsconfig.json" } + "@kbn/core", + "@kbn/inspector-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-views-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/share-plugin", + "@kbn/controls-plugin", + "@kbn/presentation-util-plugin", + "@kbn/url-forwarding-plugin", + "@kbn/usage-collection-plugin", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/home-plugin", + "@kbn/navigation-plugin", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/saved-objects-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/ui-actions-plugin", + "@kbn/visualizations-plugin", + "@kbn/spaces-plugin", + "@kbn/config-schema", + "@kbn/utility-types", + "@kbn/es-query", + "@kbn/i18n", + "@kbn/data-view-editor-plugin", + "@kbn/unified-search-plugin", + "@kbn/shared-ux-page-analytics-no-data", + "@kbn/content-management-table-list", + "@kbn/i18n-react", + "@kbn/expressions-plugin", + "@kbn/field-formats-plugin", + "@kbn/test-jest-helpers", + "@kbn/core-application-browser", + "@kbn/ebt-tools", + "@kbn/shared-ux-button-exit-full-screen", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-application-browser-mocks", + "@kbn/analytics", + "@kbn/safer-lodash-set", + "@kbn/core-notifications-browser-mocks", + "@kbn/core-overlays-browser-mocks", + "@kbn/core-theme-browser-mocks", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/core-saved-objects-common", + "@kbn/task-manager-plugin", + "@kbn/core-execution-context-common", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/data/server/ui_settings.ts b/src/plugins/data/server/ui_settings.ts index cfd664e2e53c8..267b3b095f2f1 100644 --- a/src/plugins/data/server/ui_settings.ts +++ b/src/plugins/data/server/ui_settings.ts @@ -166,12 +166,12 @@ export function getUiSettings( }, defaultIndex: { name: i18n.translate('data.advancedSettings.defaultIndexTitle', { - defaultMessage: 'Default index', + defaultMessage: 'Default data view', }), value: null, type: 'string', description: i18n.translate('data.advancedSettings.defaultIndexText', { - defaultMessage: 'The index to access if no index is set', + defaultMessage: 'Used by discover and visualizations when a data view is not set.', }), schema: schema.nullable(schema.string()), }, diff --git a/src/plugins/data/tsconfig.json b/src/plugins/data/tsconfig.json index 415ec0795359b..48bb37d77ed95 100644 --- a/src/plugins/data/tsconfig.json +++ b/src/plugins/data/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -16,18 +14,40 @@ "../../../typings/index.d.ts" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../bfetch/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../screenshot_mode/tsconfig.json" }, - { "path": "../../../x-pack/plugins/task_manager/tsconfig.json" }, - { "path": "../../../x-pack/plugins/security/tsconfig.json" } + "@kbn/core", + "@kbn/bfetch-plugin", + "@kbn/ui-actions-plugin", + "@kbn/share-plugin", + "@kbn/inspector-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-views-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/task-manager-plugin", + "@kbn/security-plugin", + "@kbn/expressions-plugin", + "@kbn/field-types", + "@kbn/es-query", + "@kbn/expect", + "@kbn/datemath", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/utility-types-jest", + "@kbn/safer-lodash-set", + "@kbn/management-plugin", + "@kbn/test-jest-helpers", + "@kbn/core-notifications-browser-mocks", + "@kbn/std", + "@kbn/i18n-react", + "@kbn/analytics", + "@kbn/core-http-browser", + "@kbn/crypto-browser", + "@kbn/config", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/data_view_editor/tsconfig.json b/src/plugins/data_view_editor/tsconfig.json index 6a0f779db2f9c..3f1744281db90 100644 --- a/src/plugins/data_view_editor/tsconfig.json +++ b/src/plugins/data_view_editor/tsconfig.json @@ -1,19 +1,24 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../es_ui_shared/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/kibana-react-plugin", + "@kbn/es-ui-shared-plugin", + "@kbn/i18n-react", + "@kbn/usage-collection-plugin", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/data_view_field_editor/public/index.ts b/src/plugins/data_view_field_editor/public/index.ts index 95ec7e4dcfdc4..8ba8b9906c599 100644 --- a/src/plugins/data_view_field_editor/public/index.ts +++ b/src/plugins/data_view_field_editor/public/index.ts @@ -22,9 +22,15 @@ import { IndexPatternFieldEditorPlugin } from './plugin'; export type { Field, + // @deprecated use DataViewFieldEditorSetup instead PluginSetup as IndexPatternFieldEditorSetup, + // @deprecated use DataViewFieldEditorStart instead PluginStart as IndexPatternFieldEditorStart, } from './types'; +export type { + PluginSetup as DataViewFieldEditorSetup, + PluginStart as DataViewFieldEditorStart, +} from './types'; export { DefaultFormatEditor } from './components/field_format_editor/editors/default/default'; export type { FieldFormatEditorFactory, diff --git a/src/plugins/data_view_field_editor/tsconfig.json b/src/plugins/data_view_field_editor/tsconfig.json index c4f3c835bff02..264c9fdb59035 100644 --- a/src/plugins/data_view_field_editor/tsconfig.json +++ b/src/plugins/data_view_field_editor/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "../../../typings/**/*", @@ -13,12 +11,23 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../es_ui_shared/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/kibana-react-plugin", + "@kbn/es-ui-shared-plugin", + "@kbn/field-formats-plugin", + "@kbn/test-jest-helpers", + "@kbn/i18n", + "@kbn/usage-collection-plugin", + "@kbn/monaco", + "@kbn/analytics", + "@kbn/i18n-react", + "@kbn/field-types", + "@kbn/utility-types", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx b/src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx index 208871f77022a..811222ef71e88 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx @@ -210,7 +210,9 @@ export const EditIndexPattern = withRouter( {indexPatternHeading} - {indexPattern.title} + + {indexPattern.title} + )} @@ -218,7 +220,9 @@ export const EditIndexPattern = withRouter( {timeFilterHeading} - {indexPattern.timeFieldName} + + {indexPattern.timeFieldName} + )} diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx index 6797100de9ddb..d5635ae3ca5d8 100644 --- a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx +++ b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx @@ -131,6 +131,7 @@ export const IndexPatternTable = ({ clickHandler(selectedItems, deleteModalMsg(selectedItems, !!spaces))} > { - indexPattern.id = resp.id; - indexPattern.version = resp.version; + .then((response) => { + indexPattern.id = response.id; + indexPattern.version = response.version; return indexPattern; }) .catch(async (err) => { - if (err?.res?.status === 409 && saveAttempts++ < MAX_ATTEMPTS_TO_RESOLVE_CONFLICTS) { + if (err?.response?.status === 409 && saveAttempts++ < MAX_ATTEMPTS_TO_RESOLVE_CONFLICTS) { const samePattern = await this.get(indexPattern.id as string, displayErrors); // What keys changed from now and what the server returned const updatedBody = samePattern.getAsSavedObjectBody(); diff --git a/src/plugins/data_views/public/mocks.ts b/src/plugins/data_views/public/mocks.ts index 61db42e18a9be..2178cf4503003 100644 --- a/src/plugins/data_views/public/mocks.ts +++ b/src/plugins/data_views/public/mocks.ts @@ -37,6 +37,7 @@ const createStartContract = (): Start => { getCanSaveSync: jest.fn(), getIdsWithTitle: jest.fn(), getFieldsForIndexPattern: jest.fn(), + create: jest.fn().mockReturnValue(Promise.resolve({})), } as unknown as jest.Mocked; }; diff --git a/src/plugins/data_views/server/fetcher/index_patterns_fetcher.test.ts b/src/plugins/data_views/server/fetcher/index_patterns_fetcher.test.ts index b9925838fa975..81a58c844fee4 100644 --- a/src/plugins/data_views/server/fetcher/index_patterns_fetcher.test.ts +++ b/src/plugins/data_views/server/fetcher/index_patterns_fetcher.test.ts @@ -40,8 +40,8 @@ describe('Index Pattern Fetcher - server', () => { .mockResponseOnce(emptyResponse as unknown as estypes.FieldCapsResponse) .mockResponse(response as unknown as estypes.FieldCapsResponse); // first field caps request returns empty - const result = await indexPatterns.validatePatternListActive(['-a', 'b', 'c']); - expect(result).toEqual(['-a', 'c']); + const result = await indexPatterns.validatePatternListActive(['-a', 'b', 'c', 'a:-b']); + expect(result).toEqual(['-a', 'c', 'a:-b']); }); it('Returns all patterns when all match indices', async () => { esClient.fieldCaps.mockResponse(response as unknown as estypes.FieldCapsResponse); diff --git a/src/plugins/data_views/server/fetcher/index_patterns_fetcher.ts b/src/plugins/data_views/server/fetcher/index_patterns_fetcher.ts index 2d4b0d00c3ffd..df18a5d506f17 100644 --- a/src/plugins/data_views/server/fetcher/index_patterns_fetcher.ts +++ b/src/plugins/data_views/server/fetcher/index_patterns_fetcher.ts @@ -126,7 +126,7 @@ export class IndexPatternsFetcher { patternList .map(async (index) => { // perserve negated patterns - if (index.startsWith('-')) { + if (index.startsWith('-') || index.includes(':-')) { return true; } const searchResponse = await this.elasticsearchClient.fieldCaps({ diff --git a/src/plugins/data_views/tsconfig.json b/src/plugins/data_views/tsconfig.json index 5ac2028373852..614b1beda1115 100644 --- a/src/plugins/data_views/tsconfig.json +++ b/src/plugins/data_views/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -15,11 +13,21 @@ "server/**/*.json" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" } + "@kbn/core", + "@kbn/usage-collection-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/field-formats-plugin", + "@kbn/expressions-plugin", + "@kbn/core-notifications-browser", + "@kbn/es-query", + "@kbn/field-types", + "@kbn/i18n", + "@kbn/utility-types", + "@kbn/core-test-helpers-http-setup-browser", + "@kbn/config-schema", + "@kbn/utility-types-jest", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/dev_tools/tsconfig.json b/src/plugins/dev_tools/tsconfig.json index d7addc6650756..314749c7c7f53 100644 --- a/src/plugins/dev_tools/tsconfig.json +++ b/src/plugins/dev_tools/tsconfig.json @@ -1,14 +1,19 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../url_forwarding/tsconfig.json" }, - { "path": "../../../src/plugins/management/tsconfig.json" } + "@kbn/core", + "@kbn/url-forwarding-plugin", + "@kbn/management-plugin", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/ui-theme", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/discover/common/constants.ts b/src/plugins/discover/common/constants.ts index 76cf8b8f8f3c4..8e61baa8ba6fc 100644 --- a/src/plugins/discover/common/constants.ts +++ b/src/plugins/discover/common/constants.ts @@ -8,3 +8,7 @@ export const DEFAULT_ROWS_PER_PAGE = 100; export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 500]; +export enum VIEW_MODE { + DOCUMENT_LEVEL = 'documents', + AGGREGATED_LEVEL = 'aggregated', +} diff --git a/src/plugins/discover/common/index.ts b/src/plugins/discover/common/index.ts index 1e204683c0cfb..97180412d67fb 100644 --- a/src/plugins/discover/common/index.ts +++ b/src/plugins/discover/common/index.ts @@ -30,3 +30,6 @@ export const SEARCH_EMBEDDABLE_TYPE = 'search'; export const HIDE_ANNOUNCEMENTS = 'hideAnnouncements'; export const SHOW_LEGACY_FIELD_TOP_VALUES = 'discover:showLegacyFieldTopValues'; export const ENABLE_SQL = 'discover:enableSql'; + +export { DISCOVER_APP_LOCATOR, DiscoverAppLocatorDefinition } from './locator'; +export type { DiscoverAppLocator, DiscoverAppLocatorParams } from './locator'; diff --git a/src/plugins/discover/public/locator.test.ts b/src/plugins/discover/common/locator.test.ts similarity index 97% rename from src/plugins/discover/public/locator.test.ts rename to src/plugins/discover/common/locator.test.ts index 221c7a4958fa6..9152b99072de5 100644 --- a/src/plugins/discover/public/locator.test.ts +++ b/src/plugins/discover/common/locator.test.ts @@ -6,7 +6,11 @@ * Side Public License, v 1. */ -import { hashedItemStore, getStatesFromKbnUrl } from '@kbn/kibana-utils-plugin/public'; +import { + hashedItemStore, + getStatesFromKbnUrl, + setStateToKbnUrl, +} from '@kbn/kibana-utils-plugin/public'; import { mockStorage } from '@kbn/kibana-utils-plugin/public/storage/hashed_item_store/mock'; import { FilterStateStore } from '@kbn/es-query'; import { DiscoverAppLocatorDefinition } from './locator'; @@ -20,7 +24,7 @@ interface SetupParams { } const setup = async ({ useHash = false }: SetupParams = {}) => { - const locator = new DiscoverAppLocatorDefinition({ useHash }); + const locator = new DiscoverAppLocatorDefinition({ useHash, setStateToKbnUrl }); return { locator, diff --git a/src/plugins/discover/public/locator.ts b/src/plugins/discover/common/locator.ts similarity index 88% rename from src/plugins/discover/public/locator.ts rename to src/plugins/discover/common/locator.ts index e803433c4d70c..77e501dbe40df 100644 --- a/src/plugins/discover/public/locator.ts +++ b/src/plugins/discover/common/locator.ts @@ -10,9 +10,9 @@ import type { SerializableRecord } from '@kbn/utility-types'; import type { Filter, TimeRange, Query, AggregateQuery } from '@kbn/es-query'; import type { GlobalQueryStateFromUrl, RefreshInterval } from '@kbn/data-plugin/public'; import type { LocatorDefinition, LocatorPublic } from '@kbn/share-plugin/public'; -import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/public'; -import { DataViewSpec } from '@kbn/data-views-plugin/public'; -import type { VIEW_MODE } from './components/view_mode_toggle'; +import { DataViewSpec } from '@kbn/data-views-plugin/common'; +import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/common'; +import { VIEW_MODE } from './constants'; export const DISCOVER_APP_LOCATOR = 'DISCOVER_APP_LOCATOR'; @@ -95,12 +95,17 @@ export interface DiscoverAppLocatorParams extends SerializableRecord { * Breakdown field */ breakdownField?: string; + /** + * Used when navigating to particular alert results + */ + isAlertResults?: boolean; } export type DiscoverAppLocator = LocatorPublic; export interface DiscoverAppLocatorDependencies { useHash: boolean; + setStateToKbnUrl: typeof setStateToKbnUrl; } /** @@ -108,6 +113,7 @@ export interface DiscoverAppLocatorDependencies { */ export interface MainHistoryLocationState { dataViewSpec?: DataViewSpec; + isAlertResults?: boolean; } export class DiscoverAppLocatorDefinition implements LocatorDefinition { @@ -134,6 +140,7 @@ export class DiscoverAppLocatorDefinition implements LocatorDefinition('_g', queryState, { useHash }, path); - path = setStateToKbnUrl('_a', appState, { useHash }, path); + path = this.deps.setStateToKbnUrl('_g', queryState, { useHash }, path); + path = this.deps.setStateToKbnUrl('_a', appState, { useHash }, path); if (searchSessionId) { path = `${path}&searchSessionId=${searchSessionId}`; diff --git a/src/plugins/discover/public/__mocks__/data_view.ts b/src/plugins/discover/public/__mocks__/data_view.ts index a70c7a6480187..b63321674ce7b 100644 --- a/src/plugins/discover/public/__mocks__/data_view.ts +++ b/src/plugins/discover/public/__mocks__/data_view.ts @@ -98,6 +98,7 @@ export const buildDataViewMock = ({ name, metaFields: ['_index', '_score'], fields: dataViewFields, + type: 'default', getName: () => name, getComputedFields: () => ({ docvalueFields: [], scriptFields: {}, storedFields: ['*'] }), getSourceFiltering: () => ({}), diff --git a/src/plugins/discover/public/__mocks__/discover_state.mock.ts b/src/plugins/discover/public/__mocks__/discover_state.mock.ts index 30c40ef77bfb9..7155dd33ac5c0 100644 --- a/src/plugins/discover/public/__mocks__/discover_state.mock.ts +++ b/src/plugins/discover/public/__mocks__/discover_state.mock.ts @@ -6,14 +6,14 @@ * Side Public License, v 1. */ import { createBrowserHistory } from 'history'; -import { getState } from '../application/main/services/discover_state'; +import { getDiscoverStateContainer } from '../application/main/services/discover_state'; import { savedSearchMockWithTimeField, savedSearchMock } from './saved_search'; import { discoverServiceMock } from './services'; export function getDiscoverStateMock({ isTimeBased = true }) { const history = createBrowserHistory(); history.push('/'); - return getState({ + return getDiscoverStateContainer({ savedSearch: isTimeBased ? savedSearchMockWithTimeField : savedSearchMock, services: discoverServiceMock, history, diff --git a/src/plugins/discover/public/__mocks__/grid_context.ts b/src/plugins/discover/public/__mocks__/grid_context.ts index bde810d0e51a5..97f8e1ac62d45 100644 --- a/src/plugins/discover/public/__mocks__/grid_context.ts +++ b/src/plugins/discover/public/__mocks__/grid_context.ts @@ -35,7 +35,7 @@ const buildGridContext = (dataView: DataView, rows: EsHitRecord[]): GridContext convertValueToString({ rowIndex, columnId, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, rows: usedRows, dataView, options, diff --git a/src/plugins/discover/public/application/context/context_app.scss b/src/plugins/discover/public/application/context/context_app.scss index fa29b0513055c..13593a7ed32dd 100644 --- a/src/plugins/discover/public/application/context/context_app.scss +++ b/src/plugins/discover/public/application/context/context_app.scss @@ -1,4 +1,4 @@ -@import 'src/core/public/mixins'; +@import '../../../../../core/public/mixins'; .dscDocsPage { @include kibanaFullBodyHeight(54px); // action bar height diff --git a/src/plugins/discover/public/application/context/context_app.tsx b/src/plugins/discover/public/application/context/context_app.tsx index 7fc2d60fe1040..efd8992e48ca8 100644 --- a/src/plugins/discover/public/application/context/context_app.tsx +++ b/src/plugins/discover/public/application/context/context_app.tsx @@ -66,9 +66,10 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => config: uiSettings, dataView, dataViews, - state: appState, useNewFieldsApi, setAppState: stateContainer.setAppState, + columns: appState.columns, + sort: appState.sort, }); useEffect(() => { diff --git a/src/plugins/discover/public/application/context/context_app_content.tsx b/src/plugins/discover/public/application/context/context_app_content.tsx index 4bfbee1397f9f..e6e6e995069ae 100644 --- a/src/plugins/discover/public/application/context/context_app_content.tsx +++ b/src/plugins/discover/public/application/context/context_app_content.tsx @@ -75,6 +75,7 @@ export function ContextAppContent({ addFilter, }: ContextAppContentProps) { const { uiSettings: config } = useDiscoverServices(); + const services = useDiscoverServices(); const [expandedDoc, setExpandedDoc] = useState(); const isAnchorLoading = @@ -162,6 +163,7 @@ export function ContextAppContent({ onRemoveColumn={onRemoveColumn} onSetColumns={onSetColumns} DocumentView={DiscoverGridFlyout} + services={services} />
)} diff --git a/src/plugins/discover/public/application/main/components/field_stats_table/field_stats_table.tsx b/src/plugins/discover/public/application/main/components/field_stats_table/field_stats_table.tsx index 5bf395c6fdb8c..88479e0ee10b0 100644 --- a/src/plugins/discover/public/application/main/components/field_stats_table/field_stats_table.tsx +++ b/src/plugins/discover/public/application/main/components/field_stats_table/field_stats_table.tsx @@ -22,7 +22,7 @@ import { EuiFlexItem } from '@elastic/eui'; import { css } from '@emotion/react'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { FIELD_STATISTICS_LOADED } from './constants'; -import type { GetStateReturn } from '../../services/discover_state'; +import type { DiscoverStateContainer } from '../../services/discover_state'; import { AvailableFields$, DataRefetch$, DataTotalHits$ } from '../../hooks/use_saved_search'; export interface RandomSamplingOption { mode: 'random_sampling'; @@ -95,7 +95,7 @@ export interface FieldStatisticsTableProps { /** * State container with persisted settings */ - stateContainer?: GetStateReturn; + stateContainer?: DiscoverStateContainer; /** * Callback to add a filter to filter bar */ @@ -136,8 +136,7 @@ export const FieldStatisticsTable = (props: FieldStatisticsTableProps) => { const embeddableRoot: React.RefObject = useRef(null); const showPreviewByDefault = useMemo( - () => - stateContainer ? !stateContainer.appStateContainer.getState().hideAggregatedPreview : true, + () => (stateContainer ? !stateContainer.appState.getState().hideAggregatedPreview : true), [stateContainer] ); diff --git a/src/plugins/discover/public/application/main/components/layout/__stories__/discover_layout.stories.tsx b/src/plugins/discover/public/application/main/components/layout/__stories__/discover_layout.stories.tsx index 771a3e6b1072d..8392bb7c0ed49 100644 --- a/src/plugins/discover/public/application/main/components/layout/__stories__/discover_layout.stories.tsx +++ b/src/plugins/discover/public/application/main/components/layout/__stories__/discover_layout.stories.tsx @@ -9,18 +9,18 @@ import React, { useState } from 'react'; import { storiesOf } from '@storybook/react'; import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; +import { AppState } from '../../../services/discover_app_state_container'; import { getDataViewMock } from '../../../../../__mocks__/__storybook_mocks__/get_data_view_mock'; import { withDiscoverServices } from '../../../../../__mocks__/__storybook_mocks__/with_discover_services'; import { getDocumentsLayoutProps, getPlainRecordLayoutProps } from './get_layout_props'; import { DiscoverLayout } from '../discover_layout'; import { setHeaderActionMenuMounter } from '../../../../../kibana_services'; -import { AppState } from '../../../services/discover_state'; import { DiscoverLayoutProps } from '../types'; setHeaderActionMenuMounter(() => void 0); const DiscoverLayoutStory = (layoutProps: DiscoverLayoutProps) => { - const [state, setState] = useState(layoutProps.state); + const [state, setState] = useState({}); const setAppState = (newState: Partial) => { setState((prevState) => ({ ...prevState, ...newState })); @@ -31,10 +31,9 @@ const DiscoverLayoutStory = (layoutProps: DiscoverLayoutProps) => { return ( diff --git a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts index 334e899b04aee..f5b64ebf85adc 100644 --- a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts +++ b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts @@ -23,7 +23,7 @@ import { buildDataTableRecordList } from '../../../../../utils/build_data_record import { esHits } from '../../../../../__mocks__/es_hits'; import { SavedSearch } from '../../../../..'; import { DiscoverLayoutProps } from '../types'; -import { GetStateReturn } from '../../../services/discover_state'; +import { DiscoverStateContainer } from '../../../services/discover_state'; const documentObservables = { main$: new BehaviorSubject({ @@ -91,16 +91,15 @@ const getCommonProps = (dataView: DataView) => { savedSearch: savedSearchMock, savedSearchRefetch$: new Subject(), searchSource: searchSourceMock, - stateContainer: { setAppState: action('Set app state'), - appStateContainer: { + appState: { getState: () => ({ interval: 'auto', }), setState: action('Set app state'), }, - } as unknown as GetStateReturn, + } as unknown as DiscoverStateContainer, setExpandedDoc: action('opening an expanded doc'), }; }; diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx index dca425977b359..c6af7846a4d23 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx @@ -12,7 +12,7 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; import { esHits } from '../../../../__mocks__/es_hits'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; -import { AppState, GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { DataDocuments$ } from '../../hooks/use_saved_search'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; @@ -21,6 +21,9 @@ import { dataViewMock } from '../../../../__mocks__/data_view'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { buildDataTableRecord } from '../../../../utils/build_data_record'; import { EsHitRecord } from '../../../../types'; +import { DiscoverMainProvider } from '../../services/discover_state_provider'; +import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; +import { AppState } from '../../services/discover_app_state_container'; setHeaderActionMenuMounter(jest.fn()); @@ -34,6 +37,8 @@ function mountComponent(fetchStatus: FetchStatus, hits: EsHitRecord[]) { fetchStatus, result: hits.map((hit) => buildDataTableRecord(hit, dataViewMock)), }) as DataDocuments$; + const stateContainer = getDiscoverStateMock({}); + stateContainer.setAppState({ index: dataViewMock.id }); const props = { expandedDoc: undefined, @@ -44,14 +49,16 @@ function mountComponent(fetchStatus: FetchStatus, hits: EsHitRecord[]) { searchSource: documents$, setExpandedDoc: jest.fn(), state: { columns: [] }, - stateContainer: { setAppState: () => {} } as unknown as GetStateReturn, + stateContainer, navigateTo: jest.fn(), onFieldEdited: jest.fn(), }; return mountWithIntl( - + + + ); } @@ -83,15 +90,17 @@ describe('Discover documents layout', () => { setAppState: (newState: Partial) => { state = { ...state, ...newState }; }, - } as unknown as GetStateReturn; + appState: { + getState: () => state, + }, + } as unknown as DiscoverStateContainer; onResize( { columnId: 'someField', width: 205.5435345534, }, - stateContainer, - state + stateContainer ); expect(state.grid?.columns?.someField.width).toEqual(206); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx index db434c2ae15bd..fbded519b956a 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx @@ -16,6 +16,7 @@ import { import { FormattedMessage } from '@kbn/i18n-react'; import { DataView } from '@kbn/data-views-plugin/public'; import { SavedSearch, SortOrder } from '@kbn/saved-search-plugin/public'; +import { useAppStateSelector } from '../../services/discover_app_state_container'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { DocViewFilterFn } from '../../../../services/doc_views/doc_views_types'; import { DiscoverGrid } from '../../../../components/discover_grid/discover_grid'; @@ -29,7 +30,7 @@ import { } from '../../../../../common'; import { useColumns } from '../../../../hooks/use_data_grid_columns'; import { DataDocuments$, RecordRawType } from '../../hooks/use_saved_search'; -import { AppState, GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { useDataState } from '../../hooks/use_data_state'; import { DocTableInfinite } from '../../../../components/doc_table/doc_table_infinite'; import { DocumentExplorerCallout } from '../document_explorer_callout'; @@ -45,9 +46,9 @@ const DataGridMemoized = React.memo(DiscoverGrid); // export needs for testing export const onResize = ( colSettings: { columnId: string; width: number }, - stateContainer: GetStateReturn, - state: AppState + stateContainer: DiscoverStateContainer ) => { + const state = stateContainer.appState.getState(); const grid = { ...(state.grid || {}) }; const newColumns = { ...(grid.columns || {}) }; newColumns[colSettings.columnId] = { @@ -64,7 +65,6 @@ function DiscoverDocumentsComponent({ onAddFilter, savedSearch, setExpandedDoc, - state, stateContainer, onFieldEdited, }: { @@ -75,49 +75,76 @@ function DiscoverDocumentsComponent({ onAddFilter?: DocViewFilterFn; savedSearch: SavedSearch; setExpandedDoc: (doc?: DataTableRecord) => void; - state: AppState; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; onFieldEdited?: () => void; }) { - const { capabilities, dataViews, uiSettings } = useDiscoverServices(); + const services = useDiscoverServices(); + const { dataViews, capabilities, uiSettings } = services; + const [query, sort, rowHeight, rowsPerPage, grid, columns, index] = useAppStateSelector( + (state) => { + return [ + state.query, + state.sort, + state.rowHeight, + state.rowsPerPage, + state.grid, + state.columns, + state.index, + ]; + } + ); + const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]); const hideAnnouncements = useMemo(() => uiSettings.get(HIDE_ANNOUNCEMENTS), [uiSettings]); const isLegacy = useMemo(() => uiSettings.get(DOC_TABLE_LEGACY), [uiSettings]); const sampleSize = useMemo(() => uiSettings.get(SAMPLE_SIZE_SETTING), [uiSettings]); const documentState = useDataState(documents$); - const isLoading = documentState.fetchStatus === FetchStatus.LOADING; - const isPlainRecord = useMemo( - () => getRawRecordType(state.query) === RecordRawType.PLAIN, - [state.query] - ); + const isDataLoading = documentState.fetchStatus === FetchStatus.LOADING; + // This is needed to prevent EuiDataGrid pushing onSort because the data view has been switched. + // 1. When switching the data view, the sorting in the URL is reset to the default sorting of the selected data view. + // 2. The new sort param is already available in this component and propagated to the EuiDataGrid. + // 3. currentColumns are still referring to the old state + // 4. since the new sort by field isn't available in currentColumns EuiDataGrid is emitting a 'onSort', which is unsorting the grid + // 5. this is propagated to Discover's URL and causes an unwanted change of state to an unsorted state + // This solution switches to the loading state in this component when the URL index doesn't match the dataView.id + const isDataViewLoading = index && dataView.id && index !== dataView.id; + const isEmptyDataResult = !documentState.result || documentState.result.length === 0; + const isPlainRecord = useMemo(() => getRawRecordType(query) === RecordRawType.PLAIN, [query]); const rows = useMemo(() => documentState.result || [], [documentState.result]); - const { columns, onAddColumn, onRemoveColumn, onMoveColumn, onSetColumns } = useColumns({ + const { + columns: currentColumns, + onAddColumn, + onRemoveColumn, + onMoveColumn, + onSetColumns, + } = useColumns({ capabilities, config: uiSettings, dataView, dataViews, setAppState: stateContainer.setAppState, - state, useNewFieldsApi, + columns, + sort, }); const onResizeDataGrid = useCallback( - (colSettings) => onResize(colSettings, stateContainer, state), - [stateContainer, state] + (colSettings) => onResize(colSettings, stateContainer), + [stateContainer] ); const onUpdateRowsPerPage = useCallback( - (rowsPerPage: number) => { - stateContainer.setAppState({ rowsPerPage }); + (nextRowsPerPage: number) => { + stateContainer.setAppState({ rowsPerPage: nextRowsPerPage }); }, [stateContainer] ); const onSort = useCallback( - (sort: string[][]) => { - stateContainer.setAppState({ sort }); + (nextSort: string[][]) => { + stateContainer.setAppState({ sort: nextSort }); }, [stateContainer] ); @@ -137,10 +164,7 @@ function DiscoverDocumentsComponent({ [isPlainRecord, uiSettings, dataView.timeFieldName] ); - if ( - (!documentState.result || documentState.result.length === 0) && - documentState.fetchStatus === FetchStatus.LOADING - ) { + if (isDataViewLoading || (isEmptyDataResult && isDataLoading)) { return (
@@ -163,11 +187,11 @@ function DiscoverDocumentsComponent({ <> {!hideAnnouncements && }
diff --git a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx index 5f2b0f9e434d7..48eeaaaef4ac8 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx @@ -12,7 +12,6 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import { esHits } from '../../../../__mocks__/es_hits'; import { dataViewMock } from '../../../../__mocks__/data_view'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; -import { GetStateReturn } from '../../services/discover_state'; import { AvailableFields$, DataDocuments$, @@ -28,7 +27,6 @@ import { DiscoverHistogramLayout, DiscoverHistogramLayoutProps } from './discove import { SavedSearch, VIEW_MODE } from '@kbn/saved-search-plugin/public'; import { CoreTheme } from '@kbn/core/public'; import { act } from 'react-dom/test-utils'; -import { setTimeout } from 'timers/promises'; import { Storage } from '@kbn/kibana-utils-plugin/public'; import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; import { HISTOGRAM_HEIGHT_KEY } from './use_discover_histogram'; @@ -38,17 +36,30 @@ import { searchSourceInstanceMock } from '@kbn/data-plugin/common/search/search_ import { UnifiedHistogramLayout } from '@kbn/unified-histogram-plugin/public'; import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; import { ResetSearchButton } from './reset_search_button'; +import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; +import { DiscoverMainProvider } from '../../services/discover_state_provider'; -const mountComponent = async ({ +function getStateContainer() { + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + + stateContainer.setAppState({ + interval: 'auto', + hideChart: false, + }); + + stateContainer.setAppState = jest.fn(); + + return stateContainer; +} + +const mountComponent = ({ isPlainRecord = false, - hideChart = false, isTimeBased = true, storage, savedSearch = savedSearchMock, resetSavedSearch = jest.fn(), }: { isPlainRecord?: boolean; - hideChart?: boolean; isTimeBased?: boolean; storage?: Storage; savedSearch?: SavedSearch; @@ -103,6 +114,8 @@ const mountComponent = async ({ session.getSession$.mockReturnValue(new BehaviorSubject('123')); + const stateContainer = getStateContainer(); + const props: DiscoverHistogramLayoutProps = { isPlainRecord, dataView: dataViewMock, @@ -111,15 +124,7 @@ const mountComponent = async ({ savedSearch, savedSearchData$, savedSearchRefetch$: new Subject(), - state: { columns: [], hideChart }, - stateContainer: { - setAppState: () => {}, - appStateContainer: { - getState: () => ({ - interval: 'auto', - }), - }, - } as unknown as GetStateReturn, + stateContainer, onFieldEdited: jest.fn(), columns: [], viewMode: VIEW_MODE.DOCUMENT_LEVEL, @@ -136,16 +141,13 @@ const mountComponent = async ({ const component = mountWithIntl( - + + + ); - // DiscoverMainContent uses UnifiedHistogramLayout which - // is lazy loaded, so we need to wait for it to be loaded - await act(() => setTimeout(0)); - component.update(); - return component; }; @@ -155,7 +157,7 @@ describe('Discover histogram layout component', () => { const storage = new LocalStorageMock({}) as unknown as Storage; const originalGet = storage.get; storage.get = jest.fn().mockImplementation(originalGet); - await mountComponent({ storage }); + mountComponent({ storage }); expect(storage.get).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY); }); @@ -163,7 +165,7 @@ describe('Discover histogram layout component', () => { const storage = new LocalStorageMock({}) as unknown as Storage; const originalGet = storage.get; storage.get = jest.fn().mockImplementation(originalGet); - const component = await mountComponent({ storage }); + const component = mountComponent({ storage }); expect(storage.get).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY); expect(storage.get).toHaveReturnedWith(null); expect(component.find(UnifiedHistogramLayout).prop('topPanelHeight')).toBe(undefined); @@ -173,7 +175,7 @@ describe('Discover histogram layout component', () => { const storage = new LocalStorageMock({}) as unknown as Storage; const topPanelHeight = 123; storage.get = jest.fn().mockImplementation(() => topPanelHeight); - const component = await mountComponent({ storage }); + const component = mountComponent({ storage }); expect(storage.get).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY); expect(storage.get).toHaveReturnedWith(topPanelHeight); expect(component.find(UnifiedHistogramLayout).prop('topPanelHeight')).toBe(topPanelHeight); @@ -183,7 +185,7 @@ describe('Discover histogram layout component', () => { const storage = new LocalStorageMock({}) as unknown as Storage; const originalSet = storage.set; storage.set = jest.fn().mockImplementation(originalSet); - const component = await mountComponent({ storage }); + const component = mountComponent({ storage }); const newTopPanelHeight = 123; expect(component.find(UnifiedHistogramLayout).prop('topPanelHeight')).not.toBe( newTopPanelHeight @@ -199,12 +201,12 @@ describe('Discover histogram layout component', () => { describe('reset search button', () => { it('renders the button when there is a saved search', async () => { - const component = await mountComponent(); + const component = mountComponent(); expect(component.find(ResetSearchButton).exists()).toBe(true); }); it('does not render the button when there is no saved search', async () => { - const component = await mountComponent({ + const component = mountComponent({ savedSearch: { ...savedSearchMock, id: undefined }, }); expect(component.find(ResetSearchButton).exists()).toBe(false); @@ -212,7 +214,7 @@ describe('Discover histogram layout component', () => { it('should call resetSavedSearch when clicked', async () => { const resetSavedSearch = jest.fn(); - const component = await mountComponent({ resetSavedSearch }); + const component = mountComponent({ resetSavedSearch }); component.find(ResetSearchButton).find('button').simulate('click'); expect(resetSavedSearch).toHaveBeenCalled(); }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.tsx b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.tsx index e6225a26ffea1..7c948d8a29f60 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.tsx @@ -30,7 +30,6 @@ export const DiscoverHistogramLayout = ({ resetSavedSearch, savedSearch, savedSearchData$, - state, stateContainer, isTimeBased, resizeRef, @@ -45,7 +44,6 @@ export const DiscoverHistogramLayout = ({ isPlainRecord, stateContainer, savedSearch, - state, savedSearchData$, }; diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.scss b/src/plugins/discover/public/application/main/components/layout/discover_layout.scss index a65c22b57b2ab..b2d9ab190e075 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.scss +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.scss @@ -1,4 +1,4 @@ -@import 'src/core/public/mixins'; +@import '../../../../../../../core/public/mixins'; discover-app { flex-grow: 1; diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx index 5b58cda5e0b96..6a9bd2d381d98 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx @@ -21,12 +21,11 @@ import { } from '@kbn/data-plugin/common/search/search_source/mocks'; import type { DataView } from '@kbn/data-views-plugin/public'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; -import { GetStateReturn } from '../../services/discover_state'; -import { DiscoverLayoutProps } from './types'; import { AvailableFields$, DataDocuments$, DataMain$, + DataRefetch$, DataTotalHits$, RecordRawType, } from '../../hooks/use_saved_search'; @@ -38,25 +37,14 @@ import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { DiscoverServices } from '../../../../build_services'; import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { DiscoverAppStateProvider } from '../../services/discover_app_state_container'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; -import { setTimeout } from 'timers/promises'; -import { act } from 'react-dom/test-utils'; import { createSearchSessionMock } from '../../../../__mocks__/search_session'; import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; - -function getAppStateContainer() { - const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appStateContainer; - appStateContainer.set({ - query: { query: '', language: 'lucene' }, - filters: [], - }); - return appStateContainer; -} +import { DiscoverMainProvider } from '../../services/discover_state_provider'; setHeaderActionMenuMounter(jest.fn()); -async function mountComponent( +function mountComponent( dataView: DataView, prevSidebarClosed?: boolean, mountOptions: { attachTo?: HTMLElement } = {}, @@ -79,7 +67,7 @@ async function mountComponent( jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: 2 } } })) ); - const dataViewList = [dataView]; + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); const main$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, @@ -113,9 +101,11 @@ async function mountComponent( session.getSession$.mockReturnValue(new BehaviorSubject('123')); + stateContainer.setAppState({ interval: 'auto', query }); + stateContainer.internalState.transitions.setDataView(dataView); + const props = { dataView, - dataViewList, inspectorAdapters: { requests: new RequestAdapter() }, navigateTo: jest.fn(), onChangeDataView: jest.fn(), @@ -123,55 +113,41 @@ async function mountComponent( resetSavedSearch: jest.fn(), savedSearch: savedSearchMock, savedSearchData$, - savedSearchRefetch$: new Subject(), + savedSearchRefetch$: new Subject() as DataRefetch$, searchSource: searchSourceMock, state: { columns: [], query, hideChart: false, interval: 'auto' }, - stateContainer: { - setAppState: () => {}, - appStateContainer: { - getState: () => ({ - interval: 'auto', - }), - }, - } as unknown as GetStateReturn, + stateContainer, setExpandedDoc: jest.fn(), persistDataView: jest.fn(), updateAdHocDataViewId: jest.fn(), - adHocDataViewList: [], searchSessionManager: createSearchSessionMock(session).searchSessionManager, - savedDataViewList: [], updateDataViewList: jest.fn(), }; const component = mountWithIntl( - - - + + + , mountOptions ); - // DiscoverMainContent uses UnifiedHistogramLayout which - // is lazy loaded, so we need to wait for it to be loaded - await act(() => setTimeout(0)); - await component.update(); - return component; } describe('Discover component', () => { test('selected data view without time field displays no chart toggle', async () => { const container = document.createElement('div'); - await mountComponent(dataViewMock, undefined, { attachTo: container }); + mountComponent(dataViewMock, undefined, { attachTo: container }); expect( container.querySelector('[data-test-subj="unifiedHistogramChartOptionsToggle"]') ).toBeNull(); - }); + }, 10000); test('selected data view with time field displays chart toggle', async () => { const container = document.createElement('div'); - await mountComponent(dataViewWithTimefieldMock, undefined, { attachTo: container }); + mountComponent(dataViewWithTimefieldMock, undefined, { attachTo: container }); expect( container.querySelector('[data-test-subj="unifiedHistogramChartOptionsToggle"]') ).not.toBeNull(); @@ -179,7 +155,7 @@ describe('Discover component', () => { test('sql query displays no chart toggle', async () => { const container = document.createElement('div'); - await mountComponent( + mountComponent( dataViewWithTimefieldMock, false, { attachTo: container }, @@ -194,7 +170,7 @@ describe('Discover component', () => { test('the saved search title h1 gains focus on navigate', async () => { const container = document.createElement('div'); document.body.appendChild(container); - const component = await mountComponent(dataViewWithTimefieldMock, undefined, { + const component = mountComponent(dataViewWithTimefieldMock, undefined, { attachTo: container, }); expect( @@ -204,18 +180,18 @@ describe('Discover component', () => { describe('sidebar', () => { test('should be opened if discover:sidebarClosed was not set', async () => { - const component = await mountComponent(dataViewWithTimefieldMock, undefined); + const component = mountComponent(dataViewWithTimefieldMock, undefined); expect(component.find(DiscoverSidebar).length).toBe(1); - }); + }, 10000); test('should be opened if discover:sidebarClosed is false', async () => { - const component = await mountComponent(dataViewWithTimefieldMock, false); + const component = mountComponent(dataViewWithTimefieldMock, false); expect(component.find(DiscoverSidebar).length).toBe(1); - }); + }, 10000); test('should be closed if discover:sidebarClosed is true', async () => { - const component = await mountComponent(dataViewWithTimefieldMock, true); + const component = mountComponent(dataViewWithTimefieldMock, true); expect(component.find(DiscoverSidebar).length).toBe(0); - }); + }, 10000); }); }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx index d8c5445fd5409..c9f52bd548f25 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx @@ -23,6 +23,9 @@ import { isOfQueryType } from '@kbn/es-query'; import classNames from 'classnames'; import { generateFilters } from '@kbn/data-plugin/public'; import { DataView, DataViewField, DataViewType } from '@kbn/data-views-plugin/public'; +import { VIEW_MODE } from '../../../../../common/constants'; +import { useInternalStateSelector } from '../../services/discover_internal_state_container'; +import { useAppStateSelector } from '../../services/discover_app_state_container'; import { useInspector } from '../../hooks/use_inspector'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { DiscoverNoResults } from '../no_results'; @@ -39,7 +42,6 @@ import { DataMainMsg, RecordRawType } from '../../hooks/use_saved_search'; import { useColumns } from '../../../../hooks/use_data_grid_columns'; import { FetchStatus } from '../../../types'; import { useDataState } from '../../hooks/use_data_state'; -import { VIEW_MODE } from '../../../../components/view_mode_toggle'; import { hasActiveFilter } from './utils'; import { getRawRecordType } from '../../utils/get_raw_record_type'; import { SavedSearchURLConflictCallout } from '../../../../components/saved_search_url_conflict_callout/saved_search_url_conflict_callout'; @@ -54,8 +56,6 @@ const SidebarMemoized = React.memo(DiscoverSidebarResponsive); const TopNavMemoized = React.memo(DiscoverTopNav); export function DiscoverLayout({ - dataView, - dataViewList, inspectorAdapters, expandedDoc, navigateTo, @@ -67,13 +67,10 @@ export function DiscoverLayout({ savedSearchData$, savedSearch, searchSource, - state, stateContainer, persistDataView, updateAdHocDataViewId, - adHocDataViewList, searchSessionManager, - savedDataViewList, updateDataViewList, }: DiscoverLayoutProps) { const { @@ -89,12 +86,19 @@ export function DiscoverLayout({ inspector, } = useDiscoverServices(); const { main$ } = savedSearchData$; - const dataState: DataMainMsg = useDataState(main$); - - const viewMode = useMemo(() => { + const [query, savedQuery, filters, columns, sort] = useAppStateSelector((state) => [ + state.query, + state.savedQuery, + state.filters, + state.columns, + state.sort, + ]); + const viewMode: VIEW_MODE = useAppStateSelector((state) => { if (uiSettings.get(SHOW_FIELD_STATISTICS) !== true) return VIEW_MODE.DOCUMENT_LEVEL; return state.viewMode ?? VIEW_MODE.DOCUMENT_LEVEL; - }, [uiSettings, state.viewMode]); + }); + const dataView = useInternalStateSelector((state) => state.dataView!); + const dataState: DataMainMsg = useDataState(main$); const fetchCounter = useRef(0); @@ -116,10 +120,7 @@ export function DiscoverLayout({ const [isSidebarClosed, setIsSidebarClosed] = useState(initialSidebarClosed); const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]); - const isPlainRecord = useMemo( - () => getRawRecordType(state.query) === RecordRawType.PLAIN, - [state.query] - ); + const isPlainRecord = useMemo(() => getRawRecordType(query) === RecordRawType.PLAIN, [query]); const resultState = useMemo( () => getResultState(dataState.fetchStatus, dataState.foundDocuments!, isPlainRecord), [dataState.fetchStatus, dataState.foundDocuments, isPlainRecord] @@ -132,14 +133,19 @@ export function DiscoverLayout({ savedSearch, }); - const { columns, onAddColumn, onRemoveColumn } = useColumns({ + const { + columns: currentColumns, + onAddColumn, + onRemoveColumn, + } = useColumns({ capabilities, config: uiSettings, dataView, dataViews, setAppState: stateContainer.setAppState, - state, useNewFieldsApi, + columns, + sort, }); const onAddFilter = useCallback( @@ -158,7 +164,6 @@ export function DiscoverLayout({ const onFieldEdited = useCallback(async () => { if (!dataView.isPersisted()) { await updateAdHocDataViewId(dataView); - return; } savedSearchRefetch$.next('reset'); }, [dataView, savedSearchRefetch$, updateAdHocDataViewId]); @@ -177,12 +182,17 @@ export function DiscoverLayout({ const contentCentered = resultState === 'uninitialized' || resultState === 'none'; const onDataViewCreated = useCallback( - (nextDataView: DataView) => { + async (nextDataView: DataView) => { + if (!nextDataView.isPersisted()) { + stateContainer.actions.appendAdHocDataViews(nextDataView); + } else { + await stateContainer.actions.loadDataViewList(); + } if (nextDataView.id) { onChangeDataView(nextDataView.id); } }, - [onChangeDataView] + [onChangeDataView, stateContainer] ); const savedSearchTitle = useRef(null); @@ -205,8 +215,8 @@ export function DiscoverLayout({ isTimeBased={isTimeBased} data={data} error={dataState.error} - hasQuery={isOfQueryType(state.query) && !!state.query?.query} - hasFilters={hasActiveFilter(state.filters)} + hasQuery={isOfQueryType(query) && !!query?.query} + hasFilters={hasActiveFilter(filters)} onDisableFilters={onDisableFilters} /> ); @@ -228,13 +238,12 @@ export function DiscoverLayout({ savedSearch={savedSearch} savedSearchData$={savedSearchData$} savedSearchRefetch$={savedSearchRefetch$} - state={state} stateContainer={stateContainer} isTimeBased={isTimeBased} + columns={currentColumns} viewMode={viewMode} onAddFilter={onAddFilter as DocViewFilterFn} onFieldEdited={onFieldEdited} - columns={columns} resizeRef={resizeRef} inspectorAdapters={inspectorAdapters} searchSessionManager={searchSessionManager} @@ -243,11 +252,12 @@ export function DiscoverLayout({ ); }, [ - columns, + currentColumns, data, dataState.error, dataView, expandedDoc, + filters, inspectorAdapters, isPlainRecord, isTimeBased, @@ -255,6 +265,7 @@ export function DiscoverLayout({ onAddFilter, onDisableFilters, onFieldEdited, + query, resetSavedSearch, resultState, savedSearch, @@ -262,7 +273,6 @@ export function DiscoverLayout({ savedSearchRefetch$, searchSessionManager, setExpandedDoc, - state, stateContainer, viewMode, ]); @@ -288,24 +298,22 @@ export function DiscoverLayout({ })} @@ -317,10 +325,9 @@ export function DiscoverLayout({ { - const services = createDiscoverServicesMock(); + let services = createDiscoverServicesMock(); (services.data.query.queryString.getDefaultQuery as jest.Mock).mockReturnValue({ language: 'kuery', @@ -51,6 +57,10 @@ const mountComponent = async ({ jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: 2 } } })) ); + if (storage) { + services = { ...services, storage }; + } + const main$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, recordRawType: isPlainRecord ? RecordRawType.PLAIN : RecordRawType.DOCUMENT, @@ -78,24 +88,22 @@ const mountComponent = async ({ totalHits$, availableFields$, }; + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + stateContainer.setAppState({ + interval: 'auto', + hideChart, + columns: [], + }); const props: DiscoverMainContentProps = { isPlainRecord, dataView: dataViewMock, navigateTo: jest.fn(), setExpandedDoc: jest.fn(), - savedSearch: savedSearchMock, + savedSearch, savedSearchData$, savedSearchRefetch$: new Subject(), - state: { columns: [], hideChart: false }, - stateContainer: { - setAppState: () => {}, - appStateContainer: { - getState: () => ({ - interval: 'auto', - }), - }, - } as unknown as GetStateReturn, + stateContainer, onFieldEdited: jest.fn(), columns: [], viewMode, @@ -107,41 +115,38 @@ const mountComponent = async ({ const component = mountWithIntl( - + + + ); - // DiscoverMainContent uses UnifiedHistogramLayout which - // is lazy loaded, so we need to wait for it to be loaded - await act(() => setTimeout(0)); - component.update(); - return component; }; describe('Discover main content component', () => { describe('DocumentViewModeToggle', () => { it('should show DocumentViewModeToggle when isPlainRecord is false', async () => { - const component = await mountComponent(); + const component = mountComponent(); expect(component.find(DocumentViewModeToggle).exists()).toBe(true); }); it('should not show DocumentViewModeToggle when isPlainRecord is true', async () => { - const component = await mountComponent({ isPlainRecord: true }); + const component = mountComponent({ isPlainRecord: true }); expect(component.find(DocumentViewModeToggle).exists()).toBe(false); }); }); describe('Document view', () => { it('should show DiscoverDocuments when VIEW_MODE is DOCUMENT_LEVEL', async () => { - const component = await mountComponent(); + const component = mountComponent(); expect(component.find(DiscoverDocuments).exists()).toBe(true); expect(component.find(FieldStatisticsTab).exists()).toBe(false); }); it('should show FieldStatisticsTableMemoized when VIEW_MODE is not DOCUMENT_LEVEL', async () => { - const component = await mountComponent({ viewMode: VIEW_MODE.AGGREGATED_LEVEL }); + const component = mountComponent({ viewMode: VIEW_MODE.AGGREGATED_LEVEL }); expect(component.find(DiscoverDocuments).exists()).toBe(false); expect(component.find(FieldStatisticsTab).exists()).toBe(true); }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx index 98b15fe9e5999..f91de3b2a02d3 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx @@ -11,12 +11,13 @@ import { SavedSearch } from '@kbn/saved-search-plugin/public'; import React, { useCallback } from 'react'; import { DataView } from '@kbn/data-views-plugin/common'; import { METRIC_TYPE } from '@kbn/analytics'; +import { VIEW_MODE } from '../../../../../common/constants'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { DataTableRecord } from '../../../../types'; -import { DocumentViewModeToggle, VIEW_MODE } from '../../../../components/view_mode_toggle'; +import { DocumentViewModeToggle } from '../../../../components/view_mode_toggle'; import { DocViewFilterFn } from '../../../../services/doc_views/doc_views_types'; import { DataRefetch$, SavedSearchData } from '../../hooks/use_saved_search'; -import { AppState, GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { FieldStatisticsTab } from '../field_stats_table'; import { DiscoverDocuments } from './discover_documents'; import { DOCUMENTS_VIEW_CLICK, FIELD_STATISTICS_VIEW_CLICK } from '../field_stats_table/constants'; @@ -28,14 +29,13 @@ export interface DiscoverMainContentProps { navigateTo: (url: string) => void; savedSearchData$: SavedSearchData; savedSearchRefetch$: DataRefetch$; + stateContainer: DiscoverStateContainer; expandedDoc?: DataTableRecord; setExpandedDoc: (doc?: DataTableRecord) => void; viewMode: VIEW_MODE; onAddFilter: DocViewFilterFn | undefined; onFieldEdited: () => Promise; columns: string[]; - state: AppState; - stateContainer: GetStateReturn; } export const DiscoverMainContent = ({ @@ -50,7 +50,6 @@ export const DiscoverMainContent = ({ onAddFilter, onFieldEdited, columns, - state, stateContainer, savedSearch, }: DiscoverMainContentProps) => { @@ -93,7 +92,6 @@ export const DiscoverMainContent = ({ onAddFilter={!isPlainRecord ? onAddFilter : undefined} savedSearch={savedSearch} setExpandedDoc={setExpandedDoc} - state={state} stateContainer={stateContainer} onFieldEdited={!isPlainRecord ? onFieldEdited : undefined} /> diff --git a/src/plugins/discover/public/application/main/components/layout/types.ts b/src/plugins/discover/public/application/main/components/layout/types.ts index 24b0a47f6f2a6..f2a8ebe9269e8 100644 --- a/src/plugins/discover/public/application/main/components/layout/types.ts +++ b/src/plugins/discover/public/application/main/components/layout/types.ts @@ -8,17 +8,15 @@ import type { Query, TimeRange, AggregateQuery } from '@kbn/es-query'; import type { DataView } from '@kbn/data-views-plugin/public'; -import type { DataViewListItem, ISearchSource } from '@kbn/data-plugin/public'; +import type { ISearchSource } from '@kbn/data-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { DataTableRecord } from '../../../../types'; -import { AppState, GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { DataRefetch$, SavedSearchData } from '../../hooks/use_saved_search'; import type { DiscoverSearchSessionManager } from '../../services/discover_search_session'; import type { InspectorAdapters } from '../../hooks/use_inspector'; export interface DiscoverLayoutProps { - dataView: DataView; - dataViewList: DataViewListItem[]; inspectorAdapters: InspectorAdapters; navigateTo: (url: string) => void; onChangeDataView: (id: string) => void; @@ -33,12 +31,9 @@ export interface DiscoverLayoutProps { savedSearchData$: SavedSearchData; savedSearchRefetch$: DataRefetch$; searchSource: ISearchSource; - state: AppState; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; persistDataView: (dataView: DataView) => Promise; - updateDataViewList: (dataViews: DataView[]) => Promise; updateAdHocDataViewId: (dataView: DataView) => Promise; - adHocDataViewList: DataView[]; searchSessionManager: DiscoverSearchSessionManager; - savedDataViewList: DataViewListItem[]; + updateDataViewList: (newAdHocDataViews: DataView[]) => void; } diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.ts b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.ts deleted file mode 100644 index b562ed1f6df07..0000000000000 --- a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.ts +++ /dev/null @@ -1,477 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { act, renderHook } from '@testing-library/react-hooks'; -import { BehaviorSubject } from 'rxjs'; -import { FetchStatus } from '../../../types'; -import { - AvailableFields$, - DataDocuments$, - DataMain$, - DataTotalHits$, - RecordRawType, -} from '../../hooks/use_saved_search'; -import type { AppState, GetStateReturn } from '../../services/discover_state'; -import { savedSearchMock } from '../../../../__mocks__/saved_search'; -import type { Storage } from '@kbn/kibana-utils-plugin/public'; -import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; -import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; -import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; -import { - CHART_HIDDEN_KEY, - HISTOGRAM_HEIGHT_KEY, - useDiscoverHistogram, -} from './use_discover_histogram'; -import { setTimeout } from 'timers/promises'; -import { calculateBounds } from '@kbn/data-plugin/public'; -import { createSearchSessionMock } from '../../../../__mocks__/search_session'; -import { RequestAdapter } from '@kbn/inspector-plugin/public'; -import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; -import { UnifiedHistogramFetchStatus } from '@kbn/unified-histogram-plugin/public'; -import { checkHitCount, sendErrorTo } from '../../hooks/use_saved_search_messages'; -import type { InspectorAdapters } from '../../hooks/use_inspector'; -import type { TypedLensByValueInput } from '@kbn/lens-plugin/public'; -import { DiscoverSearchSessionManager } from '../../services/discover_search_session'; - -const mockData = dataPluginMock.createStartContract(); - -mockData.query.timefilter.timefilter.getTime = () => { - return { from: '1991-03-29T08:04:00.694Z', to: '2021-03-29T07:04:00.695Z' }; -}; -mockData.query.timefilter.timefilter.calculateBounds = (timeRange) => { - return calculateBounds(timeRange); -}; - -const mockLens = { - navigateToPrefilledEditor: jest.fn(), -}; - -let mockStorage = new LocalStorageMock({}) as unknown as Storage; -let mockCanVisualize = true; - -jest.mock('../../../../hooks/use_discover_services', () => { - const originalModule = jest.requireActual('../../../../hooks/use_discover_services'); - return { - ...originalModule, - useDiscoverServices: () => ({ storage: mockStorage, data: mockData, lens: mockLens }), - }; -}); - -jest.mock('@kbn/unified-field-list-plugin/public', () => { - const originalModule = jest.requireActual('@kbn/unified-field-list-plugin/public'); - return { - ...originalModule, - getVisualizeInformation: jest.fn(() => Promise.resolve(mockCanVisualize)), - }; -}); - -jest.mock('../../hooks/use_saved_search_messages', () => { - const originalModule = jest.requireActual('../../hooks/use_saved_search_messages'); - return { - ...originalModule, - checkHitCount: jest.fn(originalModule.checkHitCount), - sendErrorTo: jest.fn(originalModule.sendErrorTo), - }; -}); - -const mockCheckHitCount = checkHitCount as jest.MockedFunction; - -describe('useDiscoverHistogram', () => { - const renderUseDiscoverHistogram = async ({ - isPlainRecord = false, - isTimeBased = true, - canVisualize = true, - storage = new LocalStorageMock({}) as unknown as Storage, - state = { interval: 'auto', hideChart: false, breakdownField: 'extension' }, - stateContainer = {}, - searchSessionManager, - searchSessionId = '123', - inspectorAdapters = { requests: new RequestAdapter() }, - totalHits$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), - }) as DataTotalHits$, - main$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - recordRawType: isPlainRecord ? RecordRawType.PLAIN : RecordRawType.DOCUMENT, - foundDocuments: true, - }) as DataMain$, - }: { - isPlainRecord?: boolean; - isTimeBased?: boolean; - canVisualize?: boolean; - storage?: Storage; - state?: AppState; - stateContainer?: unknown; - searchSessionManager?: DiscoverSearchSessionManager; - searchSessionId?: string | null; - inspectorAdapters?: InspectorAdapters; - totalHits$?: DataTotalHits$; - main$?: DataMain$; - } = {}) => { - mockStorage = storage; - mockCanVisualize = canVisualize; - - const documents$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewWithTimefieldMock)), - }) as DataDocuments$; - - const availableFields$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - fields: [] as string[], - }) as AvailableFields$; - - const savedSearchData$ = { - main$, - documents$, - totalHits$, - availableFields$, - }; - - if (!searchSessionManager) { - const session = getSessionServiceMock(); - session.getSession$.mockReturnValue(new BehaviorSubject(searchSessionId ?? undefined)); - searchSessionManager = createSearchSessionMock(session).searchSessionManager; - } - - const initialProps = { - stateContainer: stateContainer as GetStateReturn, - state, - savedSearchData$, - dataView: dataViewWithTimefieldMock, - savedSearch: savedSearchMock, - isTimeBased, - isPlainRecord, - inspectorAdapters, - searchSessionManager: searchSessionManager!, - }; - - const hook = renderHook( - (props: Parameters[0]) => useDiscoverHistogram(props), - { initialProps } - ); - - await act(() => setTimeout(0)); - - return { hook, initialProps }; - }; - - it('should return undefined if there is no search session', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ searchSessionId: null }); - expect(result.current).toBeUndefined(); - }); - - describe('contexts', () => { - it('should output the correct hits context', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram(); - expect(result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.complete); - expect(result.current?.hits?.total).toEqual(esHits.length); - }); - - it('should output the correct chart context', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram(); - expect(result.current?.chart?.hidden).toBe(false); - expect(result.current?.chart?.timeInterval).toBe('auto'); - }); - - it('should output the correct breakdown context', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram(); - expect(result.current?.breakdown?.field?.name).toBe('extension'); - }); - - it('should output the correct request context', async () => { - const requestAdapter = new RequestAdapter(); - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ - searchSessionId: '321', - inspectorAdapters: { requests: requestAdapter }, - }); - expect(result.current?.request.adapter).toBe(requestAdapter); - expect(result.current?.request.searchSessionId).toBe('321'); - }); - - it('should output undefined for hits and chart and breakdown if isPlainRecord is true', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ isPlainRecord: true }); - expect(result.current?.hits).toBeUndefined(); - expect(result.current?.chart).toBeUndefined(); - expect(result.current?.breakdown).toBeUndefined(); - }); - - it('should output undefined for chart and breakdown if isTimeBased is false', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ isTimeBased: false }); - expect(result.current?.hits).not.toBeUndefined(); - expect(result.current?.chart).toBeUndefined(); - expect(result.current?.breakdown).toBeUndefined(); - }); - - it('should clear lensRequests when chart is undefined', async () => { - const inspectorAdapters = { - requests: new RequestAdapter(), - lensRequests: new RequestAdapter(), - }; - const { hook, initialProps } = await renderUseDiscoverHistogram({ - inspectorAdapters, - }); - expect(inspectorAdapters.lensRequests).toBeDefined(); - hook.rerender({ ...initialProps, isPlainRecord: true }); - expect(inspectorAdapters.lensRequests).toBeUndefined(); - }); - }); - - describe('onEditVisualization', () => { - it('returns a callback for onEditVisualization when the data view can be visualized', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram(); - expect(result.current?.onEditVisualization).toBeDefined(); - }); - - it('returns undefined for onEditVisualization when the data view cannot be visualized', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ canVisualize: false }); - expect(result.current?.onEditVisualization).toBeUndefined(); - }); - - it('should call lens.navigateToPrefilledEditor when onEditVisualization is called', async () => { - const { - hook: { result }, - } = await renderUseDiscoverHistogram(); - const attributes = { title: 'test' } as TypedLensByValueInput['attributes']; - result.current?.onEditVisualization!(attributes); - expect(mockLens.navigateToPrefilledEditor).toHaveBeenCalledWith({ - id: '', - timeRange: mockData.query.timefilter.timefilter.getTime(), - attributes, - }); - }); - }); - - describe('topPanelHeight', () => { - it('should try to get the topPanelHeight from storage', async () => { - const storage = new LocalStorageMock({}) as unknown as Storage; - storage.get = jest.fn(() => 100); - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ storage }); - expect(storage.get).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY); - expect(result.current?.topPanelHeight).toBe(100); - }); - - it('should update topPanelHeight when onTopPanelHeightChange is called', async () => { - const storage = new LocalStorageMock({}) as unknown as Storage; - storage.get = jest.fn(() => 100); - storage.set = jest.fn(); - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ storage }); - expect(result.current?.topPanelHeight).toBe(100); - act(() => { - result.current?.onTopPanelHeightChange(200); - }); - expect(storage.set).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY, 200); - expect(result.current?.topPanelHeight).toBe(200); - }); - }); - - describe('callbacks', () => { - it('should update chartHidden when onChartHiddenChange is called', async () => { - const storage = new LocalStorageMock({}) as unknown as Storage; - storage.set = jest.fn(); - const state = { interval: 'auto', hideChart: false, breakdownField: 'extension' }; - const stateContainer = { - setAppState: jest.fn((newState) => { - Object.assign(state, newState); - }), - }; - const session = getSessionServiceMock(); - const session$ = new BehaviorSubject('123'); - session.getSession$.mockReturnValue(session$); - const inspectorAdapters = { - requests: new RequestAdapter(), - lensRequests: new RequestAdapter(), - }; - const { hook } = await renderUseDiscoverHistogram({ - storage, - state, - stateContainer, - searchSessionManager: createSearchSessionMock(session).searchSessionManager, - inspectorAdapters, - }); - act(() => { - hook.result.current?.onChartHiddenChange(false); - }); - expect(inspectorAdapters.lensRequests).toBeDefined(); - expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, false); - expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: false }); - act(() => { - hook.result.current?.onChartHiddenChange(true); - session$.next('321'); - }); - hook.rerender(); - expect(inspectorAdapters.lensRequests).toBeUndefined(); - expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, true); - expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: true }); - }); - - it('should set lensRequests when onChartLoad is called', async () => { - const lensRequests = new RequestAdapter(); - const inspectorAdapters = { - requests: new RequestAdapter(), - lensRequests: undefined as RequestAdapter | undefined, - }; - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ inspectorAdapters }); - expect(inspectorAdapters.lensRequests).toBeUndefined(); - act(() => { - result.current?.onChartLoad({ complete: true, adapters: { requests: lensRequests } }); - }); - expect(inspectorAdapters.lensRequests).toBeDefined(); - }); - - it('should update chart hidden when onChartHiddenChange is called', async () => { - const storage = new LocalStorageMock({}) as unknown as Storage; - storage.set = jest.fn(); - const stateContainer = { - setAppState: jest.fn(), - }; - const inspectorAdapters = { - requests: new RequestAdapter(), - lensRequests: new RequestAdapter(), - }; - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ - storage, - stateContainer, - inspectorAdapters, - }); - act(() => { - result.current?.onChartHiddenChange(true); - }); - expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, true); - expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: true }); - }); - - it('should update interval when onTimeIntervalChange is called', async () => { - const stateContainer = { - setAppState: jest.fn(), - }; - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ - stateContainer, - }); - act(() => { - result.current?.onTimeIntervalChange('auto'); - }); - expect(stateContainer.setAppState).toHaveBeenCalledWith({ interval: 'auto' }); - }); - - it('should update breakdownField when onBreakdownFieldChange is called', async () => { - const stateContainer = { - setAppState: jest.fn(), - }; - const { - hook: { result }, - } = await renderUseDiscoverHistogram({ - stateContainer, - }); - act(() => { - result.current?.onBreakdownFieldChange( - dataViewWithTimefieldMock.getFieldByName('extension') - ); - }); - expect(stateContainer.setAppState).toHaveBeenCalledWith({ breakdownField: 'extension' }); - }); - - it('should update total hits when onTotalHitsChange is called', async () => { - mockCheckHitCount.mockClear(); - const totalHits$ = new BehaviorSubject({ - fetchStatus: FetchStatus.LOADING, - result: undefined, - }) as DataTotalHits$; - const main$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - recordRawType: RecordRawType.DOCUMENT, - foundDocuments: true, - }) as DataMain$; - const { hook } = await renderUseDiscoverHistogram({ totalHits$, main$ }); - act(() => { - hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.complete, 100); - }); - hook.rerender(); - expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.complete); - expect(hook.result.current?.hits?.total).toBe(100); - expect(totalHits$.value).toEqual({ - fetchStatus: FetchStatus.COMPLETE, - result: 100, - }); - expect(mockCheckHitCount).toHaveBeenCalledWith(main$, 100); - }); - - it('should not update total hits when onTotalHitsChange is called with an error', async () => { - mockCheckHitCount.mockClear(); - const totalHits$ = new BehaviorSubject({ - fetchStatus: FetchStatus.UNINITIALIZED, - result: undefined, - }) as DataTotalHits$; - const { hook } = await renderUseDiscoverHistogram({ totalHits$ }); - const error = new Error('test'); - act(() => { - hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.error, error); - }); - hook.rerender(); - expect(sendErrorTo).toHaveBeenCalledWith(mockData, totalHits$); - expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.error); - expect(hook.result.current?.hits?.total).toBeUndefined(); - expect(totalHits$.value).toEqual({ - fetchStatus: FetchStatus.ERROR, - error, - }); - expect(mockCheckHitCount).not.toHaveBeenCalled(); - }); - - it('should not update total hits when onTotalHitsChange is called with a loading status while totalHits$ has a partial status', async () => { - mockCheckHitCount.mockClear(); - const totalHits$ = new BehaviorSubject({ - fetchStatus: FetchStatus.PARTIAL, - result: undefined, - }) as DataTotalHits$; - const { hook } = await renderUseDiscoverHistogram({ totalHits$ }); - act(() => { - hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.loading, undefined); - }); - hook.rerender(); - expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.partial); - expect(hook.result.current?.hits?.total).toBeUndefined(); - expect(totalHits$.value).toEqual({ - fetchStatus: FetchStatus.PARTIAL, - result: undefined, - }); - expect(mockCheckHitCount).not.toHaveBeenCalled(); - }); - }); -}); diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx new file mode 100644 index 0000000000000..950b2d4571a40 --- /dev/null +++ b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx @@ -0,0 +1,489 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React, { ReactElement } from 'react'; +import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { esHits } from '../../../../__mocks__/es_hits'; +import { act, renderHook, WrapperComponent } from '@testing-library/react-hooks'; +import { BehaviorSubject } from 'rxjs'; +import { FetchStatus } from '../../../types'; +import { + AvailableFields$, + DataDocuments$, + DataMain$, + DataTotalHits$, + RecordRawType, +} from '../../hooks/use_saved_search'; +import type { DiscoverStateContainer } from '../../services/discover_state'; +import { savedSearchMock } from '../../../../__mocks__/saved_search'; +import type { Storage } from '@kbn/kibana-utils-plugin/public'; +import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; +import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; +import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; +import { + CHART_HIDDEN_KEY, + HISTOGRAM_HEIGHT_KEY, + useDiscoverHistogram, + UseDiscoverHistogramProps, +} from './use_discover_histogram'; +import { setTimeout } from 'timers/promises'; +import { calculateBounds } from '@kbn/data-plugin/public'; +import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; +import { DiscoverMainProvider } from '../../services/discover_state_provider'; +import { createSearchSessionMock } from '../../../../__mocks__/search_session'; +import { RequestAdapter } from '@kbn/inspector-plugin/public'; +import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; +import { UnifiedHistogramFetchStatus } from '@kbn/unified-histogram-plugin/public'; +import { checkHitCount, sendErrorTo } from '../../hooks/use_saved_search_messages'; +import type { InspectorAdapters } from '../../hooks/use_inspector'; +import type { TypedLensByValueInput } from '@kbn/lens-plugin/public'; +import { DiscoverSearchSessionManager } from '../../services/discover_search_session'; + +const mockData = dataPluginMock.createStartContract(); + +mockData.query.timefilter.timefilter.getTime = () => { + return { from: '1991-03-29T08:04:00.694Z', to: '2021-03-29T07:04:00.695Z' }; +}; +mockData.query.timefilter.timefilter.calculateBounds = (timeRange) => { + return calculateBounds(timeRange); +}; + +const mockLens = { + navigateToPrefilledEditor: jest.fn(), +}; + +let mockStorage = new LocalStorageMock({}) as unknown as Storage; +let mockCanVisualize = true; + +jest.mock('../../../../hooks/use_discover_services', () => { + const originalModule = jest.requireActual('../../../../hooks/use_discover_services'); + return { + ...originalModule, + useDiscoverServices: () => ({ storage: mockStorage, data: mockData, lens: mockLens }), + }; +}); + +jest.mock('@kbn/unified-field-list-plugin/public', () => { + const originalModule = jest.requireActual('@kbn/unified-field-list-plugin/public'); + return { + ...originalModule, + getVisualizeInformation: jest.fn(() => Promise.resolve(mockCanVisualize)), + }; +}); + +function getStateContainer() { + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + + stateContainer.setAppState({ + interval: 'auto', + hideChart: false, + breakdownField: 'extension', + }); + + const wrappedStateContainer = Object.create(stateContainer); + wrappedStateContainer.setAppState = jest.fn((newState) => stateContainer.setAppState(newState)); + + return wrappedStateContainer; +} + +jest.mock('../../hooks/use_saved_search_messages', () => { + const originalModule = jest.requireActual('../../hooks/use_saved_search_messages'); + return { + ...originalModule, + checkHitCount: jest.fn(originalModule.checkHitCount), + sendErrorTo: jest.fn(originalModule.sendErrorTo), + }; +}); + +const mockCheckHitCount = checkHitCount as jest.MockedFunction; + +describe('useDiscoverHistogram', () => { + const renderUseDiscoverHistogram = async ({ + isPlainRecord = false, + isTimeBased = true, + canVisualize = true, + storage = new LocalStorageMock({}) as unknown as Storage, + stateContainer = getStateContainer(), + searchSessionManager, + searchSessionId = '123', + inspectorAdapters = { requests: new RequestAdapter() }, + totalHits$ = new BehaviorSubject({ + fetchStatus: FetchStatus.COMPLETE, + result: Number(esHits.length), + }) as DataTotalHits$, + main$ = new BehaviorSubject({ + fetchStatus: FetchStatus.COMPLETE, + recordRawType: isPlainRecord ? RecordRawType.PLAIN : RecordRawType.DOCUMENT, + foundDocuments: true, + }) as DataMain$, + }: { + isPlainRecord?: boolean; + isTimeBased?: boolean; + canVisualize?: boolean; + storage?: Storage; + stateContainer?: DiscoverStateContainer; + searchSessionManager?: DiscoverSearchSessionManager; + searchSessionId?: string | null; + inspectorAdapters?: InspectorAdapters; + totalHits$?: DataTotalHits$; + main$?: DataMain$; + } = {}) => { + mockStorage = storage; + mockCanVisualize = canVisualize; + + const documents$ = new BehaviorSubject({ + fetchStatus: FetchStatus.COMPLETE, + result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewWithTimefieldMock)), + }) as DataDocuments$; + + const availableFields$ = new BehaviorSubject({ + fetchStatus: FetchStatus.COMPLETE, + fields: [] as string[], + }) as AvailableFields$; + + const savedSearchData$ = { + main$, + documents$, + totalHits$, + availableFields$, + }; + + if (!searchSessionManager) { + const session = getSessionServiceMock(); + session.getSession$.mockReturnValue(new BehaviorSubject(searchSessionId ?? undefined)); + searchSessionManager = createSearchSessionMock(session).searchSessionManager; + } + + const initialProps = { + stateContainer, + savedSearchData$, + dataView: dataViewWithTimefieldMock, + savedSearch: savedSearchMock, + isTimeBased, + isPlainRecord, + inspectorAdapters, + searchSessionManager: searchSessionManager!, + }; + + const Wrapper: WrapperComponent = ({ children }) => ( + {children as ReactElement} + ); + + const hook = renderHook( + (props: UseDiscoverHistogramProps) => { + return useDiscoverHistogram(props); + }, + { + wrapper: Wrapper, + initialProps, + } + ); + + await act(() => setTimeout(0)); + + return { hook, initialProps }; + }; + + it('should return undefined if there is no search session', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ searchSessionId: null }); + expect(result.current).toBeUndefined(); + }); + + describe('contexts', () => { + it('should output the correct hits context', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram(); + expect(result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.complete); + expect(result.current?.hits?.total).toEqual(esHits.length); + }); + + it('should output the correct chart context', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram(); + expect(result.current?.chart?.hidden).toBe(false); + expect(result.current?.chart?.timeInterval).toBe('auto'); + }); + + it('should output the correct breakdown context', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram(); + expect(result.current?.breakdown?.field?.name).toBe('extension'); + }); + + it('should output the correct request context', async () => { + const requestAdapter = new RequestAdapter(); + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ + searchSessionId: '321', + inspectorAdapters: { requests: requestAdapter }, + }); + expect(result.current?.request.adapter).toBe(requestAdapter); + expect(result.current?.request.searchSessionId).toBe('321'); + }); + + it('should output undefined for hits and chart and breakdown if isPlainRecord is true', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ isPlainRecord: true }); + expect(result.current?.hits).toBeUndefined(); + expect(result.current?.chart).toBeUndefined(); + expect(result.current?.breakdown).toBeUndefined(); + }); + + it('should output undefined for chart and breakdown if isTimeBased is false', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ isTimeBased: false }); + expect(result.current?.hits).not.toBeUndefined(); + expect(result.current?.chart).toBeUndefined(); + expect(result.current?.breakdown).toBeUndefined(); + }); + + it('should clear lensRequests when chart is undefined', async () => { + const inspectorAdapters = { + requests: new RequestAdapter(), + lensRequests: new RequestAdapter(), + }; + const { hook, initialProps } = await renderUseDiscoverHistogram({ + inspectorAdapters, + }); + expect(inspectorAdapters.lensRequests).toBeDefined(); + hook.rerender({ ...initialProps, isPlainRecord: true }); + expect(inspectorAdapters.lensRequests).toBeUndefined(); + }); + }); + + describe('onEditVisualization', () => { + it('returns a callback for onEditVisualization when the data view can be visualized', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram(); + expect(result.current?.onEditVisualization).toBeDefined(); + }); + + it('returns undefined for onEditVisualization when the data view cannot be visualized', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ canVisualize: false }); + expect(result.current?.onEditVisualization).toBeUndefined(); + }); + + it('should call lens.navigateToPrefilledEditor when onEditVisualization is called', async () => { + const { + hook: { result }, + } = await renderUseDiscoverHistogram(); + const attributes = { title: 'test' } as TypedLensByValueInput['attributes']; + result.current?.onEditVisualization!(attributes); + expect(mockLens.navigateToPrefilledEditor).toHaveBeenCalledWith({ + id: '', + timeRange: mockData.query.timefilter.timefilter.getTime(), + attributes, + }); + }); + }); + + describe('topPanelHeight', () => { + it('should try to get the topPanelHeight from storage', async () => { + const storage = new LocalStorageMock({}) as unknown as Storage; + storage.get = jest.fn(() => 100); + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ storage }); + expect(storage.get).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY); + expect(result.current?.topPanelHeight).toBe(100); + }); + + it('should update topPanelHeight when onTopPanelHeightChange is called', async () => { + const storage = new LocalStorageMock({}) as unknown as Storage; + storage.get = jest.fn(() => 100); + storage.set = jest.fn(); + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ storage }); + expect(result.current?.topPanelHeight).toBe(100); + act(() => { + result.current?.onTopPanelHeightChange(200); + }); + expect(storage.set).toHaveBeenCalledWith(HISTOGRAM_HEIGHT_KEY, 200); + expect(result.current?.topPanelHeight).toBe(200); + }); + }); + + describe('callbacks', () => { + it('should update chartHidden when onChartHiddenChange is called', async () => { + const storage = new LocalStorageMock({}) as unknown as Storage; + storage.set = jest.fn(); + const stateContainer = getStateContainer(); + const session = getSessionServiceMock(); + const session$ = new BehaviorSubject('123'); + session.getSession$.mockReturnValue(session$); + const inspectorAdapters = { + requests: new RequestAdapter(), + lensRequests: new RequestAdapter(), + }; + const { hook } = await renderUseDiscoverHistogram({ + storage, + stateContainer, + searchSessionManager: createSearchSessionMock(session).searchSessionManager, + inspectorAdapters, + }); + act(() => { + hook.result.current?.onChartHiddenChange(false); + }); + expect(inspectorAdapters.lensRequests).toBeDefined(); + expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, false); + expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: false }); + act(() => { + hook.result.current?.onChartHiddenChange(true); + session$.next('321'); + }); + hook.rerender(); + expect(inspectorAdapters.lensRequests).toBeUndefined(); + expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, true); + expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: true }); + }); + + it('should set lensRequests when onChartLoad is called', async () => { + const lensRequests = new RequestAdapter(); + const inspectorAdapters = { + requests: new RequestAdapter(), + lensRequests: undefined as RequestAdapter | undefined, + }; + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ inspectorAdapters }); + expect(inspectorAdapters.lensRequests).toBeUndefined(); + act(() => { + result.current?.onChartLoad({ complete: true, adapters: { requests: lensRequests } }); + }); + expect(inspectorAdapters.lensRequests).toBeDefined(); + }); + + it('should update chart hidden when onChartHiddenChange is called', async () => { + const storage = new LocalStorageMock({}) as unknown as Storage; + storage.set = jest.fn(); + const stateContainer = getStateContainer(); + const inspectorAdapters = { + requests: new RequestAdapter(), + lensRequests: new RequestAdapter(), + }; + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ + storage, + stateContainer, + inspectorAdapters, + }); + act(() => { + result.current?.onChartHiddenChange(true); + }); + expect(storage.set).toHaveBeenCalledWith(CHART_HIDDEN_KEY, true); + expect(stateContainer.setAppState).toHaveBeenCalledWith({ hideChart: true }); + }); + + it('should update interval when onTimeIntervalChange is called', async () => { + const stateContainer = getStateContainer(); + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ + stateContainer, + }); + act(() => { + result.current?.onTimeIntervalChange('auto'); + }); + expect(stateContainer.setAppState).toHaveBeenCalledWith({ interval: 'auto' }); + }); + + it('should update breakdownField when onBreakdownFieldChange is called', async () => { + const stateContainer = getStateContainer(); + const { + hook: { result }, + } = await renderUseDiscoverHistogram({ + stateContainer, + }); + act(() => { + result.current?.onBreakdownFieldChange( + dataViewWithTimefieldMock.getFieldByName('extension') + ); + }); + expect(stateContainer.setAppState).toHaveBeenCalledWith({ breakdownField: 'extension' }); + }); + + it('should update total hits when onTotalHitsChange is called', async () => { + mockCheckHitCount.mockClear(); + const totalHits$ = new BehaviorSubject({ + fetchStatus: FetchStatus.LOADING, + result: undefined, + }) as DataTotalHits$; + const main$ = new BehaviorSubject({ + fetchStatus: FetchStatus.COMPLETE, + recordRawType: RecordRawType.DOCUMENT, + foundDocuments: true, + }) as DataMain$; + const { hook } = await renderUseDiscoverHistogram({ totalHits$, main$ }); + act(() => { + hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.complete, 100); + }); + hook.rerender(); + expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.complete); + expect(hook.result.current?.hits?.total).toBe(100); + expect(totalHits$.value).toEqual({ + fetchStatus: FetchStatus.COMPLETE, + result: 100, + }); + expect(mockCheckHitCount).toHaveBeenCalledWith(main$, 100); + }); + + it('should not update total hits when onTotalHitsChange is called with an error', async () => { + mockCheckHitCount.mockClear(); + const totalHits$ = new BehaviorSubject({ + fetchStatus: FetchStatus.UNINITIALIZED, + result: undefined, + }) as DataTotalHits$; + const { hook } = await renderUseDiscoverHistogram({ totalHits$ }); + const error = new Error('test'); + act(() => { + hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.error, error); + }); + hook.rerender(); + expect(sendErrorTo).toHaveBeenCalledWith(mockData, totalHits$); + expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.error); + expect(hook.result.current?.hits?.total).toBeUndefined(); + expect(totalHits$.value).toEqual({ + fetchStatus: FetchStatus.ERROR, + error, + }); + expect(mockCheckHitCount).not.toHaveBeenCalled(); + }); + + it('should not update total hits when onTotalHitsChange is called with a loading status while totalHits$ has a partial status', async () => { + mockCheckHitCount.mockClear(); + const totalHits$ = new BehaviorSubject({ + fetchStatus: FetchStatus.PARTIAL, + result: undefined, + }) as DataTotalHits$; + const { hook } = await renderUseDiscoverHistogram({ totalHits$ }); + act(() => { + hook.result.current?.onTotalHitsChange(UnifiedHistogramFetchStatus.loading, undefined); + }); + hook.rerender(); + expect(hook.result.current?.hits?.status).toBe(UnifiedHistogramFetchStatus.partial); + expect(hook.result.current?.hits?.total).toBeUndefined(); + expect(totalHits$.value).toEqual({ + fetchStatus: FetchStatus.PARTIAL, + result: undefined, + }); + expect(mockCheckHitCount).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts index b50084a8eb03b..53ddc74ad99d6 100644 --- a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts +++ b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts @@ -17,11 +17,12 @@ import { import type { UnifiedHistogramChartLoadEvent } from '@kbn/unified-histogram-plugin/public'; import useObservable from 'react-use/lib/useObservable'; import type { TypedLensByValueInput } from '@kbn/lens-plugin/public'; +import { useAppStateSelector } from '../../services/discover_app_state_container'; import { getUiActions } from '../../../../kibana_services'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { useDataState } from '../../hooks/use_data_state'; import type { SavedSearchData } from '../../hooks/use_saved_search'; -import type { AppState, GetStateReturn } from '../../services/discover_state'; +import type { DiscoverStateContainer } from '../../services/discover_state'; import { FetchStatus } from '../../../types'; import type { DiscoverSearchSessionManager } from '../../services/discover_search_session'; import type { InspectorAdapters } from '../../hooks/use_inspector'; @@ -31,9 +32,19 @@ export const CHART_HIDDEN_KEY = 'discover:chartHidden'; export const HISTOGRAM_HEIGHT_KEY = 'discover:histogramHeight'; export const HISTOGRAM_BREAKDOWN_FIELD_KEY = 'discover:histogramBreakdownField'; +export interface UseDiscoverHistogramProps { + stateContainer: DiscoverStateContainer; + savedSearchData$: SavedSearchData; + dataView: DataView; + savedSearch: SavedSearch; + isTimeBased: boolean; + isPlainRecord: boolean; + inspectorAdapters: InspectorAdapters; + searchSessionManager: DiscoverSearchSessionManager; +} + export const useDiscoverHistogram = ({ stateContainer, - state, savedSearchData$, dataView, savedSearch, @@ -41,18 +52,13 @@ export const useDiscoverHistogram = ({ isPlainRecord, inspectorAdapters, searchSessionManager, -}: { - stateContainer: GetStateReturn; - state: AppState; - savedSearchData$: SavedSearchData; - dataView: DataView; - savedSearch: SavedSearch; - isTimeBased: boolean; - isPlainRecord: boolean; - inspectorAdapters: InspectorAdapters; - searchSessionManager: DiscoverSearchSessionManager; -}) => { +}: UseDiscoverHistogramProps) => { const { storage, data, lens } = useDiscoverServices(); + const [hideChart, interval, breakdownField] = useAppStateSelector((state) => [ + state.hideChart, + state.interval, + state.breakdownField, + ]); /** * Visualize @@ -210,16 +216,16 @@ export const useDiscoverHistogram = ({ [inspectorAdapters] ); - const [chartHidden, setChartHidden] = useState(state.hideChart); + const [chartHidden, setChartHidden] = useState(hideChart); const chart = useMemo( () => isPlainRecord || !isTimeBased ? undefined : { hidden: chartHidden, - timeInterval: state.interval, + timeInterval: interval, }, - [chartHidden, isPlainRecord, isTimeBased, state.interval] + [chartHidden, interval, isPlainRecord, isTimeBased] ); // Clear the Lens request adapter when the chart is hidden @@ -233,7 +239,7 @@ export const useDiscoverHistogram = ({ // requests, so instead of using state.chartHidden directly, we update chartHidden // when searchSessionId changes useEffect(() => { - setChartHidden(state.hideChart); + setChartHidden(hideChart); // eslint-disable-next-line react-hooks/exhaustive-deps }, [searchSessionId]); @@ -242,15 +248,15 @@ export const useDiscoverHistogram = ({ */ const onBreakdownFieldChange = useCallback( - (breakdownField: DataViewField | undefined) => { - stateContainer.setAppState({ breakdownField: breakdownField?.name }); + (newBreakdownField: DataViewField | undefined) => { + stateContainer.setAppState({ breakdownField: newBreakdownField?.name }); }, [stateContainer] ); const field = useMemo( - () => (state.breakdownField ? dataView.getFieldByName(state.breakdownField) : undefined), - [dataView, state.breakdownField] + () => (breakdownField ? dataView.getFieldByName(breakdownField) : undefined), + [dataView, breakdownField] ); const breakdown = useMemo( diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/discover_field_details.tsx b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/discover_field_details.tsx index 58db010c025c9..d1f32ae8df8fb 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/discover_field_details.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/discover_field_details.tsx @@ -12,8 +12,8 @@ import { EuiText, EuiSpacer, EuiLink, EuiTitle } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { DataViewField, DataView } from '@kbn/data-views-plugin/public'; import { DiscoverFieldBucket } from './discover_field_bucket'; -import { Bucket, FieldDetails } from './types'; -import { getDetails } from './get_details'; +import { Bucket } from './types'; +import { getDetails, isValidFieldDetails } from './get_details'; import { DataDocuments$ } from '../../../hooks/use_saved_search'; import { FetchStatus } from '../../../../types'; @@ -33,13 +33,13 @@ export function DiscoverFieldDetails({ dataView, onAddFilter, }: DiscoverFieldDetailsProps) { - const details: FieldDetails = useMemo(() => { + const details = useMemo(() => { const data = documents$.getValue(); const documents = data.fetchStatus === FetchStatus.COMPLETE ? data.result : undefined; return getDetails(field, documents, dataView); }, [field, documents$, dataView]); - if (!details?.error && !details?.buckets) { + if (!details) { return null; } @@ -52,8 +52,8 @@ export function DiscoverFieldDetails({ })} - {details.error && {details.error}} - {!details.error && ( + {!isValidFieldDetails(details) && {details.error}} + {isValidFieldDetails(details) && ( <>
{details.buckets.map((bucket: Bucket, idx: number) => ( diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.js b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.js deleted file mode 100644 index 68a774f4134a9..0000000000000 --- a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.js +++ /dev/null @@ -1,127 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { map, sortBy, without, each, defaults, isObject } from 'lodash'; -import { i18n } from '@kbn/i18n'; - -function getFieldValues(hits, field) { - const name = field.name; - return map(hits, function (hit) { - return hit.flattened[name]; - }); -} - -function getFieldValueCounts(params) { - params = defaults(params, { - count: 5, - grouped: false, - }); - - if ( - params.field.type === 'geo_point' || - params.field.type === 'geo_shape' || - params.field.type === 'attachment' - ) { - return { - error: i18n.translate( - 'discover.fieldChooser.fieldCalculator.analysisIsNotAvailableForGeoFieldsErrorMessage', - { - defaultMessage: 'Analysis is not available for geo fields.', - } - ), - }; - } - - const allValues = getFieldValues(params.hits, params.field); - let counts; - const missing = _countMissing(allValues); - - try { - const groups = _groupValues(allValues, params); - counts = map(sortBy(groups, 'count').reverse().slice(0, params.count), function (bucket) { - return { - value: bucket.value, - count: bucket.count, - percent: ((bucket.count / (params.hits.length - missing)) * 100).toFixed(1), - }; - }); - - if (params.hits.length - missing === 0) { - return { - error: i18n.translate( - 'discover.fieldChooser.fieldCalculator.fieldIsNotPresentInDocumentsErrorMessage', - { - defaultMessage: - 'This field is present in your Elasticsearch mapping but not in the {hitsLength} documents shown in the doc table. You may still be able to visualize or search on it.', - values: { - hitsLength: params.hits.length, - }, - } - ), - }; - } - - return { - total: params.hits.length, - exists: params.hits.length - missing, - missing: missing, - buckets: counts, - }; - } catch (e) { - return { error: e.message }; - } -} - -// returns a count of fields in the array that are undefined or null -function _countMissing(array) { - return array.length - without(array, undefined, null).length; -} - -function _groupValues(allValues, params) { - const groups = {}; - let k; - - allValues.forEach(function (value) { - if (isObject(value) && !Array.isArray(value)) { - throw new Error( - i18n.translate( - 'discover.fieldChooser.fieldCalculator.analysisIsNotAvailableForObjectFieldsErrorMessage', - { - defaultMessage: 'Analysis is not available for object fields.', - } - ) - ); - } - - if (Array.isArray(value) && !params.grouped) { - k = value; - } else { - k = value == null ? undefined : [value]; - } - - each(k, function (key) { - if (groups.hasOwnProperty(key)) { - groups[key].count++; - } else { - groups[key] = { - value: params.grouped ? value : key, - count: 1, - }; - } - }); - }); - - return groups; -} - -export const fieldCalculator = { - _groupValues: _groupValues, - _countMissing: _countMissing, - getFieldValues: getFieldValues, - getFieldValueCounts: getFieldValueCounts, -}; diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.test.ts b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.test.ts index f043d81baaf36..ef397acc63aba 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.test.ts +++ b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.test.ts @@ -9,10 +9,21 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { keys, clone, uniq, filter, map } from 'lodash'; import { getDataTableRecords } from '../../../../../__fixtures__/real_hits'; -import type { DataView } from '@kbn/data-views-plugin/public'; -// @ts-expect-error -import { fieldCalculator } from './field_calculator'; +import { fieldCalculator, FieldCountsParams } from './field_calculator'; import { stubLogstashDataView as dataView } from '@kbn/data-views-plugin/common/data_view.stub'; +import { FieldDetails, ValidFieldDetails } from './types'; +import { isValidFieldDetails } from './get_details'; + +const validateResults = ( + extensions: FieldDetails, + validate: (extensions: ValidFieldDetails) => void +) => { + if (isValidFieldDetails(extensions)) { + validate(extensions); + } else { + throw new Error('extensions is not valid'); + } +}; describe('fieldCalculator', function () { it('should have a _countMissing that counts nulls & undefineds in an array', function () { @@ -122,72 +133,67 @@ describe('fieldCalculator', function () { it('Should return an array of values for _source fields', function () { const extensions = fieldCalculator.getFieldValues( hits, - dataView.fields.getByName('extension'), - dataView + dataView.fields.getByName('extension')! ); expect(extensions).toBeInstanceOf(Array); - expect( - filter(extensions, function (v) { - return v === 'html'; - }).length - ).toBe(8); + expect(filter(extensions, (v) => v === 'html').length).toBe(8); expect(uniq(clone(extensions)).sort()).toEqual(['gif', 'html', 'php', 'png']); }); it('Should return an array of values for core meta fields', function () { - const types = fieldCalculator.getFieldValues( - hits, - dataView.fields.getByName('_id'), - dataView - ); + const types = fieldCalculator.getFieldValues(hits, dataView.fields.getByName('_id')!); expect(types).toBeInstanceOf(Array); expect(types.length).toBe(20); }); }); describe('getFieldValueCounts', function () { - let params: { hits: any; field: any; count: number; dataView: DataView }; + let params: FieldCountsParams; beforeEach(function () { params = { hits: getDataTableRecords(dataView), - field: dataView.fields.getByName('extension'), + field: dataView.fields.getByName('extension')!, count: 3, dataView, }; }); it('counts the top 3 values', function () { - const extensions = fieldCalculator.getFieldValueCounts(params); - expect(extensions).toBeInstanceOf(Object); - expect(extensions.buckets).toBeInstanceOf(Array); - expect(extensions.buckets.length).toBe(3); - expect(map(extensions.buckets, 'value')).toEqual(['html', 'php', 'gif']); - expect(extensions.error).toBe(undefined); + validateResults(fieldCalculator.getFieldValueCounts(params), (extensions) => { + expect(extensions).toBeInstanceOf(Object); + expect(extensions.buckets).toBeInstanceOf(Array); + expect(extensions.buckets.length).toBe(3); + expect(map(extensions.buckets, 'value')).toEqual(['html', 'php', 'gif']); + }); }); it('fails to analyze geo and attachment types', function () { - params.field = dataView.fields.getByName('point'); - expect(fieldCalculator.getFieldValueCounts(params).error).not.toBe(undefined); + params.field = dataView.fields.getByName('point')!; + expect(isValidFieldDetails(fieldCalculator.getFieldValueCounts(params))).toBeFalsy(); - params.field = dataView.fields.getByName('area'); - expect(fieldCalculator.getFieldValueCounts(params).error).not.toBe(undefined); + params.field = dataView.fields.getByName('area')!; + expect(isValidFieldDetails(fieldCalculator.getFieldValueCounts(params))).toBeFalsy(); - params.field = dataView.fields.getByName('request_body'); - expect(fieldCalculator.getFieldValueCounts(params).error).not.toBe(undefined); + params.field = dataView.fields.getByName('request_body')!; + expect(isValidFieldDetails(fieldCalculator.getFieldValueCounts(params))).toBeFalsy(); }); it('fails to analyze fields that are in the mapping, but not the hits', function () { - params.field = dataView.fields.getByName('ip'); - expect(fieldCalculator.getFieldValueCounts(params).error).not.toBe(undefined); + params.field = dataView.fields.getByName('ip')!; + expect(isValidFieldDetails(fieldCalculator.getFieldValueCounts(params))).toBeFalsy(); }); it('counts the total hits', function () { - expect(fieldCalculator.getFieldValueCounts(params).total).toBe(params.hits.length); + validateResults(fieldCalculator.getFieldValueCounts(params), (extensions) => { + expect(extensions.total).toBe(params.hits.length); + }); }); it('counts the hits the field exists in', function () { - params.field = dataView.fields.getByName('phpmemory'); - expect(fieldCalculator.getFieldValueCounts(params).exists).toBe(5); + params.field = dataView.fields.getByName('phpmemory')!; + validateResults(fieldCalculator.getFieldValueCounts(params), (extensions) => { + expect(extensions.exists).toBe(5); + }); }); }); }); diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.ts b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.ts new file mode 100644 index 0000000000000..eff4ff793b2e4 --- /dev/null +++ b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/field_calculator.ts @@ -0,0 +1,138 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { map, sortBy, without, each, defaults, isObject } from 'lodash'; +import { i18n } from '@kbn/i18n'; +import type { DataViewField, DataView } from '@kbn/data-views-plugin/common'; +import type { DataTableRecord } from '../../../../../types'; +import { Bucket, FieldDetails } from './types'; + +export interface FieldCountsParams { + hits: DataTableRecord[]; + field: DataViewField; + dataView: DataView; + count?: number; + grouped?: boolean; +} + +interface FieldCountsBucket { + count: number; + value: string; +} + +const getFieldValues = (hits: DataTableRecord[], field: DataViewField): unknown[] => + map(hits, (hit) => hit.flattened[field.name]); + +const getFieldValueCounts = (params: FieldCountsParams): FieldDetails => { + params = defaults(params, { + count: 5, + grouped: false, + }); + + if ( + params.field.type === 'geo_point' || + params.field.type === 'geo_shape' || + params.field.type === 'attachment' + ) { + return { + error: i18n.translate( + 'discover.fieldChooser.fieldCalculator.analysisIsNotAvailableForGeoFieldsErrorMessage', + { + defaultMessage: 'Analysis is not available for geo fields.', + } + ), + }; + } + + const allValues = getFieldValues(params.hits, params.field); + const missing = _countMissing(allValues); + + try { + const groups = _groupValues(allValues, params); + const counts: Bucket[] = sortBy(groups, 'count') + .reverse() + .slice(0, params.count) + .map((bucket: FieldCountsBucket) => ({ + value: bucket.value, + count: bucket.count as number, + percent: Number(((bucket.count / (params.hits.length - missing)) * 100).toFixed(1)), + display: params.dataView.getFormatterForField(params.field).convert(bucket.value), + })); + + if (params.hits.length - missing === 0) { + return { + error: i18n.translate( + 'discover.fieldChooser.fieldCalculator.fieldIsNotPresentInDocumentsErrorMessage', + { + defaultMessage: + 'This field is present in your Elasticsearch mapping but not in the {hitsLength} documents shown in the doc table. You may still be able to visualize or search on it.', + values: { + hitsLength: params.hits.length, + }, + } + ), + }; + } + + return { + total: params.hits.length, + exists: params.hits.length - missing, + missing, + buckets: counts, + }; + } catch (e) { + return { error: e.message }; + } +}; + +// returns a count of fields in the array that are undefined or null +const _countMissing = (array: unknown[]) => array.length - without(array, undefined, null).length; + +const _groupValues = (allValues: unknown[], params: FieldCountsParams) => { + const groups: Record = {}; + let k; + + allValues.forEach((value: unknown) => { + if (isObject(value) && !Array.isArray(value)) { + throw new Error( + i18n.translate( + 'discover.fieldChooser.fieldCalculator.analysisIsNotAvailableForObjectFieldsErrorMessage', + { + defaultMessage: 'Analysis is not available for object fields.', + } + ) + ); + } + + if (Array.isArray(value) && !params.grouped) { + k = value; + } else { + k = value == null ? undefined : [value]; + } + + each(k, (key: string) => { + if (groups.hasOwnProperty(key)) { + (groups[key] as FieldCountsBucket).count++; + } else { + groups[key] = { + value: params.grouped ? (value as string) : key, + count: 1, + }; + } + }); + }); + + return groups; +}; + +export const fieldCalculator = { + _groupValues, + _countMissing, + getFieldValues, + getFieldValueCounts, +}; diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/get_details.ts b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/get_details.ts index cc9f56b73feed..d62d3e10dd347 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/get_details.ts +++ b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/get_details.ts @@ -7,30 +7,27 @@ */ import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; -// @ts-expect-error import { fieldCalculator } from './field_calculator'; import { DataTableRecord } from '../../../../../types'; +import { ErrorFieldDetails, FieldDetails, ValidFieldDetails } from './types'; + +export const isValidFieldDetails = (details: FieldDetails): details is ValidFieldDetails => + !(details as ErrorFieldDetails).error; export function getDetails( field: DataViewField, hits: DataTableRecord[] | undefined, - dataView?: DataView + dataView: DataView ) { - if (!dataView || !hits) { - return {}; - } - const details = { - ...fieldCalculator.getFieldValueCounts({ - hits, - field, - count: 5, - grouped: false, - }), - }; - if (details.buckets) { - for (const bucket of details.buckets) { - bucket.display = dataView.getFormatterForField(field).convert(bucket.value); - } + if (!hits) { + return undefined; } - return details; + + return fieldCalculator.getFieldValueCounts({ + hits, + field, + count: 5, + grouped: false, + dataView, + }); } diff --git a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/types.ts b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/types.ts index 1f7d40418fe7b..ba308d8e14bf0 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/types.ts +++ b/src/plugins/discover/public/application/main/components/sidebar/deprecated_stats/types.ts @@ -6,13 +6,19 @@ * Side Public License, v 1. */ -export interface FieldDetails { - error: string; +export interface ValidFieldDetails { exists: number; total: number; + missing: number; buckets: Bucket[]; } +export interface ErrorFieldDetails { + error: string; +} + +export type FieldDetails = ValidFieldDetails | ErrorFieldDetails; + export interface Bucket { display: string; value: string; diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_field.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_field.test.tsx index 82e3e462dbd3a..c25a6c5010e7e 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_field.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_field.test.tsx @@ -118,7 +118,7 @@ async function getComponent({ }, }, }; - const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appStateContainer; + const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appState; appStateContainer.set({ query: { query: '', language: 'lucene' }, filters: [], diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.test.tsx index ad59bad82aeb8..e688f1120526d 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.test.tsx @@ -16,18 +16,17 @@ import { DiscoverSidebarComponent as DiscoverSidebar, DiscoverSidebarProps, } from './discover_sidebar'; -import { DataViewListItem } from '@kbn/data-views-plugin/public'; import type { AggregateQuery, Query } from '@kbn/es-query'; import { getDefaultFieldFilter } from './lib/field_filter'; import { createDiscoverServicesMock } from '../../../../__mocks__/services'; import { stubLogstashDataView } from '@kbn/data-plugin/common/stubs'; -import { VIEW_MODE } from '../../../../components/view_mode_toggle'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { BehaviorSubject } from 'rxjs'; import { FetchStatus } from '../../../types'; import { AvailableFields$, DataDocuments$ } from '../../hooks/use_saved_search'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; -import { DiscoverAppStateProvider } from '../../services/discover_app_state_container'; +import { VIEW_MODE } from '../../../../../common/constants'; +import { DiscoverMainProvider } from '../../services/discover_state_provider'; import * as ExistingFieldsHookApi from '@kbn/unified-field-list-plugin/public/hooks/use_existing_fields'; import { ExistenceFetchStatus } from '@kbn/unified-field-list-plugin/public'; import { getDataViewFieldList } from './lib/get_data_view_field_list'; @@ -44,6 +43,16 @@ jest.mock('../../../../kibana_services', () => ({ }), })); +function getStateContainer({ query }: { query?: Query | AggregateQuery }) { + const state = getDiscoverStateMock({ isTimeBased: true }); + state.appState.set({ + query: query ?? { query: '', language: 'lucene' }, + filters: [], + }); + state.internalState.transitions.setDataView(stubLogstashDataView); + return state; +} + function getCompProps(): DiscoverSidebarProps { const dataView = stubLogstashDataView; dataView.toSpec = jest.fn(() => ({})); @@ -85,7 +94,6 @@ function getCompProps(): DiscoverSidebarProps { return { columns: ['extension'], allFields, - dataViewList: [dataView as DataViewListItem], onChangeDataView: jest.fn(), onAddFilter: jest.fn(), onAddField: jest.fn(), @@ -107,22 +115,17 @@ function getCompProps(): DiscoverSidebarProps { }; } -function getAppStateContainer({ query }: { query?: Query | AggregateQuery }) { - const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appStateContainer; - appStateContainer.set({ - query: query ?? { query: '', language: 'lucene' }, - filters: [], - }); - return appStateContainer; -} - async function mountComponent( props: DiscoverSidebarProps, appStateParams: { query?: Query | AggregateQuery } = {} ): Promise> { let comp: ReactWrapper; const mockedServices = createDiscoverServicesMock(); - mockedServices.data.dataViews.getIdsWithTitle = jest.fn(async () => props.dataViewList); + mockedServices.data.dataViews.getIdsWithTitle = jest.fn(async () => + props.selectedDataView + ? [{ id: props.selectedDataView.id!, title: props.selectedDataView.title! }] + : [] + ); mockedServices.data.dataViews.get = jest.fn().mockImplementation(async (id) => { return [props.selectedDataView].find((d) => d!.id === id); }); @@ -130,9 +133,9 @@ async function mountComponent( await act(async () => { comp = await mountWithIntl( - + - + ); // wait for lazy modules diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.tsx index 75bfdffa79627..705299c1566d2 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.tsx @@ -27,6 +27,7 @@ import { triggerVisualizeActionsTextBasedLanguages, useGroupedFields, } from '@kbn/unified-field-list-plugin/public'; +import { VIEW_MODE } from '../../../../../common/constants'; import { useAppStateSelector } from '../../services/discover_app_state_container'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { DiscoverField } from './discover_field'; @@ -40,7 +41,6 @@ import { } from './lib/group_fields'; import { doesFieldMatchFilters, FieldFilterState, setFieldFilterProp } from './lib/field_filter'; import { DiscoverSidebarResponsiveProps } from './discover_sidebar_responsive'; -import { VIEW_MODE } from '../../../../components/view_mode_toggle'; import { getUiActions } from '../../../../kibana_services'; import { getRawRecordType } from '../../utils/get_raw_record_type'; import { RecordRawType } from '../../hooks/use_saved_search'; @@ -377,6 +377,7 @@ export function DiscoverSidebarComponent({ {...fieldListGroupedProps} renderFieldItem={renderFieldItem} screenReaderDescriptionId={fieldSearchDescriptionId} + localStorageKeyPrefix="discover" /> )} diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx index 720f3da27ad18..3a56fcb8c2111 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -14,7 +14,6 @@ import { getDataTableRecords, realHits } from '../../../../__fixtures__/real_hit import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import React from 'react'; -import { DataViewListItem } from '@kbn/data-views-plugin/public'; import { DiscoverSidebarResponsive, DiscoverSidebarResponsiveProps, @@ -23,10 +22,10 @@ import { DiscoverServices } from '../../../../build_services'; import { FetchStatus } from '../../../types'; import { AvailableFields$, DataDocuments$, RecordRawType } from '../../hooks/use_saved_search'; import { stubLogstashDataView } from '@kbn/data-plugin/common/stubs'; -import { VIEW_MODE } from '../../../../components/view_mode_toggle'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { DiscoverAppStateProvider } from '../../services/discover_app_state_container'; +import { VIEW_MODE } from '../../../../../common/constants'; import * as ExistingFieldsServiceApi from '@kbn/unified-field-list-plugin/public/services/field_existing/load_field_existing'; import { resetExistingFieldsCache } from '@kbn/unified-field-list-plugin/public/hooks/use_existing_fields'; import { createDiscoverServicesMock } from '../../../../__mocks__/services'; @@ -136,7 +135,6 @@ function getCompProps(options?: { hits?: DataTableRecord[] }): DiscoverSidebarRe fetchStatus: FetchStatus.COMPLETE, fields: [] as string[], }) as AvailableFields$, - dataViewList: [dataView as DataViewListItem], onChangeDataView: jest.fn(), onAddFilter: jest.fn(), onAddField: jest.fn(), @@ -151,7 +149,7 @@ function getCompProps(options?: { hits?: DataTableRecord[] }): DiscoverSidebarRe } function getAppStateContainer({ query }: { query?: Query | AggregateQuery }) { - const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appStateContainer; + const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appState; appStateContainer.set({ query: query ?? { query: '', language: 'lucene' }, filters: [], @@ -166,7 +164,11 @@ async function mountComponent( ): Promise> { let comp: ReactWrapper; const mockedServices = services ?? createMockServices(); - mockedServices.data.dataViews.getIdsWithTitle = jest.fn(async () => props.dataViewList); + mockedServices.data.dataViews.getIdsWithTitle = jest.fn(async () => + props.selectedDataView + ? [{ id: props.selectedDataView.id!, title: props.selectedDataView.title! }] + : [] + ); mockedServices.data.dataViews.get = jest.fn().mockImplementation(async (id) => { return [props.selectedDataView].find((d) => d!.id === id); }); @@ -227,6 +229,11 @@ describe('discover responsive sidebar', function () { expect(compLoadingExistence.find(EuiProgress).exists()).toBe(true); await act(async () => { + const appStateContainer = getDiscoverStateMock({ isTimeBased: true }).appState; + appStateContainer.set({ + query: { query: '', language: 'lucene' }, + filters: [], + }); resolveFunction!({ indexPatternTitle: 'test-loaded', existingFieldNames: Object.keys(mockfieldCounts), diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.tsx index 026ca50f9f818..89ccef3cde931 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.tsx @@ -23,16 +23,17 @@ import { EuiShowFor, EuiTitle, } from '@elastic/eui'; -import type { DataView, DataViewField, DataViewListItem } from '@kbn/data-views-plugin/public'; +import type { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import { useExistingFieldsFetcher, useQuerySubscriber, } from '@kbn/unified-field-list-plugin/public'; +import { VIEW_MODE } from '../../../../../common/constants'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { getDefaultFieldFilter } from './lib/field_filter'; import { DiscoverSidebar } from './discover_sidebar'; import { AvailableFields$, DataDocuments$, RecordRawType } from '../../hooks/use_saved_search'; -import { VIEW_MODE } from '../../../../components/view_mode_toggle'; +import { calcFieldCounts } from '../../utils/calc_field_counts'; import { FetchStatus } from '../../../types'; import { DISCOVER_TOUR_STEP_ANCHOR_IDS } from '../../../../components/discover_tour'; import { getRawRecordType } from '../../utils/get_raw_record_type'; @@ -43,7 +44,6 @@ import { DiscoverSidebarReducerActionType, DiscoverSidebarReducerStatus, } from './lib/sidebar_reducer'; -import { calcFieldCounts } from '../../utils/calc_field_counts'; export interface DiscoverSidebarResponsiveProps { /** @@ -58,10 +58,6 @@ export interface DiscoverSidebarResponsiveProps { * hits fetched from ES, displayed in the doc table */ documents$: DataDocuments$; - /** - * List of available data views - */ - dataViewList: DataViewListItem[]; /** * Has been toggled closed */ diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx index 7ae11388ec3bb..85c7e381588ea 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx @@ -7,16 +7,17 @@ */ import React from 'react'; -import { shallowWithIntl } from '@kbn/test-jest-helpers'; +import { mountWithIntl } from '@kbn/test-jest-helpers'; import { dataViewMock } from '../../../../__mocks__/data_view'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { DiscoverTopNav, DiscoverTopNavProps } from './discover_topnav'; -import { TopNavMenuData } from '@kbn/navigation-plugin/public'; +import { TopNavMenu, TopNavMenuData } from '@kbn/navigation-plugin/public'; import { ISearchSource } from '@kbn/data-plugin/public'; import { Query } from '@kbn/es-query'; -import { GetStateReturn } from '../../services/discover_state'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; import { discoverServiceMock } from '../../../../__mocks__/services'; +import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; +import { DiscoverMainProvider } from '../../services/discover_state_provider'; setHeaderActionMenuMounter(jest.fn()); @@ -29,10 +30,11 @@ jest.mock('@kbn/kibana-react-plugin/public', () => ({ function getProps(savePermissions = true): DiscoverTopNavProps { discoverServiceMock.capabilities.discover!.save = savePermissions; + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + stateContainer.internalState.transitions.setDataView(dataViewMock); return { - stateContainer: {} as GetStateReturn, - dataView: dataViewMock, + stateContainer, savedSearch: savedSearchMock, navigateTo: jest.fn(), query: {} as Query, @@ -46,24 +48,33 @@ function getProps(savePermissions = true): DiscoverTopNavProps { isPlainRecord: false, persistDataView: jest.fn(), updateAdHocDataViewId: jest.fn(), - adHocDataViewList: [], - savedDataViewList: [], updateDataViewList: jest.fn(), + onDataViewCreated: jest.fn(), }; } describe('Discover topnav component', () => { test('generated config of TopNavMenu config is correct when discover save permissions are assigned', () => { const props = getProps(true); - const component = shallowWithIntl(); - const topMenuConfig = component.props().config.map((obj: TopNavMenuData) => obj.id); + const component = mountWithIntl( + + + + ); + const topNavMenu = component.find(TopNavMenu); + const topMenuConfig = topNavMenu.props().config?.map((obj: TopNavMenuData) => obj.id); expect(topMenuConfig).toEqual(['options', 'new', 'open', 'share', 'inspect', 'save']); }); test('generated config of TopNavMenu config is correct when no discover save permissions are assigned', () => { const props = getProps(false); - const component = shallowWithIntl(); - const topMenuConfig = component.props().config.map((obj: TopNavMenuData) => obj.id); + const component = mountWithIntl( + + + + ); + const topNavMenu = component.find(TopNavMenu).props(); + const topMenuConfig = topNavMenu.config?.map((obj: TopNavMenuData) => obj.id); expect(topMenuConfig).toEqual(['options', 'new', 'open', 'share', 'inspect']); }); }); diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx index 5c5dc0266952a..241fa39e86312 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx @@ -8,19 +8,20 @@ import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { useHistory } from 'react-router-dom'; import type { Query, TimeRange, AggregateQuery } from '@kbn/es-query'; -import { DataViewListItem, DataViewType, type DataView } from '@kbn/data-views-plugin/public'; +import { DataViewType, type DataView } from '@kbn/data-views-plugin/public'; import type { DataViewPickerProps } from '@kbn/unified-search-plugin/public'; +import { useInternalStateSelector } from '../../services/discover_internal_state_container'; import { ENABLE_SQL } from '../../../../../common'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { DiscoverLayoutProps } from '../layout/types'; import { getTopNavLinks } from './get_top_nav_links'; import { getHeaderActionMenuMounter } from '../../../../kibana_services'; -import { GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { onSaveSearch } from './on_save_search'; export type DiscoverTopNavProps = Pick< DiscoverLayoutProps, - 'dataView' | 'navigateTo' | 'savedSearch' | 'searchSource' + 'navigateTo' | 'savedSearch' | 'searchSource' > & { onOpenInspector: () => void; query?: Query | AggregateQuery; @@ -29,21 +30,19 @@ export type DiscoverTopNavProps = Pick< payload: { dateRange: TimeRange; query?: Query | AggregateQuery }, isUpdate?: boolean ) => void; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; resetSavedSearch: () => void; onChangeDataView: (dataView: string) => void; + onDataViewCreated: (dataView: DataView) => void; isPlainRecord: boolean; textBasedLanguageModeErrors?: Error; onFieldEdited: () => Promise; persistDataView: (dataView: DataView) => Promise; updateAdHocDataViewId: (dataView: DataView) => Promise; - adHocDataViewList: DataView[]; - savedDataViewList: DataViewListItem[]; - updateDataViewList: (DataViewEditorStart: DataView[]) => Promise; + updateDataViewList: (newAdHocDataViews: DataView[]) => void; }; export const DiscoverTopNav = ({ - dataView, onOpenInspector, query, savedQuery, @@ -54,17 +53,18 @@ export const DiscoverTopNav = ({ savedSearch, resetSavedSearch, onChangeDataView, + onDataViewCreated, isPlainRecord, textBasedLanguageModeErrors, onFieldEdited, persistDataView, updateAdHocDataViewId, - adHocDataViewList, - savedDataViewList, updateDataViewList, }: DiscoverTopNavProps) => { const history = useHistory(); - + const adHocDataViews = useInternalStateSelector((state) => state.adHocDataViews); + const dataView = useInternalStateSelector((state) => state.dataView!); + const savedDataViews = useInternalStateSelector((state) => state.savedDataViews); const showDatePicker = useMemo( () => dataView.isTimeBased() && dataView.type !== DataViewType.ROLLUP, [dataView] @@ -131,14 +131,10 @@ export const DiscoverTopNav = ({ const createNewDataView = useCallback(() => { closeDataViewEditor.current = dataViewEditor.openEditor({ - onSave: async (dataViewToSave) => { - if (dataViewToSave.id) { - onChangeDataView(dataViewToSave.id); - } - }, + onSave: onDataViewCreated, allowAdHocDataView: true, }); - }, [dataViewEditor, onChangeDataView]); + }, [dataViewEditor, onDataViewCreated]); const onCreateDefaultAdHocDataView = useCallback( async (pattern: string) => { @@ -148,9 +144,11 @@ export const DiscoverTopNav = ({ if (newDataView.fields.getByName('@timestamp')?.type === 'date') { newDataView.timeFieldName = '@timestamp'; } + + stateContainer.actions.appendAdHocDataViews(newDataView); onChangeDataView(newDataView.id!); }, - [dataViews, onChangeDataView] + [dataViews, onChangeDataView, stateContainer.actions] ); const topNavMenu = useMemo( @@ -165,7 +163,7 @@ export const DiscoverTopNav = ({ searchSource, onOpenSavedSearch, isPlainRecord, - adHocDataViews: adHocDataViewList, + adHocDataViews, updateDataViewList, persistDataView, updateAdHocDataViewId, @@ -180,7 +178,7 @@ export const DiscoverTopNav = ({ searchSource, onOpenSavedSearch, isPlainRecord, - adHocDataViewList, + adHocDataViews, persistDataView, updateAdHocDataViewId, updateDataViewList, @@ -188,16 +186,16 @@ export const DiscoverTopNav = ({ ); const updateSavedQueryId = (newSavedQueryId: string | undefined) => { - const { appStateContainer, setAppState } = stateContainer; + const { appState, setAppState } = stateContainer; if (newSavedQueryId) { setAppState({ savedQuery: newSavedQueryId }); } else { // remove savedQueryId from state const newState = { - ...appStateContainer.getState(), + ...appState.getState(), }; delete newState.savedQuery; - appStateContainer.set(newState); + appState.set(newState); } }; const setMenuMountPoint = useMemo(() => { @@ -208,7 +206,7 @@ export const DiscoverTopNav = ({ if (isSQLModeEnabled) { supportedTextBasedLanguages.push('SQL'); } - const dataViewPickerProps = { + const dataViewPickerProps: DataViewPickerProps = { trigger: { label: dataView?.getName() || '', 'data-test-subj': 'discover-dataView-switch-link', @@ -220,8 +218,8 @@ export const DiscoverTopNav = ({ onCreateDefaultAdHocDataView, onChangeDataView, textBasedLanguages: supportedTextBasedLanguages as DataViewPickerProps['textBasedLanguages'], - adHocDataViews: adHocDataViewList, - savedDataViewList, + adHocDataViews, + savedDataViews, }; const onTextBasedSavedAndExit = useCallback( diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts index 8a04a4a4e9ff3..0503fd4ff37e9 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts @@ -11,7 +11,7 @@ import { getTopNavLinks } from './get_top_nav_links'; import { dataViewMock } from '../../../../__mocks__/data_view'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { DiscoverServices } from '../../../../build_services'; -import { GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; const services = { capabilities: { @@ -24,7 +24,7 @@ const services = { }, } as unknown as DiscoverServices; -const state = {} as unknown as GetStateReturn; +const state = {} as unknown as DiscoverStateContainer; test('getTopNavLinks result', () => { const topNavLinks = getTopNavLinks({ diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx index 23e7176cb2845..0036b517c0eb9 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx @@ -16,7 +16,7 @@ import { showOpenSearchPanel } from './show_open_search_panel'; import { getSharingData, showPublicUrlSwitch } from '../../../../utils/get_sharing_data'; import { DiscoverServices } from '../../../../build_services'; import { onSaveSearch } from './on_save_search'; -import { GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { openOptionsPopover } from './open_options_popover'; import { openAlertsPopover } from './open_alerts_popover'; @@ -42,13 +42,13 @@ export const getTopNavLinks = ({ navigateTo: (url: string) => void; savedSearch: SavedSearch; services: DiscoverServices; - state: GetStateReturn; + state: DiscoverStateContainer; onOpenInspector: () => void; searchSource: ISearchSource; onOpenSavedSearch: (id: string) => void; isPlainRecord: boolean; adHocDataViews: DataView[]; - updateDataViewList: (dataView: DataView[]) => Promise; + updateDataViewList: (dataView: DataView[]) => void; persistDataView: (dataView: DataView) => Promise; updateAdHocDataViewId: (dataView: DataView) => Promise; }): TopNavMenuData[] => { @@ -87,7 +87,7 @@ export const getTopNavLinks = ({ services, adHocDataViews, updateDataViewList, - savedQueryId: state.appStateContainer.getState().savedQuery, + savedQueryId: state.appState.getState().savedQuery, }); }, testId: 'discoverAlertsButton', @@ -163,11 +163,7 @@ export const getTopNavLinks = ({ if (!services.share || !updatedDataView) { return; } - const sharingData = await getSharingData( - searchSource, - state.appStateContainer.getState(), - services - ); + const sharingData = await getSharingData(searchSource, state.appState.getState(), services); services.share.toggleShareContextMenu({ anchorElement, diff --git a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx index 9495fd3620dc0..f8199fadd2e61 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx @@ -15,7 +15,7 @@ import { onSaveSearch } from './on_save_search'; import { dataViewMock } from '../../../../__mocks__/data_view'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { DiscoverServices } from '../../../../build_services'; -import { GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { i18nServiceMock } from '@kbn/core/public/mocks'; import { ReactElement } from 'react'; import { discoverServiceMock } from '../../../../__mocks__/services'; @@ -30,12 +30,12 @@ describe('onSaveSearch', () => { }, } as unknown as DiscoverServices; const stateMock = { - appStateContainer: { + appState: { getState: () => ({ rowsPerPage: 250, }), }, - } as unknown as GetStateReturn; + } as unknown as DiscoverStateContainer; await onSaveSearch({ dataView: dataViewMock, @@ -52,12 +52,12 @@ describe('onSaveSearch', () => { it('should pass tags to the save modal', async () => { const serviceMock = discoverServiceMock; const stateMock = { - appStateContainer: { + appState: { getState: () => ({ rowsPerPage: 250, }), }, - } as unknown as GetStateReturn; + } as unknown as DiscoverStateContainer; let saveModal: ReactElement | undefined; jest.spyOn(savedObjectsPlugin, 'showSaveModal').mockImplementationOnce((modal) => { saveModal = modal; @@ -79,13 +79,13 @@ describe('onSaveSearch', () => { it('should update the saved search tags', async () => { const serviceMock = discoverServiceMock; const stateMock = { - appStateContainer: { + appState: { getState: () => ({ rowsPerPage: 250, }), }, resetInitialAppState: jest.fn(), - } as unknown as GetStateReturn; + } as unknown as DiscoverStateContainer; let saveModal: ReactElement | undefined; jest.spyOn(savedObjectsPlugin, 'showSaveModal').mockImplementationOnce((modal) => { saveModal = modal; @@ -123,13 +123,13 @@ describe('onSaveSearch', () => { it('should not update tags if savedObjectsTagging is undefined', async () => { const serviceMock = discoverServiceMock; const stateMock = { - appStateContainer: { + appState: { getState: () => ({ rowsPerPage: 250, }), }, resetInitialAppState: jest.fn(), - } as unknown as GetStateReturn; + } as unknown as DiscoverStateContainer; let saveModal: ReactElement | undefined; jest.spyOn(savedObjectsPlugin, 'showSaveModal').mockImplementationOnce((modal) => { saveModal = modal; diff --git a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx index d65debc53a0b8..5aa9fb6c65a5e 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx @@ -14,7 +14,7 @@ import { SavedObjectSaveModal, showSaveModal, OnSaveProps } from '@kbn/saved-obj import { DataView } from '@kbn/data-views-plugin/public'; import { SavedSearch, SaveSavedSearchOptions } from '@kbn/saved-search-plugin/public'; import { DiscoverServices } from '../../../../build_services'; -import { GetStateReturn } from '../../services/discover_state'; +import { DiscoverStateContainer } from '../../services/discover_state'; import { setBreadcrumbsTitle } from '../../../../utils/breadcrumbs'; import { persistSavedSearch } from '../../utils/persist_saved_search'; import { DOC_TABLE_LEGACY } from '../../../../../common'; @@ -33,7 +33,7 @@ async function saveDataSource({ savedSearch: SavedSearch; saveOptions: SaveSavedSearchOptions; services: DiscoverServices; - state: GetStateReturn; + state: DiscoverStateContainer; navigateOrReloadSavedSearch: boolean; }) { const prevSavedSearchId = savedSearch.id; @@ -85,7 +85,7 @@ async function saveDataSource({ onSuccess, saveOptions, services, - state: state.appStateContainer.getState(), + state: state.appState.getState(), }); } @@ -103,7 +103,7 @@ export async function onSaveSearch({ navigateTo: (path: string) => void; savedSearch: SavedSearch; services: DiscoverServices; - state: GetStateReturn; + state: DiscoverStateContainer; updateAdHocDataViewId: (dataView: DataView) => Promise; onClose?: () => void; onSaveCb?: () => void; @@ -136,7 +136,7 @@ export async function onSaveSearch({ savedSearch.timeRestore = newTimeRestore; savedSearch.rowsPerPage = uiSettings.get(DOC_TABLE_LEGACY) ? currentRowsPerPage - : state.appStateContainer.getState().rowsPerPage; + : state.appState.getState().rowsPerPage; if (savedObjectsTagging) { savedSearch.tags = newTags; } diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx index 18a4922a908b5..e0b0e38254d5d 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx @@ -30,7 +30,7 @@ interface AlertsPopoverProps { adHocDataViews: DataView[]; I18nContext: I18nStart['Context']; services: DiscoverServices; - updateDataViewList: (dataViews: DataView[]) => Promise; + updateDataViewList: (dataViews: DataView[]) => void; } interface EsQueryAlertMetaData { @@ -193,7 +193,7 @@ export function openAlertsPopover({ services: DiscoverServices; adHocDataViews: DataView[]; savedQueryId?: string; - updateDataViewList: (dataViews: DataView[]) => Promise; + updateDataViewList: (dataViews: DataView[]) => void; }) { if (isOpen) { closeAlertsPopover(); diff --git a/src/plugins/discover/public/application/main/discover_main_app.test.tsx b/src/plugins/discover/public/application/main/discover_main_app.test.tsx index c487d78836564..7ea5e944cc6a7 100644 --- a/src/plugins/discover/public/application/main/discover_main_app.test.tsx +++ b/src/plugins/discover/public/application/main/discover_main_app.test.tsx @@ -19,6 +19,8 @@ import { discoverServiceMock } from '../../__mocks__/services'; import { Router } from 'react-router-dom'; import { createMemoryHistory } from 'history'; import { urlTrackerMock } from '../../__mocks__/url_tracker.mock'; +import { getDiscoverStateMock } from '../../__mocks__/discover_state.mock'; +import { DiscoverMainProvider } from './services/discover_state_provider'; setHeaderActionMenuMounter(jest.fn()); setUrlTracker(urlTrackerMock); @@ -28,6 +30,8 @@ describe('DiscoverMainApp', () => { const dataViewList = [dataViewMock].map((ip) => { return { ...ip, ...{ attributes: { title: ip.title } } }; }) as unknown as DataViewListItem[]; + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + stateContainer.actions.setDataView(dataViewMock); const props = { dataViewList, savedSearch: savedSearchMock, @@ -40,7 +44,9 @@ describe('DiscoverMainApp', () => { const component = await mountWithIntl( - + + + ); @@ -50,7 +56,7 @@ describe('DiscoverMainApp', () => { await component.update(); expect(component.find(DiscoverTopNav).exists()).toBe(true); - expect(component.find(DiscoverTopNav).prop('dataView')).toEqual(dataViewMock); + expect(component.find(DiscoverTopNav).prop('savedSearch')).toEqual(savedSearchMock); }); }); }); diff --git a/src/plugins/discover/public/application/main/discover_main_app.tsx b/src/plugins/discover/public/application/main/discover_main_app.tsx index 06fe8031829f9..a91ed42a55a62 100644 --- a/src/plugins/discover/public/application/main/discover_main_app.tsx +++ b/src/plugins/discover/public/application/main/discover_main_app.tsx @@ -17,7 +17,7 @@ import { useUrl } from './hooks/use_url'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { DataTableRecord } from '../../types'; import { useSavedSearchAliasMatchRedirect } from '../../hooks/saved_search_alias_match_redirect'; -import { DiscoverAppStateProvider } from './services/discover_app_state_container'; +import { DiscoverMainProvider } from './services/discover_state_provider'; const DiscoverLayoutMemoized = React.memo(DiscoverLayout); @@ -50,27 +50,22 @@ export function DiscoverMainApp(props: DiscoverMainProps) { */ const { data$, - dataView, inspectorAdapters, onChangeDataView, onUpdateQuery, persistDataView, updateAdHocDataViewId, - updateDataViewList, refetch$, resetSavedSearch, searchSource, - state, stateContainer, - adHocDataViewList, - savedDataViewList, searchSessionManager, + updateDataViewList, } = useDiscoverState({ services, history: usedHistory, savedSearch, setExpandedDoc, - dataViewList, }); /** @@ -97,6 +92,14 @@ export function DiscoverMainApp(props: DiscoverMainProps) { addHelpMenuToAppChrome(chrome, docLinks); }, [stateContainer, chrome, docLinks]); + /** + * Set initial data view list + * Can be removed once the state container work was completed + */ + useEffect(() => { + stateContainer.internalState.transitions.setSavedDataViews(dataViewList); + }, [stateContainer, dataViewList]); + const resetCurrentSavedSearch = useCallback(() => { resetSavedSearch(savedSearch.id); }, [resetSavedSearch, savedSearch]); @@ -104,10 +107,8 @@ export function DiscoverMainApp(props: DiscoverMainProps) { useSavedSearchAliasMatchRedirect({ savedSearch, spaces, history }); return ( - + - + ); } diff --git a/src/plugins/discover/public/application/main/discover_main_route.tsx b/src/plugins/discover/public/application/main/discover_main_route.tsx index 1a52dd37a607b..b317c0e5cffdc 100644 --- a/src/plugins/discover/public/application/main/discover_main_route.tsx +++ b/src/plugins/discover/public/application/main/discover_main_route.tsx @@ -9,7 +9,7 @@ import React, { useEffect, useState, memo, useCallback, useMemo } from 'react'; import { useParams, useHistory } from 'react-router-dom'; import { DataViewListItem } from '@kbn/data-plugin/public'; import { isOfAggregateQueryType } from '@kbn/es-query'; -import { DataViewSavedObjectConflictError } from '@kbn/data-views-plugin/public'; +import { DataViewSavedObjectConflictError, type DataView } from '@kbn/data-views-plugin/public'; import { redirectWhenMissing } from '@kbn/kibana-utils-plugin/public'; import { useExecutionContext } from '@kbn/kibana-react-plugin/public'; import { @@ -21,7 +21,8 @@ import { getSavedSearch, getSavedSearchFullPathUrl, } from '@kbn/saved-search-plugin/public'; -import { getState } from './services/discover_state'; +import { MainHistoryLocationState } from '../../../common/locator'; +import { getDiscoverStateContainer } from './services/discover_state'; import { loadDataView, resolveDataView } from './utils/resolve_data_view'; import { DiscoverMainApp } from './discover_main_app'; import { getRootBreadcrumbs, getSavedSearchBreadcrumbs } from '../../utils/breadcrumbs'; @@ -30,7 +31,7 @@ import { DiscoverError } from '../../components/common/error_alert'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { getScopedHistory, getUrlTracker } from '../../kibana_services'; import { restoreStateFromSavedSearch } from '../../services/saved_searches/restore_from_saved_search'; -import { MainHistoryLocationState } from '../../locator'; +import { useAlertResultsToast } from './hooks/use_alert_results_toast'; const DiscoverMainAppMemoized = memo(DiscoverMainApp); @@ -56,8 +57,8 @@ export function DiscoverMainRoute(props: Props) { dataViewEditor, } = services; const [error, setError] = useState(); + const [loading, setLoading] = useState(true); const [savedSearch, setSavedSearch] = useState(); - const dataView = savedSearch?.searchSource?.getField('index'); const [dataViewList, setDataViewList] = useState([]); const [hasESData, setHasESData] = useState(false); const [hasUserDataView, setHasUserDataView] = useState(false); @@ -72,6 +73,11 @@ export function DiscoverMainRoute(props: Props) { [] ); + useAlertResultsToast({ + isAlertResults: historyLocationState?.isAlertResults, + toastNotifications, + }); + useExecutionContext(core.executionContext, { type: 'application', page: 'app', @@ -94,8 +100,19 @@ export function DiscoverMainRoute(props: Props) { return; } - const { appStateContainer } = getState({ history, savedSearch: nextSavedSearch, services }); - const { index, query } = appStateContainer.getState(); + const defaultDataView = await data.dataViews.getDefaultDataView(); + + if (!defaultDataView) { + setShowNoDataPage(true); + return; + } + + const { appState } = getDiscoverStateContainer({ + history, + savedSearch: nextSavedSearch, + services, + }); + const { index, query } = appState.getState(); const ip = await loadDataView( data.dataViews, config, @@ -129,84 +146,92 @@ export function DiscoverMainRoute(props: Props) { ] ); - const loadSavedSearch = useCallback(async () => { - try { - const currentSavedSearch = await getSavedSearch(id, { - search: services.data.search, - savedObjectsClient: core.savedObjects.client, - spaces: services.spaces, - savedObjectsTagging: services.savedObjectsTagging, - }); + const loadSavedSearch = useCallback( + async (nextDataView?: DataView) => { + try { + setLoading(true); + const currentSavedSearch = await getSavedSearch(id, { + search: services.data.search, + savedObjectsClient: core.savedObjects.client, + spaces: services.spaces, + savedObjectsTagging: services.savedObjectsTagging, + }); - const currentDataView = await loadDefaultOrCurrentDataView(currentSavedSearch); + const currentDataView = nextDataView + ? nextDataView + : await loadDefaultOrCurrentDataView(currentSavedSearch); - if (!currentDataView) { - return; - } + if (!currentDataView) { + return; + } - if (!currentSavedSearch.searchSource.getField('index')) { - currentSavedSearch.searchSource.setField('index', currentDataView); - } + if (!currentSavedSearch.searchSource.getField('index')) { + currentSavedSearch.searchSource.setField('index', currentDataView); + } - restoreStateFromSavedSearch({ - savedSearch: currentSavedSearch, - timefilter: services.timefilter, - }); + restoreStateFromSavedSearch({ + savedSearch: currentSavedSearch, + timefilter: services.timefilter, + }); - setSavedSearch(currentSavedSearch); + setSavedSearch(currentSavedSearch); - if (currentSavedSearch.id) { - chrome.recentlyAccessed.add( - getSavedSearchFullPathUrl(currentSavedSearch.id), - currentSavedSearch.title ?? '', - currentSavedSearch.id - ); - } - } catch (e) { - if (e instanceof DataViewSavedObjectConflictError) { - setError(e); - } else { - redirectWhenMissing({ - history, - navigateToApp: core.application.navigateToApp, - basePath, - mapping: { - search: '/', - 'index-pattern': { - app: 'management', - path: `kibana/objects/savedSearches/${id}`, + if (currentSavedSearch.id) { + chrome.recentlyAccessed.add( + getSavedSearchFullPathUrl(currentSavedSearch.id), + currentSavedSearch.title ?? '', + currentSavedSearch.id + ); + } + setLoading(false); + } catch (e) { + if (e instanceof DataViewSavedObjectConflictError) { + setError(e); + } else { + redirectWhenMissing({ + history, + navigateToApp: core.application.navigateToApp, + basePath, + mapping: { + search: '/', + 'index-pattern': { + app: 'management', + path: `kibana/objects/savedSearches/${id}`, + }, }, - }, - toastNotifications, - onBeforeRedirect() { - getUrlTracker().setTrackedUrl('/'); - }, - theme: core.theme, - })(e); + toastNotifications, + onBeforeRedirect() { + getUrlTracker().setTrackedUrl('/'); + }, + theme: core.theme, + })(e); + } } - } - }, [ - id, - services.data, - services.spaces, - services.timefilter, - services.savedObjectsTagging, - core.savedObjects.client, - core.application.navigateToApp, - core.theme, - loadDefaultOrCurrentDataView, - chrome.recentlyAccessed, - history, - basePath, - toastNotifications, - ]); + }, + [ + id, + services.data, + services.spaces, + services.timefilter, + services.savedObjectsTagging, + core.savedObjects.client, + core.application.navigateToApp, + core.theme, + loadDefaultOrCurrentDataView, + chrome.recentlyAccessed, + history, + basePath, + toastNotifications, + ] + ); const onDataViewCreated = useCallback( async (nextDataView: unknown) => { if (nextDataView) { + setLoading(true); setShowNoDataPage(false); setError(undefined); - await loadSavedSearch(); + await loadSavedSearch(nextDataView as DataView); } }, [loadSavedSearch] @@ -243,7 +268,7 @@ export function DiscoverMainRoute(props: Props) { return ( - + ); } @@ -252,7 +277,7 @@ export function DiscoverMainRoute(props: Props) { return ; } - if (!dataView || !savedSearch) { + if (loading || !savedSearch) { return ; } diff --git a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts deleted file mode 100644 index ef5f5a60b21d6..0000000000000 --- a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; -import type { DataView } from '@kbn/data-views-plugin/public'; -import { act, renderHook } from '@testing-library/react-hooks'; -import { discoverServiceMock as mockDiscoverServices } from '../../../__mocks__/services'; -import { GetStateReturn } from '../services/discover_state'; -import { useAdHocDataViews } from './use_adhoc_data_views'; -import * as persistencePromptModule from '../../../hooks/use_confirm_persistence_prompt'; -import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; -import { setUrlTracker } from '../../../kibana_services'; - -jest.mock('../../../hooks/use_confirm_persistence_prompt', () => { - const createdDataView = { - id: 'updated-mock-id', - }; - const mocks = { - openConfirmSavePrompt: jest.fn(() => Promise.resolve(createdDataView)), - updateSavedSearch: jest.fn(() => Promise.resolve({})), - }; - - return { - useConfirmPersistencePrompt: () => mocks, - mocks, - }; -}); - -jest.mock('../../../kibana_services', () => { - const actual = jest.requireActual('../../../kibana_services'); - return { - ...actual, - getUiActions: jest.fn(() => ({ - getTrigger: jest.fn(() => {}), - getAction: jest.fn(() => ({ execute: jest.fn() })), - })), - }; -}); - -setUrlTracker(urlTrackerMock); - -interface ConfirmPromptMocks { - openConfirmSavePrompt: jest.Mock; - updateSavedSearch: jest.Mock; -} - -const persistencePromptMocks = ( - persistencePromptModule as unknown as { - useConfirmPersistencePrompt: () => ConfirmPromptMocks; - mocks: ConfirmPromptMocks; - } -).mocks; - -const mockDataView = { - id: 'mock-id', - title: 'mock-title', - timeFieldName: 'mock-time-field-name', - isPersisted: () => false, - getName: () => 'mock-data-view', - toSpec: () => ({}), -} as DataView; - -const savedSearchMock = { - id: 'some-id', - searchSource: createSearchSourceMock({ index: mockDataView }), -}; - -describe('useAdHocDataViews', () => { - it('should save data view with new id and update saved search', async () => { - const hook = renderHook((d: DataView) => - useAdHocDataViews({ - dataView: mockDataView, - savedSearch: savedSearchMock, - stateContainer: { - appStateContainer: { getState: jest.fn().mockReturnValue({}) }, - replaceUrlAppState: jest.fn(), - kbnUrlStateStorage: { - kbnUrlControls: { flush: jest.fn() }, - }, - } as unknown as GetStateReturn, - setUrlTracking: jest.fn(), - dataViews: mockDiscoverServices.dataViews, - filterManager: mockDiscoverServices.filterManager, - toastNotifications: mockDiscoverServices.toastNotifications, - }) - ); - - const savedDataView = await hook.result.current.persistDataView(); - - expect(persistencePromptMocks.openConfirmSavePrompt).toHaveBeenCalledWith(mockDataView); - const updateSavedSearchCall = persistencePromptMocks.updateSavedSearch.mock.calls[0]; - expect(updateSavedSearchCall[0].dataView.id).toEqual('updated-mock-id'); - expect(savedDataView!.id).toEqual('updated-mock-id'); - }); - - it('should update id of adhoc data view correctly', async () => { - const dataViewsCreateMock = mockDiscoverServices.dataViews.create as jest.Mock; - dataViewsCreateMock.mockImplementation(() => ({ - ...mockDataView, - id: 'updated-mock-id', - })); - const hook = renderHook((d: DataView) => - useAdHocDataViews({ - dataView: mockDataView, - savedSearch: savedSearchMock, - stateContainer: { - appStateContainer: { getState: jest.fn().mockReturnValue({}) }, - replaceUrlAppState: jest.fn(), - kbnUrlStateStorage: { - kbnUrlControls: { flush: jest.fn() }, - }, - } as unknown as GetStateReturn, - setUrlTracking: jest.fn(), - dataViews: mockDiscoverServices.dataViews, - filterManager: mockDiscoverServices.filterManager, - toastNotifications: mockDiscoverServices.toastNotifications, - }) - ); - - let updatedDataView: DataView; - await act(async () => { - updatedDataView = await hook.result.current.updateAdHocDataViewId(mockDataView); - }); - - expect(dataViewsCreateMock).toHaveBeenCalledWith({ - id: undefined, - }); - expect(updatedDataView!.id).toEqual('updated-mock-id'); - }); - - it('should update the adHocList correctly for text based mode', async () => { - const hook = renderHook((d: DataView) => - useAdHocDataViews({ - dataView: mockDataView, - savedSearch: savedSearchMock, - stateContainer: { - appStateContainer: { getState: jest.fn().mockReturnValue({}) }, - replaceUrlAppState: jest.fn(), - kbnUrlStateStorage: { - kbnUrlControls: { flush: jest.fn() }, - }, - } as unknown as GetStateReturn, - setUrlTracking: jest.fn(), - dataViews: mockDiscoverServices.dataViews, - filterManager: mockDiscoverServices.filterManager, - toastNotifications: mockDiscoverServices.toastNotifications, - isTextBasedMode: true, - }) - ); - - const adHocList = await hook.result.current.adHocDataViewList; - expect(adHocList.length).toBe(1); - expect(adHocList[0].id).toEqual('mock-id'); - }); -}); diff --git a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx new file mode 100644 index 0000000000000..770373f74825f --- /dev/null +++ b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx @@ -0,0 +1,138 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; +import type { DataView } from '@kbn/data-views-plugin/public'; +import { act, renderHook } from '@testing-library/react-hooks'; +import { discoverServiceMock as mockDiscoverServices } from '../../../__mocks__/services'; +import { useAdHocDataViews } from './use_adhoc_data_views'; +import * as persistencePromptModule from '../../../hooks/use_confirm_persistence_prompt'; +import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; +import { setUrlTracker } from '../../../kibana_services'; +import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; +import { DiscoverMainProvider } from '../services/discover_state_provider'; + +jest.mock('../../../hooks/use_confirm_persistence_prompt', () => { + const createdDataView = { + id: 'updated-mock-id', + }; + const mocks = { + openConfirmSavePrompt: jest.fn(() => Promise.resolve(createdDataView)), + updateSavedSearch: jest.fn(() => Promise.resolve({})), + }; + + return { + useConfirmPersistencePrompt: () => mocks, + mocks, + }; +}); + +jest.mock('../../../kibana_services', () => { + const actual = jest.requireActual('../../../kibana_services'); + return { + ...actual, + getUiActions: jest.fn(() => ({ + getTrigger: jest.fn(() => {}), + getAction: jest.fn(() => ({ execute: jest.fn() })), + })), + }; +}); + +setUrlTracker(urlTrackerMock); + +interface ConfirmPromptMocks { + openConfirmSavePrompt: jest.Mock; + updateSavedSearch: jest.Mock; +} + +const persistencePromptMocks = ( + persistencePromptModule as unknown as { + useConfirmPersistencePrompt: () => ConfirmPromptMocks; + mocks: ConfirmPromptMocks; + } +).mocks; + +const mockDataView = { + id: 'mock-id', + title: 'mock-title', + timeFieldName: 'mock-time-field-name', + isPersisted: () => false, + getName: () => 'mock-data-view', + toSpec: () => ({}), +} as DataView; + +const savedSearchMock = { + id: 'some-id', + searchSource: createSearchSourceMock({ index: mockDataView }), +}; + +describe('useAdHocDataViews', () => { + it('should save data view with new id and update saved search', async () => { + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + + const hook = renderHook( + () => + useAdHocDataViews({ + dataView: mockDataView, + savedSearch: savedSearchMock, + stateContainer, + setUrlTracking: jest.fn(), + dataViews: mockDiscoverServices.dataViews, + filterManager: mockDiscoverServices.filterManager, + toastNotifications: mockDiscoverServices.toastNotifications, + }), + { + wrapper: ({ children }: { children: React.ReactElement }) => ( + {children} + ), + } + ); + + const savedDataView = await hook.result.current.persistDataView(); + + expect(persistencePromptMocks.openConfirmSavePrompt).toHaveBeenCalledWith(mockDataView); + const updateSavedSearchCall = persistencePromptMocks.updateSavedSearch.mock.calls[0]; + expect(updateSavedSearchCall[0].dataView.id).toEqual('updated-mock-id'); + expect(savedDataView!.id).toEqual('updated-mock-id'); + }); + + it('should update id of adhoc data view correctly', async () => { + const dataViewsCreateMock = mockDiscoverServices.dataViews.create as jest.Mock; + dataViewsCreateMock.mockImplementation(() => ({ + ...mockDataView, + id: 'updated-mock-id', + })); + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + const hook = renderHook( + () => + useAdHocDataViews({ + dataView: mockDataView, + savedSearch: savedSearchMock, + stateContainer: getDiscoverStateMock({ isTimeBased: true }), + setUrlTracking: jest.fn(), + dataViews: mockDiscoverServices.dataViews, + filterManager: mockDiscoverServices.filterManager, + toastNotifications: mockDiscoverServices.toastNotifications, + }), + { + wrapper: ({ children }: { children: React.ReactElement }) => ( + {children} + ), + } + ); + + let updatedDataView: DataView; + await act(async () => { + updatedDataView = await hook.result.current.updateAdHocDataViewId(mockDataView); + }); + + expect(mockDiscoverServices.dataViews.clearInstanceCache).toHaveBeenCalledWith(mockDataView.id); + expect(updatedDataView!.id).toEqual('updated-mock-id'); + }); +}); diff --git a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts index 1871fb9273d2c..0ba8eb6ec2394 100644 --- a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts +++ b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts @@ -6,22 +6,18 @@ * Side Public License, v 1. */ -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect } from 'react'; +import uuid from 'uuid/v4'; import type { DataView, DataViewsContract } from '@kbn/data-views-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; -import { METRIC_TYPE } from '@kbn/analytics'; -import { - UPDATE_FILTER_REFERENCES_ACTION, - UPDATE_FILTER_REFERENCES_TRIGGER, -} from '@kbn/unified-search-plugin/public'; -import { ActionExecutionContext } from '@kbn/ui-actions-plugin/public'; import type { FilterManager } from '@kbn/data-plugin/public'; import type { ToastsStart } from '@kbn/core-notifications-browser'; +import { METRIC_TYPE } from '@kbn/analytics'; import { ADHOC_DATA_VIEW_RENDER_EVENT } from '../../../constants'; -import { getUiActions } from '../../../kibana_services'; import { useConfirmPersistencePrompt } from '../../../hooks/use_confirm_persistence_prompt'; -import { GetStateReturn } from '../services/discover_state'; +import { DiscoverStateContainer } from '../services/discover_state'; import { useFiltersValidation } from './use_filters_validation'; +import { updateFiltersReferences } from '../utils/update_filter_references'; export const useAdHocDataViews = ({ dataView, @@ -36,7 +32,7 @@ export const useAdHocDataViews = ({ }: { dataView: DataView; savedSearch: SavedSearch; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; setUrlTracking: (dataView: DataView) => void; dataViews: DataViewsContract; filterManager: FilterManager; @@ -44,20 +40,9 @@ export const useAdHocDataViews = ({ trackUiMetric?: (metricType: string, eventName: string | string[], count?: number) => void; isTextBasedMode?: boolean; }) => { - const [adHocDataViewList, setAdHocDataViewList] = useState( - !dataView.isPersisted() ? [dataView] : [] - ); - useEffect(() => { if (!dataView.isPersisted()) { - setAdHocDataViewList((prev) => { - const existing = prev.find((prevDataView) => prevDataView.id === dataView.id); - return existing ? prev : isTextBasedMode ? [dataView] : [...prev, dataView]; - }); - // increase the counter only for dataview mode - if (!isTextBasedMode) { - trackUiMetric?.(METRIC_TYPE.COUNT, ADHOC_DATA_VIEW_RENDER_EVENT); - } + trackUiMetric?.(METRIC_TYPE.COUNT, ADHOC_DATA_VIEW_RENDER_EVENT); } }, [dataView, isTextBasedMode, trackUiMetric]); @@ -71,65 +56,41 @@ export const useAdHocDataViews = ({ * This is to prevent duplicate ids messing with our system */ const updateAdHocDataViewId = useCallback( - async (dataViewToUpdate: DataView) => { - const newDataView = await dataViews.create({ ...dataViewToUpdate.toSpec(), id: undefined }); - - dataViews.clearInstanceCache(dataViewToUpdate.id); - setAdHocDataViewList((prev) => - prev.filter((d) => d.id && dataViewToUpdate.id && d.id !== dataViewToUpdate.id) - ); + async (prevDataView: DataView) => { + const newDataView = await dataViews.create({ ...prevDataView.toSpec(), id: uuid() }); + dataViews.clearInstanceCache(prevDataView.id); - // update filters references - const uiActions = await getUiActions(); - const trigger = uiActions.getTrigger(UPDATE_FILTER_REFERENCES_TRIGGER); - const action = uiActions.getAction(UPDATE_FILTER_REFERENCES_ACTION); + updateFiltersReferences(prevDataView, newDataView); - action?.execute({ - trigger, - fromDataView: dataViewToUpdate.id, - toDataView: newDataView.id, - usedDataViews: [], - } as ActionExecutionContext); + stateContainer.actions.replaceAdHocDataViewWithId(prevDataView.id!, newDataView); + await stateContainer.replaceUrlAppState({ index: newDataView.id }); - savedSearch.searchSource.setField('index', newDataView); - stateContainer.replaceUrlAppState({ index: newDataView.id }); setUrlTracking(newDataView); return newDataView; }, - [dataViews, setUrlTracking, stateContainer, savedSearch.searchSource] + [dataViews, setUrlTracking, stateContainer] ); - const { openConfirmSavePrompt, updateSavedSearch } = - useConfirmPersistencePrompt(updateAdHocDataViewId); + const { openConfirmSavePrompt, updateSavedSearch } = useConfirmPersistencePrompt(stateContainer); const persistDataView = useCallback(async () => { const currentDataView = savedSearch.searchSource.getField('index')!; - if (currentDataView && !currentDataView.isPersisted()) { - const createdDataView = await openConfirmSavePrompt(currentDataView); + if (!currentDataView || currentDataView.isPersisted()) { + return currentDataView; + } + + const createdDataView = await openConfirmSavePrompt(currentDataView); + if (!createdDataView) { + return currentDataView; // persistance cancelled + } + if (savedSearch.id) { // update saved search with saved data view - if (createdDataView && savedSearch.id) { - const currentState = stateContainer.appStateContainer.getState(); - await updateSavedSearch({ savedSearch, dataView: createdDataView, state: currentState }); - } - return createdDataView; + const currentState = stateContainer.appState.getState(); + await updateSavedSearch({ savedSearch, dataView: createdDataView, state: currentState }); } - return currentDataView; - }, [stateContainer, openConfirmSavePrompt, savedSearch, updateSavedSearch]); - const onAddAdHocDataViews = useCallback((newDataViews: DataView[]) => { - setAdHocDataViewList((prev) => { - const newAdHocDataViews = newDataViews.filter( - (newDataView) => !prev.find((d) => d.id === newDataView.id) - ); - return [...prev, ...newAdHocDataViews]; - }); - }, []); + return createdDataView; + }, [stateContainer, openConfirmSavePrompt, savedSearch, updateSavedSearch]); - return { - adHocDataViewList, - persistDataView, - updateAdHocDataViewId, - onAddAdHocDataViews, - setAdHocDataViewList, - }; + return { persistDataView, updateAdHocDataViewId }; }; diff --git a/src/plugins/discover/public/application/main/hooks/use_alert_results_toast.tsx b/src/plugins/discover/public/application/main/hooks/use_alert_results_toast.tsx new file mode 100644 index 0000000000000..424cd554ecd15 --- /dev/null +++ b/src/plugins/discover/public/application/main/hooks/use_alert_results_toast.tsx @@ -0,0 +1,41 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ToastsStart } from '@kbn/core/public'; +import { i18n } from '@kbn/i18n'; +import { MarkdownSimple, toMountPoint } from '@kbn/kibana-react-plugin/public'; +import React, { useEffect } from 'react'; + +export const displayPossibleDocsDiffInfoAlert = (toastNotifications: ToastsStart) => { + const infoTitle = i18n.translate('discover.viewAlert.documentsMayVaryInfoTitle', { + defaultMessage: 'Displayed documents may vary', + }); + const infoDescription = i18n.translate('discover.viewAlert.documentsMayVaryInfoDescription', { + defaultMessage: `The displayed documents might differ from the documents that triggered the alert. + Some documents might have been added or deleted.`, + }); + + toastNotifications.addInfo({ + title: infoTitle, + text: toMountPoint({infoDescription}), + }); +}; + +export const useAlertResultsToast = ({ + isAlertResults, + toastNotifications, +}: { + isAlertResults?: boolean; + toastNotifications: ToastsStart; +}) => { + useEffect(() => { + if (isAlertResults) { + displayPossibleDocsDiffInfoAlert(toastNotifications); + } + }, [isAlertResults, toastNotifications]); +}; diff --git a/src/plugins/discover/public/application/main/hooks/use_data_state.ts b/src/plugins/discover/public/application/main/hooks/use_data_state.ts index fe512e747b4a1..e27e31f147671 100644 --- a/src/plugins/discover/public/application/main/hooks/use_data_state.ts +++ b/src/plugins/discover/public/application/main/hooks/use_data_state.ts @@ -15,7 +15,7 @@ export function useDataState(data$: BehaviorSubject) { useEffect(() => { const subscription = data$.subscribe((next) => { if (next.fetchStatus !== fetchState.fetchStatus) { - setFetchState({ ...fetchState, ...next }); + setFetchState({ ...fetchState, ...next, ...(next.error ? {} : { error: undefined }) }); } }); return () => subscription.unsubscribe(); diff --git a/src/plugins/discover/public/application/main/hooks/use_discover_state.test.tsx b/src/plugins/discover/public/application/main/hooks/use_discover_state.test.tsx index cdb931bbbd718..1640e85c46d88 100644 --- a/src/plugins/discover/public/application/main/hooks/use_discover_state.test.tsx +++ b/src/plugins/discover/public/application/main/hooks/use_discover_state.test.tsx @@ -5,32 +5,39 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import React from 'react'; import { renderHook } from '@testing-library/react-hooks'; -import { DataViewListItem, SearchSource } from '@kbn/data-plugin/public'; +import { SearchSource } from '@kbn/data-plugin/public'; import { createSearchSessionMock } from '../../../__mocks__/search_session'; import { discoverServiceMock } from '../../../__mocks__/services'; import { savedSearchMock } from '../../../__mocks__/saved_search'; import { useDiscoverState } from './use_discover_state'; -import { dataViewMock } from '../../../__mocks__/data_view'; import { setUrlTracker } from '../../../kibana_services'; import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; +import { DiscoverMainProvider } from '../services/discover_state_provider'; +import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; setUrlTracker(urlTrackerMock); describe('test useDiscoverState', () => { test('return is valid', async () => { const { history } = createSearchSessionMock(); + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); - const { result } = renderHook(() => { - return useDiscoverState({ - services: discoverServiceMock, - history, - savedSearch: savedSearchMock, - setExpandedDoc: jest.fn(), - dataViewList: [dataViewMock as DataViewListItem], - }); - }); - expect(result.current.state.index).toBe(dataViewMock.id); + const { result } = renderHook( + () => { + return useDiscoverState({ + services: discoverServiceMock, + history, + savedSearch: savedSearchMock, + setExpandedDoc: jest.fn(), + }); + }, + { + wrapper: ({ children }: { children: React.ReactElement }) => ( + {children} + ), + } + ); expect(result.current.stateContainer).toBeInstanceOf(Object); expect(result.current.searchSource).toBeInstanceOf(SearchSource); }); diff --git a/src/plugins/discover/public/application/main/hooks/use_discover_state.ts b/src/plugins/discover/public/application/main/hooks/use_discover_state.ts index bc8b97fb6f32b..6eefb25580969 100644 --- a/src/plugins/discover/public/application/main/hooks/use_discover_state.ts +++ b/src/plugins/discover/public/application/main/hooks/use_discover_state.ts @@ -9,12 +9,12 @@ import { useMemo, useEffect, useState, useCallback } from 'react'; import { isEqual } from 'lodash'; import { History } from 'history'; import { isOfAggregateQueryType } from '@kbn/es-query'; -import { type DataViewListItem, type DataView, DataViewType } from '@kbn/data-views-plugin/public'; +import { type DataView, DataViewType } from '@kbn/data-views-plugin/public'; import { SavedSearch, getSavedSearch } from '@kbn/saved-search-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { useTextBasedQueryLanguage } from './use_text_based_query_language'; import { useUrlTracking } from './use_url_tracking'; -import { getState } from '../services/discover_state'; +import { getDiscoverStateContainer } from '../services/discover_state'; import { getStateDefaults } from '../utils/get_state_defaults'; import { DiscoverServices } from '../../../build_services'; import { loadDataView, resolveDataView } from '../utils/resolve_data_view'; @@ -37,13 +37,11 @@ export function useDiscoverState({ history, savedSearch, setExpandedDoc, - dataViewList: initialDataViewList, }: { services: DiscoverServices; savedSearch: SavedSearch; history: History; setExpandedDoc: (doc?: DataTableRecord) => void; - dataViewList: DataViewListItem[]; }) { const { uiSettings, data, filterManager, dataViews, toastNotifications, trackUiMetric } = services; @@ -57,21 +55,25 @@ export function useDiscoverState({ return savedSearch.searchSource.createChild(); }, [savedSearch, dataView]); - const { setUrlTracking } = useUrlTracking(savedSearch, dataView); + const stateContainer = useMemo(() => { + const container = getDiscoverStateContainer({ + history, + savedSearch, + services, + }); + const nextDataView = savedSearch.searchSource.getField('index')!; + container.actions.setDataView(nextDataView); + if (!nextDataView.isPersisted()) { + container.actions.appendAdHocDataViews(nextDataView); + } + return container; + }, [history, savedSearch, services]); - const stateContainer = useMemo( - () => - getState({ - history, - savedSearch, - services, - }), - [history, savedSearch, services] - ); + const { setUrlTracking } = useUrlTracking(savedSearch, dataView); - const { appStateContainer, replaceUrlAppState } = stateContainer; + const { appState, replaceUrlAppState } = stateContainer; - const [state, setState] = useState(appStateContainer.getState()); + const [state, setState] = useState(appState.getState()); /** * Search session logic @@ -89,68 +91,31 @@ export function useDiscoverState({ return shouldSearchOnPageLoad ? FetchStatus.LOADING : FetchStatus.UNINITIALIZED; }, [uiSettings, savedSearch.id, searchSessionManager, timefilter]); - /** - * Function triggered when user changes data view in the sidebar - */ - const onChangeDataView = useCallback( - async (id: string) => { - const nextDataView = await dataViews.get(id); - if (nextDataView && dataView) { - const nextAppState = getDataViewAppState( - dataView, - nextDataView, - state.columns || [], - (state.sort || []) as SortOrder[], - uiSettings.get(MODIFY_COLUMNS_ON_SWITCH), - uiSettings.get(SORT_DEFAULT_ORDER_SETTING), - state.query - ); - setUrlTracking(nextDataView); - stateContainer.setAppState(nextAppState); - } - setExpandedDoc(undefined); - }, - [ - setUrlTracking, - uiSettings, - dataView, - dataViews, - setExpandedDoc, - state.columns, - state.query, - state.sort, - stateContainer, - ] - ); - /** * Adhoc data views functionality */ const isTextBasedMode = state?.query && isOfAggregateQueryType(state?.query); - const { adHocDataViewList, persistDataView, updateAdHocDataViewId, onAddAdHocDataViews } = - useAdHocDataViews({ - dataView, - dataViews, - stateContainer, - savedSearch, - setUrlTracking, - filterManager, - toastNotifications, - trackUiMetric, - isTextBasedMode, - }); - - const [savedDataViewList, setSavedDataViewList] = useState(initialDataViewList); + const { persistDataView, updateAdHocDataViewId } = useAdHocDataViews({ + dataView, + dataViews, + stateContainer, + savedSearch, + setUrlTracking, + filterManager, + toastNotifications, + trackUiMetric, + isTextBasedMode, + }); /** * Updates data views selector state */ const updateDataViewList = useCallback( async (newAdHocDataViews: DataView[]) => { - setSavedDataViewList(await data.dataViews.getIdsWithTitle()); - onAddAdHocDataViews(newAdHocDataViews); + await stateContainer.actions.loadDataViewList(); + stateContainer.actions.setAdHocDataViews(newAdHocDataViews); }, - [data.dataViews, onAddAdHocDataViews] + [stateContainer.actions] ); /** @@ -172,7 +137,6 @@ export function useDiscoverState({ documents$: data$.documents$, dataViews, stateContainer, - dataViewList: [...savedDataViewList, ...adHocDataViewList], savedSearch, }); @@ -187,7 +151,7 @@ export function useDiscoverState({ */ useEffect(() => { const stopSync = stateContainer.initializeAndSync(dataView, filterManager, data); - setState(stateContainer.appStateContainer.getState()); + setState(stateContainer.appState.getState()); return () => stopSync(); }, [stateContainer, filterManager, data, dataView]); @@ -196,7 +160,7 @@ export function useDiscoverState({ * Track state changes that should trigger a fetch */ useEffect(() => { - const unsubscribe = appStateContainer.subscribe(async (nextState) => { + const unsubscribe = appState.subscribe(async (nextState) => { const { hideChart, interval, breakdownField, sort, index } = state; // Cast to boolean to avoid false positives when comparing // undefined and false, which would trigger a refetch @@ -230,9 +194,9 @@ export function useDiscoverState({ replaceUrlAppState({ index: nextDataView.id }); return; } - savedSearch.searchSource.setField('index', nextDataView); reset(); + stateContainer.actions.setDataView(nextDataView); } if ( @@ -249,15 +213,50 @@ export function useDiscoverState({ return () => unsubscribe(); }, [ services, - appStateContainer, + appState, state, refetch$, data$, reset, - savedSearch.searchSource, + savedSearch, replaceUrlAppState, + stateContainer, ]); + /** + * Function triggered when user changes data view in the sidebar + */ + const onChangeDataView = useCallback( + async (id: string) => { + const nextDataView = await dataViews.get(id); + if (nextDataView && dataView) { + const nextAppState = getDataViewAppState( + dataView, + nextDataView, + state.columns || [], + (state.sort || []) as SortOrder[], + uiSettings.get(MODIFY_COLUMNS_ON_SWITCH), + uiSettings.get(SORT_DEFAULT_ORDER_SETTING), + state.query + ); + setUrlTracking(nextDataView); + stateContainer.setAppState(nextAppState); + } + setExpandedDoc(undefined); + }, + [ + setUrlTracking, + uiSettings, + dataView, + dataViews, + setExpandedDoc, + state.columns, + state.query, + state.sort, + stateContainer, + ] + ); + /** * function to revert any changes to a given saved search */ @@ -322,21 +321,16 @@ export function useDiscoverState({ return { data$, - dataView, inspectorAdapters, refetch$, resetSavedSearch, onChangeDataView, onUpdateQuery, searchSource, - setState, - state, stateContainer, - adHocDataViewList, - savedDataViewList, persistDataView, updateAdHocDataViewId, - updateDataViewList, searchSessionManager, + updateDataViewList, }; } diff --git a/src/plugins/discover/public/application/main/hooks/use_saved_search.test.ts b/src/plugins/discover/public/application/main/hooks/use_saved_search.test.ts deleted file mode 100644 index f46378053d355..0000000000000 --- a/src/plugins/discover/public/application/main/hooks/use_saved_search.test.ts +++ /dev/null @@ -1,159 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ -import { Subject } from 'rxjs'; -import { renderHook } from '@testing-library/react-hooks'; -import { createSearchSessionMock } from '../../../__mocks__/search_session'; -import { discoverServiceMock } from '../../../__mocks__/services'; -import { savedSearchMock, savedSearchMockWithSQL } from '../../../__mocks__/saved_search'; -import { RecordRawType, useSavedSearch } from './use_saved_search'; -import { getState } from '../services/discover_state'; -import { useDiscoverState } from './use_discover_state'; -import { FetchStatus } from '../../types'; -import { dataViewMock } from '../../../__mocks__/data_view'; -import { DataViewListItem } from '@kbn/data-views-plugin/common'; -import { setUrlTracker } from '../../../kibana_services'; -import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; - -setUrlTracker(urlTrackerMock); -describe('test useSavedSearch', () => { - test('useSavedSearch return is valid', async () => { - const { history, searchSessionManager } = createSearchSessionMock(); - const stateContainer = getState({ - savedSearch: savedSearchMock, - services: discoverServiceMock, - history, - }); - - const { result } = renderHook(() => { - return useSavedSearch({ - initialFetchStatus: FetchStatus.LOADING, - savedSearch: savedSearchMock, - searchSessionManager, - searchSource: savedSearchMock.searchSource.createCopy(), - services: discoverServiceMock, - stateContainer, - useNewFieldsApi: true, - }); - }); - - expect(result.current.refetch$).toBeInstanceOf(Subject); - expect(result.current.data$.main$.getValue().fetchStatus).toBe(FetchStatus.LOADING); - expect(result.current.data$.documents$.getValue().fetchStatus).toBe(FetchStatus.LOADING); - expect(result.current.data$.totalHits$.getValue().fetchStatus).toBe(FetchStatus.LOADING); - }); - test('refetch$ triggers a search', async () => { - const { history, searchSessionManager } = createSearchSessionMock(); - const stateContainer = getState({ - savedSearch: savedSearchMock, - services: discoverServiceMock, - history, - }); - - discoverServiceMock.data.query.timefilter.timefilter.getTime = jest.fn(() => { - return { from: '2021-05-01T20:00:00Z', to: '2021-05-02T20:00:00Z' }; - }); - - const { result: resultState } = renderHook(() => { - return useDiscoverState({ - services: discoverServiceMock, - history, - savedSearch: savedSearchMock, - setExpandedDoc: jest.fn(), - dataViewList: [dataViewMock as DataViewListItem], - }); - }); - - const { result, waitForValueToChange } = renderHook(() => { - return useSavedSearch({ - initialFetchStatus: FetchStatus.LOADING, - savedSearch: savedSearchMock, - searchSessionManager, - searchSource: resultState.current.searchSource, - services: discoverServiceMock, - stateContainer, - useNewFieldsApi: true, - }); - }); - - result.current.refetch$.next(undefined); - - await waitForValueToChange(() => { - return result.current.data$.main$.value.fetchStatus === 'complete'; - }); - - expect(result.current.data$.totalHits$.value.result).toBe(0); - expect(result.current.data$.documents$.value.result).toEqual([]); - }); - - test('reset sets back to initial state', async () => { - const { history, searchSessionManager } = createSearchSessionMock(); - const stateContainer = getState({ - savedSearch: savedSearchMock, - services: discoverServiceMock, - history, - }); - - discoverServiceMock.data.query.timefilter.timefilter.getTime = jest.fn(() => { - return { from: '2021-05-01T20:00:00Z', to: '2021-05-02T20:00:00Z' }; - }); - - const { result: resultState } = renderHook(() => { - return useDiscoverState({ - services: discoverServiceMock, - history, - savedSearch: savedSearchMock, - setExpandedDoc: jest.fn(), - dataViewList: [dataViewMock as DataViewListItem], - }); - }); - - const { result, waitForValueToChange } = renderHook(() => { - return useSavedSearch({ - initialFetchStatus: FetchStatus.LOADING, - savedSearch: savedSearchMock, - searchSessionManager, - searchSource: resultState.current.searchSource, - services: discoverServiceMock, - stateContainer, - useNewFieldsApi: true, - }); - }); - - result.current.refetch$.next(undefined); - - await waitForValueToChange(() => { - return result.current.data$.main$.value.fetchStatus === FetchStatus.COMPLETE; - }); - - result.current.reset(); - expect(result.current.data$.main$.value.fetchStatus).toBe(FetchStatus.LOADING); - }); - - test('useSavedSearch returns plain record raw type', async () => { - const { history, searchSessionManager } = createSearchSessionMock(); - const stateContainer = getState({ - savedSearch: savedSearchMockWithSQL, - services: discoverServiceMock, - history, - }); - - const { result } = renderHook(() => { - return useSavedSearch({ - initialFetchStatus: FetchStatus.LOADING, - savedSearch: savedSearchMockWithSQL, - searchSessionManager, - searchSource: savedSearchMockWithSQL.searchSource.createCopy(), - services: discoverServiceMock, - stateContainer, - useNewFieldsApi: true, - }); - }); - - expect(result.current.data$.main$.getValue().recordRawType).toBe(RecordRawType.PLAIN); - }); -}); diff --git a/src/plugins/discover/public/application/main/hooks/use_saved_search.test.tsx b/src/plugins/discover/public/application/main/hooks/use_saved_search.test.tsx new file mode 100644 index 0000000000000..c598df55b1d1d --- /dev/null +++ b/src/plugins/discover/public/application/main/hooks/use_saved_search.test.tsx @@ -0,0 +1,171 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { Subject } from 'rxjs'; +import { renderHook } from '@testing-library/react-hooks'; +import { createSearchSessionMock } from '../../../__mocks__/search_session'; +import { discoverServiceMock } from '../../../__mocks__/services'; +import { savedSearchMock, savedSearchMockWithSQL } from '../../../__mocks__/saved_search'; +import { RecordRawType, useSavedSearch } from './use_saved_search'; +import { getDiscoverStateContainer } from '../services/discover_state'; +import { useDiscoverState } from './use_discover_state'; +import { FetchStatus } from '../../types'; +import { setUrlTracker } from '../../../kibana_services'; +import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; +import React from 'react'; +import { DiscoverMainProvider } from '../services/discover_state_provider'; + +setUrlTracker(urlTrackerMock); +describe('test useSavedSearch', () => { + test('useSavedSearch return is valid', async () => { + const { history, searchSessionManager } = createSearchSessionMock(); + const stateContainer = getDiscoverStateContainer({ + savedSearch: savedSearchMock, + services: discoverServiceMock, + history, + }); + + const { result } = renderHook(() => { + return useSavedSearch({ + initialFetchStatus: FetchStatus.LOADING, + savedSearch: savedSearchMock, + searchSessionManager, + searchSource: savedSearchMock.searchSource.createCopy(), + services: discoverServiceMock, + stateContainer, + useNewFieldsApi: true, + }); + }); + + expect(result.current.refetch$).toBeInstanceOf(Subject); + expect(result.current.data$.main$.getValue().fetchStatus).toBe(FetchStatus.LOADING); + expect(result.current.data$.documents$.getValue().fetchStatus).toBe(FetchStatus.LOADING); + expect(result.current.data$.totalHits$.getValue().fetchStatus).toBe(FetchStatus.LOADING); + }); + test('refetch$ triggers a search', async () => { + const { history, searchSessionManager } = createSearchSessionMock(); + const stateContainer = getDiscoverStateContainer({ + savedSearch: savedSearchMock, + services: discoverServiceMock, + history, + }); + + discoverServiceMock.data.query.timefilter.timefilter.getTime = jest.fn(() => { + return { from: '2021-05-01T20:00:00Z', to: '2021-05-02T20:00:00Z' }; + }); + + const { result: resultState } = renderHook( + () => { + return useDiscoverState({ + services: discoverServiceMock, + history, + savedSearch: savedSearchMock, + setExpandedDoc: jest.fn(), + }); + }, + { + wrapper: ({ children }: { children: React.ReactElement }) => ( + {children} + ), + } + ); + + const { result, waitForValueToChange } = renderHook(() => { + return useSavedSearch({ + initialFetchStatus: FetchStatus.LOADING, + savedSearch: savedSearchMock, + searchSessionManager, + searchSource: resultState.current.searchSource, + services: discoverServiceMock, + stateContainer, + useNewFieldsApi: true, + }); + }); + + result.current.refetch$.next(undefined); + + await waitForValueToChange(() => { + return result.current.data$.main$.value.fetchStatus === 'complete'; + }); + + expect(result.current.data$.totalHits$.value.result).toBe(0); + expect(result.current.data$.documents$.value.result).toEqual([]); + }); + + test('reset sets back to initial state', async () => { + const { history, searchSessionManager } = createSearchSessionMock(); + const stateContainer = getDiscoverStateContainer({ + savedSearch: savedSearchMock, + services: discoverServiceMock, + history, + }); + + discoverServiceMock.data.query.timefilter.timefilter.getTime = jest.fn(() => { + return { from: '2021-05-01T20:00:00Z', to: '2021-05-02T20:00:00Z' }; + }); + + const { result: resultState } = renderHook( + () => { + return useDiscoverState({ + services: discoverServiceMock, + history, + savedSearch: savedSearchMock, + setExpandedDoc: jest.fn(), + }); + }, + { + wrapper: ({ children }: { children: React.ReactElement }) => ( + {children} + ), + } + ); + + const { result, waitForValueToChange } = renderHook(() => { + return useSavedSearch({ + initialFetchStatus: FetchStatus.LOADING, + savedSearch: savedSearchMock, + searchSessionManager, + searchSource: resultState.current.searchSource, + services: discoverServiceMock, + stateContainer, + useNewFieldsApi: true, + }); + }); + + result.current.refetch$.next(undefined); + + await waitForValueToChange(() => { + return result.current.data$.main$.value.fetchStatus === FetchStatus.COMPLETE; + }); + + result.current.reset(); + expect(result.current.data$.main$.value.fetchStatus).toBe(FetchStatus.LOADING); + }); + + test('useSavedSearch returns plain record raw type', async () => { + const { history, searchSessionManager } = createSearchSessionMock(); + const stateContainer = getDiscoverStateContainer({ + savedSearch: savedSearchMockWithSQL, + services: discoverServiceMock, + history, + }); + + const { result } = renderHook(() => { + return useSavedSearch({ + initialFetchStatus: FetchStatus.LOADING, + savedSearch: savedSearchMockWithSQL, + searchSessionManager, + searchSource: savedSearchMockWithSQL.searchSource.createCopy(), + services: discoverServiceMock, + stateContainer, + useNewFieldsApi: true, + }); + }); + + expect(result.current.data$.main$.getValue().recordRawType).toBe(RecordRawType.PLAIN); + }); +}); diff --git a/src/plugins/discover/public/application/main/hooks/use_saved_search.ts b/src/plugins/discover/public/application/main/hooks/use_saved_search.ts index 4f48945daaad1..7f7e4700925a6 100644 --- a/src/plugins/discover/public/application/main/hooks/use_saved_search.ts +++ b/src/plugins/discover/public/application/main/hooks/use_saved_search.ts @@ -16,7 +16,7 @@ import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { getRawRecordType } from '../utils/get_raw_record_type'; import { DiscoverServices } from '../../../build_services'; import { DiscoverSearchSessionManager } from '../services/discover_search_session'; -import { GetStateReturn } from '../services/discover_state'; +import { DiscoverStateContainer } from '../services/discover_state'; import { validateTimeRange } from '../utils/validate_time_range'; import { useSingleton } from './use_singleton'; import { FetchStatus } from '../../types'; @@ -106,12 +106,12 @@ export const useSavedSearch = ({ searchSessionManager: DiscoverSearchSessionManager; searchSource: ISearchSource; services: DiscoverServices; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; useNewFieldsApi: boolean; }) => { const { data, filterManager } = services; const timefilter = data.query.timefilter.timefilter; - const { query } = stateContainer.appStateContainer.getState(); + const { query } = stateContainer.appState.getState(); const recordRawType = useMemo(() => getRawRecordType(query), [query]); @@ -185,7 +185,7 @@ export const useSavedSearch = ({ await fetchAll(dataSubjects, searchSource, val === 'reset', { abortController, - appStateContainer: stateContainer.appStateContainer, + appStateContainer: stateContainer.appState, data, initialFetchStatus, inspectorAdapters, @@ -224,7 +224,7 @@ export const useSavedSearch = ({ searchSource, services, services.toastNotifications, - stateContainer.appStateContainer, + stateContainer.appState, timefilter, useNewFieldsApi, ]); diff --git a/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts b/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts index f29d1414b51d3..931d652d031c5 100644 --- a/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts @@ -11,12 +11,12 @@ import { renderHook } from '@testing-library/react-hooks'; import { createSearchSessionMock } from '../../../__mocks__/search_session'; import { discoverServiceMock } from '../../../__mocks__/services'; import { savedSearchMock } from '../../../__mocks__/saved_search'; -import { getState } from '../services/discover_state'; +import { getDiscoverStateContainer } from '../services/discover_state'; describe('test useSearchSession', () => { test('getting the next session id', async () => { const { history } = createSearchSessionMock(); - const stateContainer = getState({ + const stateContainer = getDiscoverStateContainer({ savedSearch: savedSearchMock, history, services: discoverServiceMock, diff --git a/src/plugins/discover/public/application/main/hooks/use_search_session.ts b/src/plugins/discover/public/application/main/hooks/use_search_session.ts index af5768d7c4752..5592993b90d55 100644 --- a/src/plugins/discover/public/application/main/hooks/use_search_session.ts +++ b/src/plugins/discover/public/application/main/hooks/use_search_session.ts @@ -12,7 +12,7 @@ import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { DiscoverSearchSessionManager } from '../services/discover_search_session'; import { createSearchSessionRestorationDataProvider, - GetStateReturn, + DiscoverStateContainer, } from '../services/discover_state'; import { DiscoverServices } from '../../../build_services'; @@ -23,7 +23,7 @@ export function useSearchSession({ savedSearch, }: { services: DiscoverServices; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; history: History; savedSearch: SavedSearch; }) { @@ -43,7 +43,7 @@ export function useSearchSession({ useEffect(() => { data.search.session.enableStorage( createSearchSessionRestorationDataProvider({ - appStateContainer: stateContainer.appStateContainer, + appStateContainer: stateContainer.appState, data, getSavedSearch: () => savedSearch, }), @@ -57,12 +57,7 @@ export function useSearchSession({ }, } ); - }, [ - capabilities.discover.storeSearchSession, - data, - savedSearch, - stateContainer.appStateContainer, - ]); + }, [capabilities.discover.storeSearchSession, data, savedSearch, stateContainer.appState]); return searchSessionManager; } diff --git a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.ts b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.ts index 1ba9ba28fbb72..db94bd6638568 100644 --- a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.ts @@ -11,7 +11,6 @@ import { waitFor } from '@testing-library/react'; import { DataViewsContract } from '@kbn/data-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { useTextBasedQueryLanguage } from './use_text_based_query_language'; -import { AppState, GetStateReturn } from '../services/discover_state'; import { BehaviorSubject } from 'rxjs'; import { FetchStatus } from '../../types'; import { DataDocuments$, RecordRawType } from './use_saved_search'; @@ -20,20 +19,18 @@ import { AggregateQuery, Query } from '@kbn/es-query'; import { dataViewMock } from '../../../__mocks__/data_view'; import { DataViewListItem } from '@kbn/data-views-plugin/common'; import { savedSearchMock } from '../../../__mocks__/saved_search'; +import { AppState } from '../services/discover_app_state_container'; +import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; function getHookProps( replaceUrlAppState: (newState: Partial) => Promise, query: AggregateQuery | Query | undefined, dataViewsService?: DataViewsContract ) { - const stateContainer = { - replaceUrlAppState, - appStateContainer: { - getState: () => { - return []; - }, - }, - } as unknown as GetStateReturn; + const stateContainer = getDiscoverStateMock({ isTimeBased: true }); + stateContainer.replaceUrlAppState = replaceUrlAppState; + stateContainer.setAppState({ columns: [] }); + stateContainer.internalState.transitions.setSavedDataViews([dataViewMock as DataViewListItem]); const msgLoading = { recordRawType: RecordRawType.PLAIN, @@ -47,7 +44,6 @@ function getHookProps( documents$, dataViews: dataViewsService ?? discoverServiceMock.dataViews, stateContainer, - dataViewList: [dataViewMock as DataViewListItem], savedSearch: savedSearchMock, }; } @@ -74,7 +70,7 @@ describe('useTextBasedQueryLanguage', () => { renderHook(() => useTextBasedQueryLanguage(props)); await waitFor(() => expect(replaceUrlAppState).toHaveBeenCalledTimes(1)); - expect(replaceUrlAppState).toHaveBeenCalledWith({ columns: [], index: 'the-data-view-id' }); + expect(replaceUrlAppState).toHaveBeenCalledWith({ index: 'the-data-view-id' }); replaceUrlAppState.mockReset(); @@ -161,7 +157,6 @@ describe('useTextBasedQueryLanguage', () => { await waitFor(() => { expect(replaceUrlAppState).toHaveBeenCalledWith({ - columns: [], index: 'the-data-view-id', }); }); @@ -213,7 +208,7 @@ describe('useTextBasedQueryLanguage', () => { test('it should not overwrite existing state columns on initial fetch', async () => { const replaceUrlAppState = jest.fn(); const props = getHookProps(replaceUrlAppState, query); - props.stateContainer.appStateContainer.getState = jest.fn(() => { + props.stateContainer.appState.getState = jest.fn(() => { return { columns: ['field1'], index: 'the-data-view-id' }; }); const { documents$ } = props; @@ -253,7 +248,7 @@ describe('useTextBasedQueryLanguage', () => { test('it should not overwrite state column when successfully fetching after an error fetch', async () => { const replaceUrlAppState = jest.fn(); const props = getHookProps(replaceUrlAppState, query); - props.stateContainer.appStateContainer.getState = jest.fn(() => { + props.stateContainer.appState.getState = jest.fn(() => { return { columns: [], index: 'the-data-view-id' }; }); const { documents$ } = props; @@ -278,7 +273,7 @@ describe('useTextBasedQueryLanguage', () => { query: { sql: 'SELECT * from the-data-view-title WHERE field1=2' }, }); await waitFor(() => expect(replaceUrlAppState).toHaveBeenCalledTimes(1)); - props.stateContainer.appStateContainer.getState = jest.fn(() => { + props.stateContainer.appState.getState = jest.fn(() => { return { columns: ['field1', 'field2'], index: 'the-data-view-id' }; }); replaceUrlAppState.mockReset(); diff --git a/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts b/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts index 4b69302877639..220a3f1702faa 100644 --- a/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts +++ b/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts @@ -13,9 +13,9 @@ import { Query, } from '@kbn/es-query'; import { useCallback, useEffect, useRef } from 'react'; -import type { DataViewListItem, DataViewsContract, DataView } from '@kbn/data-views-plugin/public'; +import type { DataViewsContract } from '@kbn/data-views-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; -import type { GetStateReturn } from '../services/discover_state'; +import type { DiscoverStateContainer } from '../services/discover_state'; import type { DataDocuments$ } from './use_saved_search'; import { FetchStatus } from '../../types'; @@ -29,13 +29,11 @@ export function useTextBasedQueryLanguage({ documents$, dataViews, stateContainer, - dataViewList, savedSearch, }: { documents$: DataDocuments$; - stateContainer: GetStateReturn; + stateContainer: DiscoverStateContainer; dataViews: DataViewsContract; - dataViewList: Array; savedSearch: SavedSearch; }) { const prev = useRef<{ query: AggregateQuery | Query | undefined; columns: string[] }>({ @@ -59,7 +57,7 @@ export function useTextBasedQueryLanguage({ if (!query || next.fetchStatus === FetchStatus.ERROR) { return; } - const { columns: stateColumns, index } = stateContainer.appStateContainer.getState(); + const { columns: stateColumns, index } = stateContainer.appState.getState(); let nextColumns: string[] = []; const isTextBasedQueryLang = recordRawType === 'plain' && isOfAggregateQueryType(query) && 'sql' in query; @@ -84,6 +82,8 @@ export function useTextBasedQueryLanguage({ } } const indexPatternFromQuery = getIndexPatternFromSQLQuery(query.sql); + const internalState = stateContainer.internalState.getState(); + const dataViewList = [...internalState.savedDataViews, ...internalState.adHocDataViews]; let dataViewObj = dataViewList.find(({ title }) => title === indexPatternFromQuery); // no dataview found but the index pattern is valid @@ -92,6 +92,7 @@ export function useTextBasedQueryLanguage({ dataViewObj = await dataViews.create({ title: indexPatternFromQuery, }); + stateContainer.internalState.transitions.setAdHocDataViews([dataViewObj]); if (dataViewObj.fields.getByName('@timestamp')?.type === 'date') { dataViewObj.timeFieldName = '@timestamp'; @@ -113,7 +114,7 @@ export function useTextBasedQueryLanguage({ const nextState = { ...(addDataViewToState && { index: dataViewObj.id }), - columns: nextColumns, + ...(addColumnsToState && { columns: nextColumns }), }; stateContainer.replaceUrlAppState(nextState); } else { @@ -126,5 +127,5 @@ export function useTextBasedQueryLanguage({ cleanup(); subscription.unsubscribe(); }; - }, [documents$, dataViews, stateContainer, dataViewList, savedSearch, cleanup]); + }, [documents$, dataViews, stateContainer, savedSearch, cleanup]); } diff --git a/src/plugins/discover/public/application/main/services/discover_app_state_container.ts b/src/plugins/discover/public/application/main/services/discover_app_state_container.ts index 4c484698ece0f..0c1c94f72eb9b 100644 --- a/src/plugins/discover/public/application/main/services/discover_app_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_app_state_container.ts @@ -10,7 +10,68 @@ import { createStateContainerReactHelpers, ReduxLikeStateContainer, } from '@kbn/kibana-utils-plugin/common'; -import { AppState } from './discover_state'; +import { AggregateQuery, Filter, Query } from '@kbn/es-query'; +import { VIEW_MODE } from '@kbn/saved-search-plugin/public'; +import { DiscoverGridSettings } from '../../../components/discover_grid/types'; + +export interface AppState { + /** + * Columns displayed in the table + */ + columns?: string[]; + /** + * Array of applied filters + */ + filters?: Filter[]; + /** + * Data Grid related state + */ + grid?: DiscoverGridSettings; + /** + * Hide chart + */ + hideChart?: boolean; + /** + * id of the used data view + */ + index?: string; + /** + * Used interval of the histogram + */ + interval?: string; + /** + * Lucence or KQL query + */ + query?: Query | AggregateQuery; + /** + * Array of the used sorting [[field,direction],...] + */ + sort?: string[][]; + /** + * id of the used saved query + */ + savedQuery?: string; + /** + * Table view: Documents vs Field Statistics + */ + viewMode?: VIEW_MODE; + /** + * Hide mini distribution/preview charts when in Field Statistics mode + */ + hideAggregatedPreview?: boolean; + /** + * Document explorer row height option + */ + rowHeight?: number; + /** + * Number of rows in the grid per page + */ + rowsPerPage?: number; + /** + * Breakdown field of chart + */ + breakdownField?: string; +} export const { Provider: DiscoverAppStateProvider, useSelector: useAppStateSelector } = createStateContainerReactHelpers>(); diff --git a/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts new file mode 100644 index 0000000000000..44d2c5df2ae1c --- /dev/null +++ b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts @@ -0,0 +1,94 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + createStateContainer, + createStateContainerReactHelpers, + ReduxLikeStateContainer, +} from '@kbn/kibana-utils-plugin/common'; +import { DataView, DataViewListItem } from '@kbn/data-views-plugin/common'; + +export interface InternalState { + dataView: DataView | undefined; + savedDataViews: DataViewListItem[]; + adHocDataViews: DataView[]; +} + +interface InternalStateTransitions { + setDataView: (state: InternalState) => (dataView: DataView) => InternalState; + setSavedDataViews: (state: InternalState) => (dataView: DataViewListItem[]) => InternalState; + setAdHocDataViews: (state: InternalState) => (dataViews: DataView[]) => InternalState; + appendAdHocDataViews: ( + state: InternalState + ) => (dataViews: DataView | DataView[]) => InternalState; + removeAdHocDataViewById: (state: InternalState) => (id: string) => InternalState; + replaceAdHocDataViewWithId: ( + state: InternalState + ) => (id: string, dataView: DataView) => InternalState; +} + +export type InternalStateContainer = ReduxLikeStateContainer< + InternalState, + InternalStateTransitions +>; + +export const { Provider: InternalStateProvider, useSelector: useInternalStateSelector } = + createStateContainerReactHelpers>(); + +export function getInternalStateContainer() { + return createStateContainer( + { + dataView: undefined, + adHocDataViews: [], + savedDataViews: [], + }, + { + setDataView: (prevState: InternalState) => (nextDataView: DataView) => ({ + ...prevState, + dataView: nextDataView, + }), + setSavedDataViews: (prevState: InternalState) => (nextDataViewList: DataViewListItem[]) => ({ + ...prevState, + savedDataViews: nextDataViewList, + }), + setAdHocDataViews: (prevState: InternalState) => (newAdHocDataViewList: DataView[]) => ({ + ...prevState, + adHocDataViews: newAdHocDataViewList, + }), + appendAdHocDataViews: + (prevState: InternalState) => (dataViewsAdHoc: DataView | DataView[]) => { + // check for already existing data views + const concatList = ( + Array.isArray(dataViewsAdHoc) ? dataViewsAdHoc : [dataViewsAdHoc] + ).filter((dataView) => { + return !prevState.adHocDataViews.find((el: DataView) => el.id === dataView.id); + }); + if (!concatList.length) { + return prevState; + } + return { + ...prevState, + adHocDataViews: prevState.adHocDataViews.concat(dataViewsAdHoc), + }; + }, + removeAdHocDataViewById: (prevState: InternalState) => (id: string) => ({ + ...prevState, + adHocDataViews: prevState.adHocDataViews.filter((dataView) => dataView.id !== id), + }), + replaceAdHocDataViewWithId: + (prevState: InternalState) => (prevId: string, newDataView: DataView) => ({ + ...prevState, + adHocDataViews: prevState.adHocDataViews.map((dataView) => + dataView.id === prevId ? newDataView : dataView + ), + }), + }, + {}, + { freeze: (state) => state } + ); +} diff --git a/src/plugins/discover/public/application/main/services/discover_state.test.ts b/src/plugins/discover/public/application/main/services/discover_state.test.ts index aef263b23cec9..8136ced9f4ff3 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.test.ts @@ -7,8 +7,8 @@ */ import { - getState, - GetStateReturn, + getDiscoverStateContainer, + DiscoverStateContainer, createSearchSessionRestorationDataProvider, } from './discover_state'; import { createBrowserHistory, History } from 'history'; @@ -16,9 +16,11 @@ import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import type { SavedSearch, SortOrder } from '@kbn/saved-search-plugin/public'; import { savedSearchMock, savedSearchMockWithTimeField } from '../../../__mocks__/saved_search'; import { discoverServiceMock } from '../../../__mocks__/services'; +import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewComplexMock } from '../../../__mocks__/data_view_complex'; let history: History; -let state: GetStateReturn; +let state: DiscoverStateContainer; const getCurrentUrl = () => history.createHref(history.location); describe('Test discover state', () => { @@ -27,7 +29,7 @@ describe('Test discover state', () => { beforeEach(async () => { history = createBrowserHistory(); history.push('/'); - state = getState({ + state = getDiscoverStateContainer({ savedSearch: savedSearchMock, services: discoverServiceMock, history, @@ -49,7 +51,7 @@ describe('Test discover state', () => { test('changing URL to be propagated to appState', async () => { history.push('/#?_a=(index:modified)'); - expect(state.appStateContainer.getState()).toMatchInlineSnapshot(` + expect(state.appState.getState()).toMatchInlineSnapshot(` Object { "index": "modified", } @@ -58,7 +60,7 @@ describe('Test discover state', () => { test('URL navigation to url without _a, state should not change', async () => { history.push('/#?_a=(index:modified)'); history.push('/'); - expect(state.appStateContainer.getState()).toEqual({ + expect(state.appState.getState()).toEqual({ index: 'modified', }); }); @@ -72,7 +74,7 @@ describe('Test discover state', () => { test('getPreviousAppState returns the state before the current', async () => { state.setAppState({ index: 'first' }); - const stateA = state.appStateContainer.getState(); + const stateA = state.appState.getState(); state.setAppState({ index: 'second' }); expect(state.getPreviousAppState()).toEqual(stateA); }); @@ -89,41 +91,41 @@ describe('Test discover initial state sort handling', () => { history = createBrowserHistory(); history.push('/#?_a=(sort:!(!(order_date,desc)))'); - state = getState({ + state = getDiscoverStateContainer({ savedSearch: { ...savedSearchMock, ...{ sort: [['bytes', 'desc']] } }, services: discoverServiceMock, history, }); await state.replaceUrlAppState({}); const stopSync = state.startSync(); - expect(state.appStateContainer.getState().sort).toEqual([['order_date', 'desc']]); + expect(state.appState.getState().sort).toEqual([['order_date', 'desc']]); stopSync(); }); test('Empty sort in URL should use saved search sort for state', async () => { history = createBrowserHistory(); history.push('/#?_a=(sort:!())'); const nextSavedSearch = { ...savedSearchMock, ...{ sort: [['bytes', 'desc']] as SortOrder[] } }; - state = getState({ + state = getDiscoverStateContainer({ savedSearch: nextSavedSearch, services: discoverServiceMock, history, }); await state.replaceUrlAppState({}); const stopSync = state.startSync(); - expect(state.appStateContainer.getState().sort).toEqual([['bytes', 'desc']]); + expect(state.appState.getState().sort).toEqual([['bytes', 'desc']]); stopSync(); }); test('Empty sort in URL and saved search should sort by timestamp', async () => { history = createBrowserHistory(); history.push('/#?_a=(sort:!())'); - state = getState({ + state = getDiscoverStateContainer({ savedSearch: savedSearchMockWithTimeField, services: discoverServiceMock, history, }); await state.replaceUrlAppState({}); const stopSync = state.startSync(); - expect(state.appStateContainer.getState().sort).toEqual([['timestamp', 'desc']]); + expect(state.appState.getState().sort).toEqual([['timestamp', 'desc']]); stopSync(); }); }); @@ -134,12 +136,12 @@ describe('Test discover state with legacy migration', () => { history.push( "/#?_a=(query:(query_string:(analyze_wildcard:!t,query:'type:nice%20name:%22yeah%22')))" ); - state = getState({ + state = getDiscoverStateContainer({ savedSearch: savedSearchMock, services: discoverServiceMock, history, }); - expect(state.appStateContainer.getState().query).toMatchInlineSnapshot(` + expect(state.appState.getState().query).toMatchInlineSnapshot(` Object { "language": "lucene", "query": Object { @@ -158,11 +160,11 @@ describe('createSearchSessionRestorationDataProvider', () => { const mockDataPlugin = dataPluginMock.createStartContract(); const searchSessionInfoProvider = createSearchSessionRestorationDataProvider({ data: mockDataPlugin, - appStateContainer: getState({ + appStateContainer: getDiscoverStateContainer({ savedSearch: savedSearchMock, services: discoverServiceMock, history, - }).appStateContainer, + }).appState, getSavedSearch: () => mockSavedSearch, }); @@ -216,4 +218,35 @@ describe('createSearchSessionRestorationDataProvider', () => { }); }); }); + + describe('actions', () => { + beforeEach(async () => { + history = createBrowserHistory(); + state = getDiscoverStateContainer({ + services: discoverServiceMock, + history, + savedSearch: savedSearchMock, + }); + }); + + test('setDataView', async () => { + state.actions.setDataView(dataViewMock); + expect(state.internalState.getState().dataView).toBe(dataViewMock); + }); + + test('appendAdHocDataViews', async () => { + state.actions.appendAdHocDataViews(dataViewMock); + expect(state.internalState.getState().adHocDataViews).toEqual([dataViewMock]); + }); + test('removeAdHocDataViewById', async () => { + state.actions.appendAdHocDataViews(dataViewMock); + state.actions.removeAdHocDataViewById(dataViewMock.id!); + expect(state.internalState.getState().adHocDataViews).toEqual([]); + }); + test('replaceAdHocDataViewWithId', async () => { + state.actions.appendAdHocDataViews(dataViewMock); + state.actions.replaceAdHocDataViewWithId(dataViewMock.id!, dataViewComplexMock); + expect(state.internalState.getState().adHocDataViews).toEqual([dataViewComplexMock]); + }); + }); }); diff --git a/src/plugins/discover/public/application/main/services/discover_state.ts b/src/plugins/discover/public/application/main/services/discover_state.ts index 77e870dfc75a5..52e0d6e72fbf5 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.ts @@ -9,14 +9,7 @@ import { cloneDeep, isEqual } from 'lodash'; import { i18n } from '@kbn/i18n'; import { History } from 'history'; -import { - Filter, - FilterStateStore, - compareFilters, - COMPARE_ALL_OPTIONS, - Query, - AggregateQuery, -} from '@kbn/es-query'; +import { COMPARE_ALL_OPTIONS, compareFilters, Filter, FilterStateStore } from '@kbn/es-query'; import { createKbnUrlStateStorage, createStateContainer, @@ -36,74 +29,18 @@ import { } from '@kbn/data-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; +import { DiscoverAppLocatorParams, DISCOVER_APP_LOCATOR } from '../../../../common'; +import { AppState } from './discover_app_state_container'; +import { + getInternalStateContainer, + InternalStateContainer, +} from './discover_internal_state_container'; import { getStateDefaults } from '../utils/get_state_defaults'; import { DiscoverServices } from '../../../build_services'; -import { DiscoverGridSettings } from '../../../components/discover_grid/types'; import { handleSourceColumnState } from '../../../utils/state_helpers'; -import { DISCOVER_APP_LOCATOR, DiscoverAppLocatorParams } from '../../../locator'; -import { VIEW_MODE } from '../../../components/view_mode_toggle'; import { cleanupUrlState } from '../utils/cleanup_url_state'; import { getValidFilters } from '../../../utils/get_valid_filters'; -export interface AppState { - /** - * Columns displayed in the table - */ - columns?: string[]; - /** - * Array of applied filters - */ - filters?: Filter[]; - /** - * Data Grid related state - */ - grid?: DiscoverGridSettings; - /** - * Hide chart - */ - hideChart?: boolean; - /** - * id of the used data view - */ - index?: string; - /** - * Used interval of the histogram - */ - interval?: string; - /** - * Lucence or KQL query - */ - query?: Query | AggregateQuery; - /** - * Array of the used sorting [[field,direction],...] - */ - sort?: string[][]; - /** - * id of the used saved query - */ - savedQuery?: string; - /** - * Table view: Documents vs Field Statistics - */ - viewMode?: VIEW_MODE; - /** - * Hide mini distribution/preview charts when in Field Statistics mode - */ - hideAggregatedPreview?: boolean; - /** - * Document explorer row height option - */ - rowHeight?: number; - /** - * Number of rows in the grid per page - */ - rowsPerPage?: number; - /** - * Current histogram breakdown field name - */ - breakdownField?: string; -} - export interface AppStateUrl extends Omit { /** * Necessary to take care of legacy links [fieldName,direction] @@ -111,11 +48,11 @@ export interface AppStateUrl extends Omit { sort?: string[][] | [string, string]; } -interface GetStateParams { +interface DiscoverStateContainerParams { /** * Browser history */ - history: History; + history?: History; /** * The current savedSearch */ @@ -126,7 +63,7 @@ interface GetStateParams { services: DiscoverServices; } -export interface GetStateReturn { +export interface DiscoverStateContainer { /** * kbnUrlStateStorage */ @@ -134,7 +71,11 @@ export interface GetStateReturn { /** * App state, the _a part of the URL */ - appStateContainer: ReduxLikeStateContainer; + appState: ReduxLikeStateContainer; + /** + * Internal state that's used at several places in the UI + */ + internalState: InternalStateContainer; /** * Initialize state with filters and query, start state syncing */ @@ -179,6 +120,39 @@ export interface GetStateReturn { * Pause the auto refresh interval without pushing an entry to history */ pauseAutoRefreshInterval: () => Promise; + /** + * functions executed by UI + */ + actions: { + /** + * Set the currently selected data view + */ + setDataView: (dataView: DataView) => void; + /** + * Load current list of data views, add them to internal state + */ + loadDataViewList: () => Promise; + /** + * Set new adhoc data view list + */ + setAdHocDataViews: (dataViews: DataView[]) => void; + /** + * Append a given ad-hoc data views to the list of ad-hoc data view + */ + appendAdHocDataViews: (dataViews: DataView | DataView[]) => void; + /** + * Remove the ad-hoc data view of the given id from the list of ad-hoc data view + * @param id + */ + removeAdHocDataViewById: (id: string) => void; + /** + * Replace the data view of the given id with the given data view + * Used when the spec of a data view changed to prevent duplicates + * @param id + * @param dataView + */ + replaceAdHocDataViewWithId: (id: string, dataView: DataView) => void; + }; } const APP_STATE_URL_KEY = '_a'; @@ -188,7 +162,11 @@ const GLOBAL_STATE_URL_KEY = '_g'; * Builds and returns appState and globalState containers and helper functions * Used to sync URL with UI state */ -export function getState({ history, savedSearch, services }: GetStateParams): GetStateReturn { +export function getDiscoverStateContainer({ + history, + savedSearch, + services, +}: DiscoverStateContainerParams): DiscoverStateContainer { const storeInSessionStorage = services.uiSettings.get('state:storeInSessionStorage'); const toasts = services.core.notifications.toasts; const defaultAppState = getStateDefaults({ @@ -243,6 +221,8 @@ export function getState({ history, savedSearch, services }: GetStateParams): Ge await stateStorage.set(APP_STATE_URL_KEY, state, { replace: true }); }; + const internalStateContainer = getInternalStateContainer(); + const pauseAutoRefreshInterval = async () => { const state = stateStorage.get(GLOBAL_STATE_URL_KEY); if (state?.refreshInterval && !state.refreshInterval.pause) { @@ -254,9 +234,27 @@ export function getState({ history, savedSearch, services }: GetStateParams): Ge } }; + const setDataView = (dataView: DataView) => { + internalStateContainer.transitions.setDataView(dataView); + }; + const setAdHocDataViews = (dataViews: DataView[]) => + internalStateContainer.transitions.setAdHocDataViews(dataViews); + const appendAdHocDataViews = (dataViews: DataView | DataView[]) => + internalStateContainer.transitions.appendAdHocDataViews(dataViews); + const replaceAdHocDataViewWithId = (id: string, dataView: DataView) => + internalStateContainer.transitions.replaceAdHocDataViewWithId(id, dataView); + const removeAdHocDataViewById = (id: string) => + internalStateContainer.transitions.removeAdHocDataViewById(id); + + const loadDataViewList = async () => { + const dataViewList = await services.dataViews.getIdsWithTitle(true); + internalStateContainer.transitions.setSavedDataViews(dataViewList); + }; + return { kbnUrlStateStorage: stateStorage, - appStateContainer: appStateContainerModified, + appState: appStateContainerModified, + internalState: internalStateContainer, startSync: () => { const { start, stop } = syncAppState(); start(); @@ -288,7 +286,7 @@ export function getState({ history, savedSearch, services }: GetStateParams): Ge setState(appStateContainerModified, { index: dataView.id }); } // sync initial app filters from state to filterManager - const filters = appStateContainer.getState().filters; + const filters = appStateContainer.getState().filters || []; if (filters) { filterManager.setAppFilters(cloneDeep(filters)); } @@ -332,6 +330,14 @@ export function getState({ history, savedSearch, services }: GetStateParams): Ge stop(); }; }, + actions: { + setDataView, + loadDataViewList, + setAdHocDataViews, + appendAdHocDataViews, + replaceAdHocDataViewWithId, + removeAdHocDataViewById, + }, }; } diff --git a/src/plugins/discover/public/application/main/services/discover_state_provider.tsx b/src/plugins/discover/public/application/main/services/discover_state_provider.tsx new file mode 100644 index 0000000000000..8cfdc45207ec7 --- /dev/null +++ b/src/plugins/discover/public/application/main/services/discover_state_provider.tsx @@ -0,0 +1,37 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { InternalStateProvider } from './discover_internal_state_container'; +import { DiscoverAppStateProvider } from './discover_app_state_container'; +import { DiscoverStateContainer } from './discover_state'; + +function createStateHelpers() { + const context = React.createContext(null); + return { + Provider: context.Provider, + }; +} + +export const { Provider: DiscoverStateProvider } = createStateHelpers(); + +export const DiscoverMainProvider = ({ + value, + children, +}: { + value: DiscoverStateContainer; + children: React.ReactElement; +}) => { + return ( + + + {children} + + + ); +}; diff --git a/src/plugins/discover/public/application/main/utils/cleanup_url_state.ts b/src/plugins/discover/public/application/main/utils/cleanup_url_state.ts index 11f1a6d3c8ae3..c0e5e4ed8198b 100644 --- a/src/plugins/discover/public/application/main/utils/cleanup_url_state.ts +++ b/src/plugins/discover/public/application/main/utils/cleanup_url_state.ts @@ -6,8 +6,9 @@ * Side Public License, v 1. */ import { isOfAggregateQueryType } from '@kbn/es-query'; +import { AppState } from '../services/discover_app_state_container'; import { migrateLegacyQuery } from '../../../utils/migrate_legacy_query'; -import { AppState, AppStateUrl } from '../services/discover_state'; +import { AppStateUrl } from '../services/discover_state'; /** * Takes care of the given url state, migrates legacy props and cleans up empty props diff --git a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts index 5258de6bdfdad..b11389c24b054 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts @@ -12,7 +12,6 @@ import { SearchSource } from '@kbn/data-plugin/public'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { savedSearchMock } from '../../../__mocks__/saved_search'; import { ReduxLikeStateContainer } from '@kbn/kibana-utils-plugin/common'; -import { AppState } from '../services/discover_state'; import { discoverServiceMock } from '../../../__mocks__/services'; import { fetchAll } from './fetch_all'; import { @@ -28,6 +27,7 @@ import { fetchDocuments } from './fetch_documents'; import { fetchSql } from './fetch_sql'; import { buildDataTableRecord } from '../../../utils/build_data_record'; import { dataViewMock } from '../../../__mocks__/data_view'; +import { AppState } from '../services/discover_app_state_container'; jest.mock('./fetch_documents', () => ({ fetchDocuments: jest.fn().mockResolvedValue([]), diff --git a/src/plugins/discover/public/application/main/utils/fetch_all.ts b/src/plugins/discover/public/application/main/utils/fetch_all.ts index b16358c8b5740..f698d999662ce 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_all.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_all.ts @@ -10,6 +10,7 @@ import { Adapters } from '@kbn/inspector-plugin/common'; import { ReduxLikeStateContainer } from '@kbn/kibana-utils-plugin/common'; import type { SavedSearch, SortOrder } from '@kbn/saved-search-plugin/public'; import { BehaviorSubject, filter, firstValueFrom, map, merge, scan } from 'rxjs'; +import { AppState } from '../services/discover_app_state_container'; import { getRawRecordType } from './get_raw_record_type'; import { checkHitCount, @@ -21,7 +22,6 @@ import { } from '../hooks/use_saved_search_messages'; import { updateSearchSource } from './update_search_source'; import { fetchDocuments } from './fetch_documents'; -import { AppState } from '../services/discover_state'; import { FetchStatus } from '../../types'; import { DataMsg, RecordRawType, SavedSearchData } from '../hooks/use_saved_search'; import { DiscoverServices } from '../../../build_services'; diff --git a/src/plugins/discover/public/application/main/utils/get_state_defaults.ts b/src/plugins/discover/public/application/main/utils/get_state_defaults.ts index f32af6ec5f23b..9ea56f8b0174f 100644 --- a/src/plugins/discover/public/application/main/utils/get_state_defaults.ts +++ b/src/plugins/discover/public/application/main/utils/get_state_defaults.ts @@ -9,6 +9,7 @@ import { cloneDeep, isEqual } from 'lodash'; import { IUiSettingsClient } from '@kbn/core/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; +import { AppState } from '../services/discover_app_state_container'; import { DiscoverServices } from '../../../build_services'; import { getDefaultSort, getSortArray } from '../../../utils/sorting'; import { @@ -18,7 +19,6 @@ import { SORT_DEFAULT_ORDER_SETTING, } from '../../../../common'; -import { AppState } from '../services/discover_state'; import { CHART_HIDDEN_KEY } from '../components/layout/use_discover_histogram'; function getDefaultColumns(savedSearch: SavedSearch, uiSettings: IUiSettingsClient) { diff --git a/src/plugins/discover/public/application/main/utils/persist_saved_search.ts b/src/plugins/discover/public/application/main/utils/persist_saved_search.ts index 8162f3650b8b0..97480045211f5 100644 --- a/src/plugins/discover/public/application/main/utils/persist_saved_search.ts +++ b/src/plugins/discover/public/application/main/utils/persist_saved_search.ts @@ -9,8 +9,8 @@ import { isOfAggregateQueryType } from '@kbn/es-query'; import { DataView } from '@kbn/data-views-plugin/public'; import { SavedObjectSaveOpts } from '@kbn/saved-objects-plugin/public'; import { SavedSearch, SortOrder, saveSavedSearch } from '@kbn/saved-search-plugin/public'; +import { AppState } from '../services/discover_app_state_container'; import { updateSearchSource } from './update_search_source'; -import { AppState } from '../services/discover_state'; import { DiscoverServices } from '../../../build_services'; /** * Helper function to update and persist the given savedSearch diff --git a/src/plugins/discover/public/application/main/utils/update_filter_references.ts b/src/plugins/discover/public/application/main/utils/update_filter_references.ts new file mode 100644 index 0000000000000..8ab92d37a76f5 --- /dev/null +++ b/src/plugins/discover/public/application/main/utils/update_filter_references.ts @@ -0,0 +1,27 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + UPDATE_FILTER_REFERENCES_ACTION, + UPDATE_FILTER_REFERENCES_TRIGGER, +} from '@kbn/unified-search-plugin/public'; +import { ActionExecutionContext } from '@kbn/ui-actions-plugin/public'; +import type { DataView } from '@kbn/data-views-plugin/public'; +import { getUiActions } from '../../../kibana_services'; + +export const updateFiltersReferences = (prevDataView: DataView, nextDataView: DataView) => { + const uiActions = getUiActions(); + const trigger = uiActions.getTrigger(UPDATE_FILTER_REFERENCES_TRIGGER); + const action = uiActions.getAction(UPDATE_FILTER_REFERENCES_ACTION); + action?.execute({ + trigger, + fromDataView: prevDataView.id, + toDataView: nextDataView.id, + usedDataViews: [], + } as ActionExecutionContext); +}; diff --git a/src/plugins/discover/public/application/view_alert/view_alert_route.tsx b/src/plugins/discover/public/application/view_alert/view_alert_route.tsx index 0fdd58c058237..84e65e8d672d6 100644 --- a/src/plugins/discover/public/application/view_alert/view_alert_route.tsx +++ b/src/plugins/discover/public/application/view_alert/view_alert_route.tsx @@ -8,41 +8,19 @@ import { useEffect, useMemo } from 'react'; import { useHistory, useLocation, useParams } from 'react-router-dom'; -import { sha256 } from 'js-sha256'; -import type { Rule } from '@kbn/alerting-plugin/common'; -import { getTime } from '@kbn/data-plugin/common'; -import type { DataView } from '@kbn/data-views-plugin/public'; -import type { Filter } from '@kbn/es-query'; -import { DiscoverAppLocatorParams } from '../../locator'; +import { DiscoverAppLocatorParams } from '../../../common/locator'; import { useDiscoverServices } from '../../hooks/use_discover_services'; -import { getAlertUtils, QueryParams, SearchThresholdAlertParams } from './view_alert_utils'; +import { displayPossibleDocsDiffInfoAlert } from '../main/hooks/use_alert_results_toast'; +import { getAlertUtils, QueryParams } from './view_alert_utils'; -type NonNullableEntry = { [K in keyof T]: NonNullable }; +const DISCOVER_MAIN_ROUTE = '/'; -const getCurrentChecksum = (params: SearchThresholdAlertParams) => - sha256.create().update(JSON.stringify(params)).hex(); +type NonNullableEntry = { [K in keyof T]: NonNullable }; const isActualAlert = (queryParams: QueryParams): queryParams is NonNullableEntry => { - return Boolean(queryParams.from && queryParams.to && queryParams.checksum); -}; - -const buildTimeRangeFilter = ( - dataView: DataView, - fetchedAlert: Rule, - timeFieldName: string -) => { - const filter = getTime(dataView, { - from: `now-${fetchedAlert.params.timeWindowSize}${fetchedAlert.params.timeWindowUnit}`, - to: 'now', - }); - return { - from: filter?.query.range[timeFieldName].gte, - to: filter?.query.range[timeFieldName].lte, - }; + return Boolean(queryParams.from && queryParams.to); }; -const DISCOVER_MAIN_ROUTE = '/'; - export function ViewAlertRoute() { const { core, data, locator, toastNotifications } = useDiscoverServices(); const { id } = useParams<{ id: string }>(); @@ -55,100 +33,39 @@ export function ViewAlertRoute() { () => ({ from: query.get('from'), to: query.get('to'), - checksum: query.get('checksum'), }), [query] ); + /** + * This flag indicates whether we should open the actual alert results or current state of documents. + */ const openActualAlert = useMemo(() => isActualAlert(queryParams), [queryParams]); useEffect(() => { - const { - fetchAlert, - fetchSearchSource, - displayRuleChangedWarn, - displayPossibleDocsDiffInfoAlert, - showDataViewFetchError, - showDataViewUpdatedWarning, - } = getAlertUtils(toastNotifications, core, data); - - const navigateToResults = async () => { - const fetchedAlert = await fetchAlert(id); - if (!fetchedAlert) { - history.push(DISCOVER_MAIN_ROUTE); - return; - } - const fetchedSearchSource = await fetchSearchSource(fetchedAlert); - if (!fetchedSearchSource) { - history.push(DISCOVER_MAIN_ROUTE); - return; - } - const dataView = fetchedSearchSource.getField('index'); - const timeFieldName = dataView?.timeFieldName; - // data view fetch error - if (!dataView || !timeFieldName) { - showDataViewFetchError(fetchedAlert.id); - history.push(DISCOVER_MAIN_ROUTE); - return; + const { fetchAlert, fetchSearchSource, buildLocatorParams } = getAlertUtils( + openActualAlert, + queryParams, + toastNotifications, + core, + data + ); + + const navigateWithDiscoverState = (state: DiscoverAppLocatorParams) => { + if (openActualAlert) { + displayPossibleDocsDiffInfoAlert(toastNotifications); } - - if (dataView.isPersisted()) { - const dataViewSavedObject = await core.savedObjects.client.get( - 'index-pattern', - dataView.id! - ); - - const alertUpdatedAt = fetchedAlert.updatedAt; - const dataViewUpdatedAt = dataViewSavedObject.updatedAt!; - // data view updated after the last update of the alert rule - if ( - openActualAlert && - new Date(dataViewUpdatedAt).valueOf() > new Date(alertUpdatedAt).valueOf() - ) { - showDataViewUpdatedWarning(); - } - } - - const calculatedChecksum = getCurrentChecksum(fetchedAlert.params); - // rule params changed - if (openActualAlert && calculatedChecksum !== queryParams.checksum) { - displayRuleChangedWarn(); - } else if (openActualAlert && calculatedChecksum === queryParams.checksum) { - // documents might be updated or deleted - displayPossibleDocsDiffInfoAlert(); - } - - const timeRange = openActualAlert - ? { from: queryParams.from, to: queryParams.to } - : buildTimeRangeFilter(dataView, fetchedAlert, timeFieldName); - const state: DiscoverAppLocatorParams = { - query: fetchedSearchSource.getField('query') || data.query.queryString.getDefaultQuery(), - dataViewSpec: dataView.toSpec(false), - timeRange, - }; - - const filters = fetchedSearchSource.getField('filter'); - if (filters) { - state.filters = filters as Filter[]; - } - - await locator.navigate(state); + locator.navigate(state); }; - navigateToResults(); - }, [ - toastNotifications, - data.query.queryString, - data.search.searchSource, - core.http, - locator, - id, - queryParams, - history, - openActualAlert, - core, - data, - ]); + const navigateToDiscoverRoot = () => history.push(DISCOVER_MAIN_ROUTE); + + fetchAlert(id) + .then(fetchSearchSource) + .then(buildLocatorParams) + .then(navigateWithDiscoverState) + .catch(navigateToDiscoverRoot); + }, [core, data, history, id, locator, openActualAlert, queryParams, toastNotifications]); return null; } diff --git a/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx b/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx index d5b6aac22d3b4..f29fd7d40b51b 100644 --- a/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx +++ b/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx @@ -9,11 +9,14 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { CoreStart, ToastsStart } from '@kbn/core/public'; +import type { DataView } from '@kbn/data-views-plugin/public'; import type { Rule } from '@kbn/alerting-plugin/common'; import type { RuleTypeParams } from '@kbn/alerting-plugin/common'; -import { SerializedSearchSourceFields } from '@kbn/data-plugin/common'; +import { ISearchSource, SerializedSearchSourceFields, getTime } from '@kbn/data-plugin/common'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { MarkdownSimple, toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { Filter } from '@kbn/es-query'; +import { DiscoverAppLocatorParams } from '../../../common/locator'; export interface SearchThresholdAlertParams extends RuleTypeParams { searchConfiguration: SerializedSearchSourceFields; @@ -22,12 +25,28 @@ export interface SearchThresholdAlertParams extends RuleTypeParams { export interface QueryParams { from: string | null; to: string | null; - checksum: string | null; } const LEGACY_BASE_ALERT_API_PATH = '/api/alerts'; +const buildTimeRangeFilter = ( + dataView: DataView, + fetchedAlert: Rule, + timeFieldName: string +) => { + const filter = getTime(dataView, { + from: `now-${fetchedAlert.params.timeWindowSize}${fetchedAlert.params.timeWindowUnit}`, + to: 'now', + }); + return { + from: filter?.query.range[timeFieldName].gte, + to: filter?.query.range[timeFieldName].lte, + }; +}; + export const getAlertUtils = ( + openActualAlert: boolean, + queryParams: QueryParams, toastNotifications: ToastsStart, core: CoreStart, data: DataPublicPluginStart @@ -46,36 +65,6 @@ export const getAlertUtils = ( }); }; - const displayRuleChangedWarn = () => { - const warnTitle = i18n.translate('discover.viewAlert.alertRuleChangedWarnTitle', { - defaultMessage: 'Alert rule has changed', - }); - const warnDescription = i18n.translate('discover.viewAlert.alertRuleChangedWarnDescription', { - defaultMessage: `The displayed documents might not match the documents that triggered the alert - because the rule configuration changed.`, - }); - - toastNotifications.addWarning({ - title: warnTitle, - text: toMountPoint({warnDescription}), - }); - }; - - const displayPossibleDocsDiffInfoAlert = () => { - const infoTitle = i18n.translate('discover.viewAlert.documentsMayVaryInfoTitle', { - defaultMessage: 'Displayed documents may vary', - }); - const infoDescription = i18n.translate('discover.viewAlert.documentsMayVaryInfoDescription', { - defaultMessage: `The displayed documents might differ from the documents that triggered the alert. - Some documents might have been added or deleted.`, - }); - - toastNotifications.addInfo({ - title: infoTitle, - text: toMountPoint({infoDescription}), - }); - }; - const fetchAlert = async (id: string) => { try { return await core.http.get>( @@ -89,12 +78,18 @@ export const getAlertUtils = ( title: errorTitle, text: toMountPoint({error.message}), }); + throw new Error(errorTitle); } }; const fetchSearchSource = async (fetchedAlert: Rule) => { try { - return await data.search.searchSource.create(fetchedAlert.params.searchConfiguration); + return { + alert: fetchedAlert, + searchSource: await data.search.searchSource.create( + fetchedAlert.params.searchConfiguration + ), + }; } catch (error) { const errorTitle = i18n.translate('discover.viewAlert.searchSourceErrorTitle', { defaultMessage: 'Error fetching search source', @@ -103,29 +98,40 @@ export const getAlertUtils = ( title: errorTitle, text: toMountPoint({error.message}), }); + throw new Error(errorTitle); } }; - const showDataViewUpdatedWarning = async () => { - const warnTitle = i18n.translate('discover.viewAlert.dataViewChangedWarnTitle', { - defaultMessage: 'Data View has changed', - }); - const warnDescription = i18n.translate('discover.viewAlert.dataViewChangedWarnDescription', { - defaultMessage: `Data view has been updated after the last update of the alert rule.`, - }); + const buildLocatorParams = ({ + alert, + searchSource, + }: { + alert: Rule; + searchSource: ISearchSource; + }): DiscoverAppLocatorParams => { + const dataView = searchSource.getField('index'); + const timeFieldName = dataView?.timeFieldName; + // data view fetch error + if (!dataView || !timeFieldName) { + showDataViewFetchError(alert.id); + throw new Error('Data view fetch error'); + } - toastNotifications.addWarning({ - title: warnTitle, - text: toMountPoint({warnDescription}), - }); + const timeRange = openActualAlert + ? { from: queryParams.from, to: queryParams.to } + : buildTimeRangeFilter(dataView, alert, timeFieldName); + + return { + query: searchSource.getField('query') || data.query.queryString.getDefaultQuery(), + dataViewSpec: dataView.toSpec(false), + timeRange, + filters: searchSource.getField('filter') as Filter[], + }; }; return { fetchAlert, fetchSearchSource, - displayRuleChangedWarn, - displayPossibleDocsDiffInfoAlert, - showDataViewFetchError, - showDataViewUpdatedWarning, + buildLocatorParams, }; }; diff --git a/src/plugins/discover/public/build_services.ts b/src/plugins/discover/public/build_services.ts index 27f5d59b07e10..5975805522f45 100644 --- a/src/plugins/discover/public/build_services.ts +++ b/src/plugins/discover/public/build_services.ts @@ -47,11 +47,11 @@ import type { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plug import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { LensPublicStart } from '@kbn/lens-plugin/public'; -import { DiscoverAppLocator } from './locator'; import { getHistory } from './kibana_services'; import { DiscoverStartPlugins } from './plugin'; import { DiscoverContextAppLocator } from './application/context/services/locator'; import { DiscoverSingleDocLocator } from './application/doc/locator'; +import { DiscoverAppLocator } from '../common'; /** * Location state of internal Discover history instance diff --git a/src/plugins/discover/public/components/discover_grid/build_copy_column_button.test.tsx b/src/plugins/discover/public/components/discover_grid/build_copy_column_button.test.tsx index 66a3938e83250..dda3a904bda3f 100644 --- a/src/plugins/discover/public/components/discover_grid/build_copy_column_button.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_copy_column_button.test.tsx @@ -20,7 +20,7 @@ describe('Build a column button to copy to clipboard', () => { it('should copy a column name to clipboard on click', () => { const { label, iconType, onClick } = buildCopyColumnNameButton({ columnDisplayName: 'test-field-name', - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, }); execCommandMock.mockImplementationOnce(() => true); @@ -49,7 +49,7 @@ describe('Build a column button to copy to clipboard', () => { const { label, iconType, onClick } = buildCopyColumnValuesButton({ columnId: 'extension', columnDisplayName: 'custom_extension', - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, rowsCount: 3, valueToStringConverter: discoverGridContextMock.valueToStringConverter, }); @@ -72,7 +72,7 @@ describe('Build a column button to copy to clipboard', () => { } = buildCopyColumnValuesButton({ columnId: '_source', columnDisplayName: 'Document', - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 3, }); @@ -101,7 +101,7 @@ describe('Build a column button to copy to clipboard', () => { it('should not copy to clipboard on click', () => { const { label, iconType, onClick } = buildCopyColumnNameButton({ columnDisplayName: 'test-field-name', - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, }); execCommandMock.mockImplementationOnce(() => false); diff --git a/src/plugins/discover/public/components/discover_grid/build_copy_column_button.tsx b/src/plugins/discover/public/components/discover_grid/build_copy_column_button.tsx index 48e7e2f5bb499..111e80dd62e95 100644 --- a/src/plugins/discover/public/components/discover_grid/build_copy_column_button.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_copy_column_button.tsx @@ -9,11 +9,11 @@ import React from 'react'; import { EuiListGroupItemProps } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import type { ToastsStart } from '@kbn/core/public'; import { copyColumnValuesToClipboard, copyColumnNameToClipboard, } from '../../utils/copy_value_to_clipboard'; -import { DiscoverServices } from '../../build_services'; import type { ValueToStringConverter } from '../../types'; function buildCopyColumnButton({ @@ -39,10 +39,10 @@ function buildCopyColumnButton({ export function buildCopyColumnNameButton({ columnDisplayName, - services, + toastNotifications, }: { columnDisplayName: string; - services: DiscoverServices; + toastNotifications: ToastsStart; }): EuiListGroupItemProps { return buildCopyColumnButton({ label: ( @@ -51,7 +51,7 @@ export function buildCopyColumnNameButton({ defaultMessage="Copy name" /> ), - onCopy: () => copyColumnNameToClipboard({ columnDisplayName, services }), + onCopy: () => copyColumnNameToClipboard({ columnDisplayName, toastNotifications }), dataTestSubj: 'gridCopyColumnNameToClipBoardButton', }); } @@ -59,13 +59,13 @@ export function buildCopyColumnNameButton({ export function buildCopyColumnValuesButton({ columnId, columnDisplayName, - services, + toastNotifications, rowsCount, valueToStringConverter, }: { columnId: string; columnDisplayName: string; - services: DiscoverServices; + toastNotifications: ToastsStart; rowsCount: number; valueToStringConverter: ValueToStringConverter; }): EuiListGroupItemProps { @@ -80,7 +80,7 @@ export function buildCopyColumnValuesButton({ copyColumnValuesToClipboard({ columnId, columnDisplayName, - services, + toastNotifications, rowsCount, valueToStringConverter, }), diff --git a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx index 35707318cf773..dc85179906384 100644 --- a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx @@ -50,7 +50,8 @@ describe('buildEditFieldButton', () => { it('should return null if the field is not editable', () => { const field = dataView.getFieldByName('unknown_field') as DataViewField; const button = buildEditFieldButton({ - services: discoverServiceMock, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewEditor.userPermissions.editDataView(), dataView, field, editField: jest.fn(), @@ -64,7 +65,8 @@ describe('buildEditFieldButton', () => { .mockReturnValueOnce(false); const field = dataView.getFieldByName('bytes') as DataViewField; const button = buildEditFieldButton({ - services: discoverServiceMock, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewEditor.userPermissions.editDataView(), dataView, field, editField: jest.fn(), @@ -75,7 +77,8 @@ describe('buildEditFieldButton', () => { it('should return null if passed the _source field', () => { const field = dataView.getFieldByName('_source') as DataViewField; const button = buildEditFieldButton({ - services: discoverServiceMock, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewEditor.userPermissions.editDataView(), dataView, field, editField: jest.fn(), @@ -86,7 +89,8 @@ describe('buildEditFieldButton', () => { it('should return EuiListGroupItemProps if the field and data view are editable', () => { const field = dataView.getFieldByName('bytes') as DataViewField; const button = buildEditFieldButton({ - services: discoverServiceMock, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewEditor.userPermissions.editDataView(), dataView, field, editField: jest.fn(), @@ -114,7 +118,8 @@ describe('buildEditFieldButton', () => { const field = dataView.getFieldByName('bytes') as DataViewField; const editField = jest.fn(); const buttonProps = buildEditFieldButton({ - services: discoverServiceMock, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewEditor.userPermissions.editDataView(), dataView, field, editField, diff --git a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.tsx b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.tsx index 1d9eab7e1d8e4..71da6ca691f93 100644 --- a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.tsx @@ -10,16 +10,15 @@ import { EuiListGroupItemProps } from '@elastic/eui'; import { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import { FormattedMessage } from '@kbn/i18n-react'; import React from 'react'; -import { DiscoverServices } from '../../build_services'; import { getFieldCapabilities } from '../../utils/get_field_capabilities'; export const buildEditFieldButton = ({ - services, + hasEditDataViewPermission, dataView, field, editField, }: { - services: DiscoverServices; + hasEditDataViewPermission: () => boolean; dataView: DataView; field: DataViewField; editField: (fieldName: string) => void; @@ -29,8 +28,7 @@ export const buildEditFieldButton = ({ } const { canEdit: canEditField } = getFieldCapabilities(dataView, field); - const canEditDataView = - Boolean(services.dataViewEditor?.userPermissions?.editDataView()) || !dataView.isPersisted(); + const canEditDataView = hasEditDataViewPermission() || !dataView.isPersisted(); if (!canEditField || !canEditDataView) { return null; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx index 7291a528149b8..97e951635288f 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx @@ -21,6 +21,9 @@ import { getDocId } from '../../utils/get_doc_id'; import { EsHitRecord } from '../../types'; function getProps() { + const services = discoverServiceMock; + services.dataViewFieldEditor.userPermissions.editIndexPattern = jest.fn().mockReturnValue(true); + return { ariaLabelledBy: '', columns: [], @@ -42,6 +45,7 @@ function getProps() { showTimeCol: true, sort: [], useNewFieldsApi: true, + services, }; } diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx index 0407a47011955..d571de95f074d 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx @@ -25,6 +25,9 @@ import { import type { DataView } from '@kbn/data-views-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { Filter } from '@kbn/es-query'; +import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import { ToastsStart, IUiSettingsClient, HttpStart } from '@kbn/core/public'; +import { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { getSchemaDetectors } from './discover_grid_schema'; import { DiscoverGridFlyout } from './discover_grid_flyout'; @@ -48,7 +51,6 @@ import { DiscoverGridDocumentToolbarBtn } from './discover_grid_document_selecti import { getShouldShowFieldHandler } from '../../utils/get_should_show_field_handler'; import type { DataTableRecord, ValueToStringConverter } from '../../types'; import { useRowHeightsOptions } from '../../hooks/use_row_heights_options'; -import { useDiscoverServices } from '../../hooks/use_discover_services'; import { convertValueToString } from '../../utils/convert_value_to_string'; import { getRowsPerPageOptions, getDefaultRowsPerPage } from '../../utils/rows_per_page'; @@ -191,6 +193,16 @@ export interface DiscoverGridProps { * Document detail view component */ DocumentView?: typeof DiscoverGridFlyout; + /** + * Service dependencies + */ + services: { + fieldFormats: FieldFormatsStart; + addBasePath: HttpStart['basePath']['prepend']; + uiSettings: IUiSettingsClient; + dataViewFieldEditor: DataViewFieldEditorStart; + toastNotifications: ToastsStart; + }; } export const EuiDataGridMemoized = React.memo(EuiDataGrid); @@ -231,9 +243,10 @@ export const DiscoverGrid = ({ onUpdateRowsPerPage, onFieldEdited, DocumentView, + services, }: DiscoverGridProps) => { + const { fieldFormats, toastNotifications, dataViewFieldEditor, uiSettings } = services; const dataGridRef = useRef(null); - const services = useDiscoverServices(); const [selectedDocs, setSelectedDocs] = useState([]); const [isFilterActive, setIsFilterActive] = useState(false); const displayedColumns = getDisplayedColumns(columns, dataView); @@ -273,11 +286,11 @@ export const DiscoverGrid = ({ rows: displayedRows, dataView, columnId, - services, + fieldFormats, options, }); }, - [displayedRows, dataView, services] + [displayedRows, dataView, fieldFormats] ); /** @@ -410,7 +423,11 @@ export const DiscoverGrid = ({ showTimeCol, defaultColumns, isSortEnabled, - services, + services: { + uiSettings, + toastNotifications, + }, + hasEditDataViewPermission: () => dataViewFieldEditor.userPermissions.editIndexPattern(), valueToStringConverter, onFilter, editField, @@ -424,7 +441,9 @@ export const DiscoverGrid = ({ settings, defaultColumns, isSortEnabled, - services, + uiSettings, + toastNotifications, + dataViewFieldEditor, valueToStringConverter, editField, ] diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_cell_actions.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_cell_actions.tsx index b785615068385..5c565a97df8dc 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_cell_actions.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_cell_actions.tsx @@ -88,7 +88,7 @@ export const FilterOutBtn = ({ export const CopyBtn = ({ Component, rowIndex, columnId }: EuiDataGridColumnCellActionProps) => { const { valueToStringConverter } = useContext(DiscoverGridContext); - const services = useDiscoverServices(); + const { toastNotifications } = useDiscoverServices(); const buttonTitle = i18n.translate('discover.grid.copyClipboardButtonTitle', { defaultMessage: 'Copy value of {column}', @@ -101,7 +101,7 @@ export const CopyBtn = ({ Component, rowIndex, columnId }: EuiDataGridColumnCell copyValueToClipboard({ rowIndex, columnId, - services, + toastNotifications, valueToStringConverter, }); }} diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx index 5abd64b14ceb8..77e7c5b2a5e17 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx @@ -23,7 +23,12 @@ describe('Discover grid columns', function () { isSortEnabled: true, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, - services: discoverServiceMock, + services: { + uiSettings: discoverServiceMock.uiSettings, + toastNotifications: discoverServiceMock.toastNotifications, + }, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewFieldEditor.userPermissions.editIndexPattern(), onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` @@ -134,7 +139,12 @@ describe('Discover grid columns', function () { isSortEnabled: true, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, - services: discoverServiceMock, + services: { + uiSettings: discoverServiceMock.uiSettings, + toastNotifications: discoverServiceMock.toastNotifications, + }, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewFieldEditor.userPermissions.editIndexPattern(), onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` @@ -239,7 +249,12 @@ describe('Discover grid columns', function () { isSortEnabled: true, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, - services: discoverServiceMock, + services: { + uiSettings: discoverServiceMock.uiSettings, + toastNotifications: discoverServiceMock.toastNotifications, + }, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewFieldEditor.userPermissions.editIndexPattern(), onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx index c6c9e4563640d..6e4c0ec619e2b 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx @@ -10,6 +10,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiDataGridColumn, EuiIcon, EuiScreenReaderOnly, EuiToolTip } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; +import { ToastsStart, IUiSettingsClient } from '@kbn/core/public'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { ExpandButton } from './discover_grid_expand_button'; import { DiscoverGridSettings } from './types'; @@ -19,7 +20,6 @@ import { getSchemaByKbnType } from './discover_grid_schema'; import { SelectButton } from './discover_grid_document_selection'; import { defaultTimeColumnWidth } from './constants'; import { buildCopyColumnNameButton, buildCopyColumnValuesButton } from './build_copy_column_button'; -import { DiscoverServices } from '../../build_services'; import { buildEditFieldButton } from './build_edit_field_button'; const openDetails = { @@ -65,7 +65,8 @@ function buildEuiGridColumn({ dataView, defaultColumns, isSortEnabled, - services, + toastNotifications, + hasEditDataViewPermission, valueToStringConverter, rowsCount, onFilter, @@ -76,7 +77,8 @@ function buildEuiGridColumn({ dataView: DataView; defaultColumns: boolean; isSortEnabled: boolean; - services: DiscoverServices; + toastNotifications: ToastsStart; + hasEditDataViewPermission: () => boolean; valueToStringConverter: ValueToStringConverter; rowsCount: number; onFilter?: DocViewFilterFn; @@ -86,7 +88,7 @@ function buildEuiGridColumn({ const editFieldButton = editField && dataViewField && - buildEditFieldButton({ services, dataView, field: dataViewField, editField }); + buildEditFieldButton({ hasEditDataViewPermission, dataView, field: dataViewField, editField }); const columnDisplayName = columnName === '_source' ? i18n.translate('discover.grid.documentHeader', { @@ -114,11 +116,16 @@ function buildEuiGridColumn({ additional: [ ...(columnName === '__source' ? [] - : [buildCopyColumnNameButton({ columnDisplayName, services })]), + : [ + buildCopyColumnNameButton({ + columnDisplayName, + toastNotifications, + }), + ]), buildCopyColumnValuesButton({ columnId: columnName, columnDisplayName, - services, + toastNotifications, rowsCount, valueToStringConverter, }), @@ -170,6 +177,7 @@ export function getEuiGridColumns({ defaultColumns, isSortEnabled, services, + hasEditDataViewPermission, valueToStringConverter, onFilter, editField, @@ -181,7 +189,11 @@ export function getEuiGridColumns({ showTimeCol: boolean; defaultColumns: boolean; isSortEnabled: boolean; - services: DiscoverServices; + services: { + uiSettings: IUiSettingsClient; + toastNotifications: ToastsStart; + }; + hasEditDataViewPermission: () => boolean; valueToStringConverter: ValueToStringConverter; onFilter: DocViewFilterFn; editField?: (fieldName: string) => void; @@ -201,7 +213,8 @@ export function getEuiGridColumns({ dataView, defaultColumns, isSortEnabled, - services, + toastNotifications: services.toastNotifications, + hasEditDataViewPermission, valueToStringConverter, rowsCount, onFilter, diff --git a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts index b8879389b4af0..02956b2894ffb 100644 --- a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts +++ b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts @@ -11,7 +11,7 @@ import { configMock } from '../../../__mocks__/config'; import { dataViewMock } from '../../../__mocks__/data_view'; import { dataViewsMock } from '../../../__mocks__/data_views'; import { Capabilities } from '@kbn/core/types'; -import { AppState } from '../../../application/main/services/discover_state'; +import { AppState } from '../../../application/main/services/discover_app_state_container'; function getStateColumnAction(state: AppState, setAppState: (state: Partial) => void) { return getStateColumnActions({ diff --git a/src/plugins/discover/public/components/doc_table/actions/columns.ts b/src/plugins/discover/public/components/doc_table/actions/columns.ts index 36b4970b70999..b6438a2e1cdd1 100644 --- a/src/plugins/discover/public/components/doc_table/actions/columns.ts +++ b/src/plugins/discover/public/components/doc_table/actions/columns.ts @@ -9,7 +9,7 @@ import { Capabilities, IUiSettingsClient } from '@kbn/core/public'; import { DataViewsContract } from '@kbn/data-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; import { SORT_DEFAULT_ORDER_SETTING } from '../../../../common'; -import { GetStateReturn as DiscoverGetStateReturn } from '../../../application/main/services/discover_state'; +import { DiscoverStateContainer as DiscoverGetStateReturn } from '../../../application/main/services/discover_state'; import { GetStateReturn as ContextGetStateReturn } from '../../../application/context/services/context_state'; import { popularizeField } from '../../../utils/popularize_field'; diff --git a/src/plugins/discover/public/components/field_name/__snapshots__/field_name.test.tsx.snap b/src/plugins/discover/public/components/field_name/__snapshots__/field_name.test.tsx.snap index b26160d9d33bc..21777f772c9a5 100644 --- a/src/plugins/discover/public/components/field_name/__snapshots__/field_name.test.tsx.snap +++ b/src/plugins/discover/public/components/field_name/__snapshots__/field_name.test.tsx.snap @@ -135,3 +135,76 @@ Array [
, ] `; + +exports[`FieldName renders when mapping is provided 1`] = ` +Array [ +
+ + + Number field + + +
, +
+
+ + + bytes + + +
+
, +] +`; + +exports[`FieldName renders with a search highlight 1`] = ` +Array [ +
+ + + Number field + + +
, +
+
+ + + + te + + st.test.test + + +
+
, +] +`; diff --git a/src/plugins/discover/public/components/field_name/field_name.test.tsx b/src/plugins/discover/public/components/field_name/field_name.test.tsx index d2f961392c43c..929ec2add2acc 100644 --- a/src/plugins/discover/public/components/field_name/field_name.test.tsx +++ b/src/plugins/discover/public/components/field_name/field_name.test.tsx @@ -8,26 +8,45 @@ import React from 'react'; import { render } from 'enzyme'; +import { stubLogstashDataView as dataView } from '@kbn/data-plugin/common/stubs'; import { FieldName } from './field_name'; -// Note that it currently provides just 2 basic tests, there should be more, but -// the components involved will soon change -test('FieldName renders a string field by providing fieldType and fieldName', () => { - const component = render(); - expect(component).toMatchSnapshot(); -}); +describe('FieldName', function () { + test('renders a string field by providing fieldType and fieldName', () => { + const component = render(); + expect(component).toMatchSnapshot(); + }); -test('FieldName renders a number field by providing a field record', () => { - const component = render(); - expect(component).toMatchSnapshot(); -}); + test('renders a number field by providing a field record', () => { + const component = render(); + expect(component).toMatchSnapshot(); + }); -test('FieldName renders a geo field', () => { - const component = render(); - expect(component).toMatchSnapshot(); -}); + test('renders a geo field', () => { + const component = render(); + expect(component).toMatchSnapshot(); + }); + + test('renders unknown field', () => { + const component = render(); + expect(component).toMatchSnapshot(); + }); + + test('renders with a search highlight', () => { + const component = render( + + ); + expect(component).toMatchSnapshot(); + }); -test('FieldName renders unknown field', () => { - const component = render(); - expect(component).toMatchSnapshot(); + test('renders when mapping is provided', () => { + const component = render( + + ); + expect(component).toMatchSnapshot(); + }); }); diff --git a/src/plugins/discover/public/components/field_name/field_name.tsx b/src/plugins/discover/public/components/field_name/field_name.tsx index 3de9bd129fa35..ca386d344e42f 100644 --- a/src/plugins/discover/public/components/field_name/field_name.tsx +++ b/src/plugins/discover/public/components/field_name/field_name.tsx @@ -8,7 +8,7 @@ import React, { Fragment } from 'react'; import './field_name.scss'; -import { EuiBadge, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; +import { EuiBadge, EuiFlexGroup, EuiFlexItem, EuiToolTip, EuiHighlight } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { FieldIcon, FieldIconProps } from '@kbn/react-field'; @@ -22,6 +22,7 @@ interface Props { fieldMapping?: DataViewField; fieldIconProps?: Omit; scripted?: boolean; + highlight?: string; } export function FieldName({ @@ -30,6 +31,7 @@ export function FieldName({ fieldType, fieldIconProps, scripted = false, + highlight = '', }: Props) { const typeName = getFieldTypeName(fieldType); const displayName = @@ -52,7 +54,7 @@ export function FieldName({ delay="long" anchorClassName="eui-textBreakAll" > - {displayName} + {displayName}
diff --git a/src/plugins/discover/public/components/view_mode_toggle/constants.ts b/src/plugins/discover/public/components/view_mode_toggle/constants.ts deleted file mode 100644 index d03c0710d12b3..0000000000000 --- a/src/plugins/discover/public/components/view_mode_toggle/constants.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export enum VIEW_MODE { - DOCUMENT_LEVEL = 'documents', - AGGREGATED_LEVEL = 'aggregated', -} diff --git a/src/plugins/discover/public/components/view_mode_toggle/index.ts b/src/plugins/discover/public/components/view_mode_toggle/index.ts index 95b76f5879d19..06aab965b97b2 100644 --- a/src/plugins/discover/public/components/view_mode_toggle/index.ts +++ b/src/plugins/discover/public/components/view_mode_toggle/index.ts @@ -7,4 +7,3 @@ */ export { DocumentViewModeToggle } from './view_mode_toggle'; -export { VIEW_MODE } from './constants'; diff --git a/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.test.tsx b/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.test.tsx index 450d7c2816d7d..7c17e5e1a31ef 100644 --- a/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.test.tsx +++ b/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.test.tsx @@ -7,10 +7,10 @@ */ import { EuiTab } from '@elastic/eui'; +import { VIEW_MODE } from '../../../common/constants'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import React from 'react'; -import { VIEW_MODE } from './constants'; import { DocumentViewModeToggle } from './view_mode_toggle'; describe('Document view mode toggle component', () => { diff --git a/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.tsx b/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.tsx index 99c7403c3fbfe..befe62ef42fbd 100644 --- a/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.tsx +++ b/src/plugins/discover/public/components/view_mode_toggle/view_mode_toggle.tsx @@ -11,7 +11,7 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { css } from '@emotion/react'; import { euiThemeVars } from '@kbn/ui-theme'; -import { VIEW_MODE } from './constants'; +import { VIEW_MODE } from '../../../common/constants'; import { SHOW_FIELD_STATISTICS } from '../../../common'; import { useDiscoverServices } from '../../hooks/use_discover_services'; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts index 77bb0d98fd214..0e30156381ade 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts @@ -20,8 +20,8 @@ import { of, throwError } from 'rxjs'; import { ReactWrapper } from 'enzyme'; import { SHOW_FIELD_STATISTICS } from '../../common'; import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; -import { VIEW_MODE } from '../components/view_mode_toggle'; import { SavedSearchEmbeddableComponent } from './saved_search_embeddable_component'; +import { VIEW_MODE } from '../../common/constants'; let discoverComponent: ReactWrapper; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index 81e25fd3c6b8d..96c23d085afcf 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -35,6 +35,7 @@ import { UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { METRIC_TYPE } from '@kbn/analytics'; +import { VIEW_MODE } from '../../common/constants'; import { getSortForEmbeddable, SortPair } from '../utils/sorting'; import { RecordRawType } from '../application/main/hooks/use_saved_search'; import { buildDataTableRecord } from '../utils/build_data_record'; @@ -56,7 +57,6 @@ import { handleSourceColumnState } from '../utils/state_helpers'; import { DiscoverGridProps } from '../components/discover_grid/discover_grid'; import { DiscoverGridSettings } from '../components/discover_grid/types'; import { DocTableProps } from '../components/doc_table/doc_table_wrapper'; -import { VIEW_MODE } from '../components/view_mode_toggle'; import { updateSearchSource } from './utils/update_search_source'; import { FieldStatisticsTable } from '../application/main/components/field_stats_table'; import { getRawRecordType } from '../application/main/utils/get_raw_record_type'; diff --git a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx index 33e2435644305..127d0b90d71c9 100644 --- a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx +++ b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx @@ -10,8 +10,11 @@ import React from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { renderHook } from '@testing-library/react-hooks'; +import type { UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { discoverServiceMock as mockDiscoverServices } from '../__mocks__/services'; import { useConfirmPersistencePrompt } from './use_confirm_persistence_prompt'; +import { getDiscoverStateMock } from '../__mocks__/discover_state.mock'; +import { setUiActions } from '../kibana_services'; jest.mock('./show_confirm_panel', () => { return { @@ -28,11 +31,16 @@ const mockDataView = { toSpec: () => ({}), } as DataView; +setUiActions({ + getTrigger: jest.fn(() => {}), + getAction: jest.fn(() => ({ execute: jest.fn() })), +} as unknown as UiActionsStart); + describe('useConfirmPersistencePrompt', () => { it('should save data view correctly', async () => { mockDiscoverServices.dataViews.createAndSave = jest.fn().mockResolvedValue(mockDataView); const hook = renderHook( - (d: DataView) => useConfirmPersistencePrompt(() => Promise.resolve(mockDataView)), + (d: DataView) => useConfirmPersistencePrompt(getDiscoverStateMock({})), { initialProps: mockDataView, wrapper: ({ children }) => ( @@ -52,7 +60,7 @@ describe('useConfirmPersistencePrompt', () => { .fn() .mockRejectedValue(new Error('failed to save')); const hook = renderHook( - (d: DataView) => useConfirmPersistencePrompt(() => Promise.resolve(mockDataView)), + (d: DataView) => useConfirmPersistencePrompt(getDiscoverStateMock({})), { initialProps: mockDataView, wrapper: ({ children }) => ( diff --git a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts index 3884bfd085a48..5332ffac6e0be 100644 --- a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts +++ b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts @@ -7,31 +7,39 @@ */ import { useCallback } from 'react'; +import uuid from 'uuid/v4'; import { i18n } from '@kbn/i18n'; import type { DataView } from '@kbn/data-views-plugin/public'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { useDiscoverServices } from './use_discover_services'; import { showConfirmPanel } from './show_confirm_panel'; import { persistSavedSearch } from '../application/main/utils/persist_saved_search'; +import { DiscoverStateContainer } from '../application/main/services/discover_state'; +import { updateFiltersReferences } from '../application/main/utils/update_filter_references'; -export const useConfirmPersistencePrompt = ( - updateAdHocDataViewId: (dataView: DataView) => Promise -) => { +export const useConfirmPersistencePrompt = (stateContainer: DiscoverStateContainer) => { const services = useDiscoverServices(); - const persistDataView: (dataView: DataView) => Promise = useCallback( - async (dataView) => { + const persistDataView: (adHocDataView: DataView) => Promise = useCallback( + async (adHocDataView) => { try { - const updatedDataView = await updateAdHocDataViewId(dataView); + const persistedDataView = await services.dataViews.createAndSave({ + ...adHocDataView.toSpec(), + id: uuid(), + }); + services.dataViews.clearInstanceCache(adHocDataView.id); + + updateFiltersReferences(adHocDataView, persistedDataView); - const response = await services.dataViews.createAndSave(updatedDataView.toSpec()); + stateContainer.actions.removeAdHocDataViewById(adHocDataView.id!); + await stateContainer.replaceUrlAppState({ index: persistedDataView.id }); const message = i18n.translate('discover.dataViewPersist.message', { defaultMessage: "Saved '{dataViewName}'", - values: { dataViewName: response.getName() }, + values: { dataViewName: persistedDataView.getName() }, }); services.toastNotifications.addSuccess(message); - return response; + return persistedDataView; } catch (error) { services.toastNotifications.addDanger({ title: i18n.translate('discover.dataViewPersistError.title', { @@ -42,7 +50,7 @@ export const useConfirmPersistencePrompt = ( throw new Error(error); } }, - [services.dataViews, services.toastNotifications, updateAdHocDataViewId] + [services.dataViews, services.toastNotifications, stateContainer] ); const openConfirmSavePrompt: (dataView: DataView) => Promise = useCallback( @@ -61,7 +69,7 @@ export const useConfirmPersistencePrompt = ( ); const onUpdateSuccess = useCallback( - (id: string, savedSearch: SavedSearch) => { + (savedSearch: SavedSearch) => { services.toastNotifications.addSuccess({ title: i18n.translate('discover.notifications.updateSavedSearchTitle', { defaultMessage: `Search '{savedSearchTitle}' updated with saved data view`, @@ -94,7 +102,7 @@ export const useConfirmPersistencePrompt = ( ({ savedSearch, dataView, state }) => { return persistSavedSearch(savedSearch, { dataView, - onSuccess: (id) => onUpdateSuccess(id, savedSearch), + onSuccess: () => onUpdateSuccess(savedSearch), onError: (error) => onUpdateError(error, savedSearch), state, saveOptions: {}, diff --git a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx index 23c39113a0808..80e861ea99c42 100644 --- a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx +++ b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx @@ -11,7 +11,6 @@ import { useColumns } from './use_data_grid_columns'; import { dataViewMock } from '../__mocks__/data_view'; import { configMock } from '../__mocks__/config'; import { dataViewsMock } from '../__mocks__/data_views'; -import { AppState } from '../application/context/services/context_state'; import { Capabilities } from '@kbn/core/types'; describe('useColumns', () => { @@ -21,9 +20,7 @@ describe('useColumns', () => { dataView: dataViewMock, dataViews: dataViewsMock, setAppState: () => {}, - state: { - columns: ['Time', 'message'], - } as AppState, + columns: ['Time', 'message'], useNewFieldsApi: false, }; @@ -43,9 +40,7 @@ describe('useColumns', () => { const { result } = renderHook(() => { return useColumns({ ...defaultProps, - state: { - columns: ['Time', '_source'], - }, + columns: ['Time', '_source'], useNewFieldsApi: true, }); }); @@ -57,9 +52,7 @@ describe('useColumns', () => { const { result } = renderHook(() => { return useColumns({ ...defaultProps, - state: { - columns: [], - }, + columns: [], }); }); expect(result.current.columns).toEqual([]); diff --git a/src/plugins/discover/public/hooks/use_data_grid_columns.ts b/src/plugins/discover/public/hooks/use_data_grid_columns.ts index 530ac62ca8d06..c693117916d71 100644 --- a/src/plugins/discover/public/hooks/use_data_grid_columns.ts +++ b/src/plugins/discover/public/hooks/use_data_grid_columns.ts @@ -11,14 +11,8 @@ import type { DataView, DataViewsContract } from '@kbn/data-views-plugin/public' import { Capabilities, IUiSettingsClient } from '@kbn/core/public'; import { isEqual } from 'lodash'; -import { - AppState as DiscoverState, - GetStateReturn as DiscoverGetStateReturn, -} from '../application/main/services/discover_state'; -import { - AppState as ContextState, - GetStateReturn as ContextGetStateReturn, -} from '../application/context/services/context_state'; +import { DiscoverStateContainer as DiscoverGetStateReturn } from '../application/main/services/discover_state'; +import { GetStateReturn as ContextGetStateReturn } from '../application/context/services/context_state'; import { getStateColumnActions } from '../components/doc_table/actions/columns'; interface UseColumnsProps { @@ -28,7 +22,8 @@ interface UseColumnsProps { dataViews: DataViewsContract; useNewFieldsApi: boolean; setAppState: DiscoverGetStateReturn['setAppState'] | ContextGetStateReturn['setAppState']; - state: DiscoverState | ContextState; + columns?: string[]; + sort?: string[][]; } export const useColumns = ({ @@ -37,17 +32,18 @@ export const useColumns = ({ dataView, dataViews, setAppState, - state, useNewFieldsApi, + columns, + sort, }: UseColumnsProps) => { - const [usedColumns, setUsedColumns] = useState(getColumns(state.columns, useNewFieldsApi)); + const [usedColumns, setUsedColumns] = useState(getColumns(columns, useNewFieldsApi)); useEffect(() => { - const nextColumns = getColumns(state.columns, useNewFieldsApi); + const nextColumns = getColumns(columns, useNewFieldsApi); if (isEqual(usedColumns, nextColumns)) { return; } setUsedColumns(nextColumns); - }, [state.columns, useNewFieldsApi, usedColumns]); + }, [columns, useNewFieldsApi, usedColumns]); const { onAddColumn, onRemoveColumn, onSetColumns, onMoveColumn } = useMemo( () => getStateColumnActions({ @@ -58,18 +54,9 @@ export const useColumns = ({ setAppState, useNewFieldsApi, columns: usedColumns, - sort: state.sort, + sort, }), - [ - capabilities, - config, - dataView, - dataViews, - setAppState, - state.sort, - useNewFieldsApi, - usedColumns, - ] + [capabilities, config, dataView, dataViews, setAppState, sort, useNewFieldsApi, usedColumns] ); return { diff --git a/src/plugins/discover/public/index.ts b/src/plugins/discover/public/index.ts index 451bf3303216e..bafa6b603d6e4 100644 --- a/src/plugins/discover/public/index.ts +++ b/src/plugins/discover/public/index.ts @@ -18,9 +18,6 @@ export type { ISearchEmbeddable, SearchInput } from './embeddable'; export { SEARCH_EMBEDDABLE_TYPE } from './embeddable'; export { loadSharingDataHelpers } from './utils'; -export { DISCOVER_APP_LOCATOR } from './locator'; -export type { DiscoverAppLocator, DiscoverAppLocatorParams } from './locator'; - // re-export types and static functions to give other plugins time to migrate away export { type SavedSearch, diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index 407584df57876..1d106309641a3 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -40,6 +40,7 @@ import { TriggersAndActionsUIPublicPluginStart } from '@kbn/triggers-actions-ui- import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; +import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/public'; import type { LensPublicStart } from '@kbn/lens-plugin/public'; import { PLUGIN_ID } from '../common'; import { DocViewInput, DocViewInputFn } from './services/doc_views/doc_views_types'; @@ -54,7 +55,6 @@ import { } from './kibana_services'; import { registerFeature } from './register_feature'; import { buildServices } from './build_services'; -import { DiscoverAppLocator, DiscoverAppLocatorDefinition } from './locator'; import { SearchEmbeddableFactory } from './embeddable'; import { DeferredSpinner } from './components'; import { ViewSavedSearchAction } from './embeddable/view_saved_search_action'; @@ -70,6 +70,7 @@ import { DiscoverSingleDocLocator, DiscoverSingleDocLocatorDefinition, } from './application/doc/locator'; +import { DiscoverAppLocator, DiscoverAppLocatorDefinition } from '../common'; const DocViewerLegacyTable = React.lazy( () => import('./services/doc_views/components/doc_viewer_table/legacy') @@ -218,7 +219,7 @@ export class DiscoverPlugin if (plugins.share) { const useHash = core.uiSettings.get('state:storeInSessionStorage'); this.locator = plugins.share.url.locators.create( - new DiscoverAppLocatorDefinition({ useHash }) + new DiscoverAppLocatorDefinition({ useHash, setStateToKbnUrl }) ); this.contextLocator = plugins.share.url.locators.create( diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/table.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/table.tsx index 2a7b90a9feb52..0eab3a68c8218 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/table.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/table.tsx @@ -241,7 +241,7 @@ export const DocViewerTable = ({ } else { const fieldMapping = mapping(curFieldName); const displayName = fieldMapping?.displayName ?? curFieldName; - if (displayName.includes(searchText)) { + if (displayName.toLowerCase().includes(searchText.toLowerCase())) { // filter only unpinned fields acc.restItems.push(fieldToItem(curFieldName)); } @@ -273,6 +273,7 @@ export const DocViewerTable = ({ const headers = [ !isSingleDocView && ( ), - + , - + @@ -305,10 +306,11 @@ export const DocViewerTable = ({ const renderRows = useCallback( (items: FieldRecord[]) => { + const highlight = searchText?.toLowerCase(); return items.map( ({ action: { flattenedField, onFilter }, - field: { field, fieldMapping, displayName, fieldType, scripted, pinned }, + field: { field, fieldMapping, fieldType, scripted, pinned }, value: { formattedValue, ignored }, }: FieldRecord) => { return ( @@ -344,10 +346,11 @@ export const DocViewerTable = ({ mobileOptions={MOBILE_OPTIONS} > { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'keyword_key', rowIndex: 0, options: { @@ -30,7 +30,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'text_message', rowIndex: 0, options: { @@ -45,7 +45,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'text_message', rowIndex: 1, options: { @@ -61,7 +61,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'number_price', rowIndex: 0, options: { @@ -76,7 +76,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'date', rowIndex: 0, options: { @@ -91,7 +91,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'date_nanos', rowIndex: 0, options: { @@ -106,7 +106,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'bool_enabled', rowIndex: 0, options: { @@ -121,7 +121,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'binary_blob', rowIndex: 0, options: { @@ -136,7 +136,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'object_user.first', rowIndex: 0, options: { @@ -151,7 +151,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'nested_user', rowIndex: 0, options: { @@ -168,7 +168,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'flattened_labels', rowIndex: 0, options: { @@ -183,7 +183,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'range_time_frame', rowIndex: 0, options: { @@ -200,7 +200,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'rank_features', rowIndex: 0, options: { @@ -215,7 +215,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'histogram', rowIndex: 0, options: { @@ -230,7 +230,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'ip_addr', rowIndex: 0, options: { @@ -245,7 +245,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'version', rowIndex: 0, options: { @@ -260,7 +260,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'vector', rowIndex: 0, options: { @@ -275,7 +275,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'geo_point', rowIndex: 0, options: { @@ -290,7 +290,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'geo_point', rowIndex: 1, options: { @@ -305,7 +305,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'array_tags', rowIndex: 0, options: { @@ -320,7 +320,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'geometry', rowIndex: 0, options: { @@ -337,7 +337,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'runtime_number', rowIndex: 0, options: { @@ -352,7 +352,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'scripted_string', rowIndex: 0, options: { @@ -367,7 +367,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'unknown', rowIndex: 0, options: { @@ -382,7 +382,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'unknown', rowIndex: -1, options: { @@ -397,7 +397,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextMock.rows, dataView: discoverGridContextMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: '_source', rowIndex: 0, options: { @@ -420,7 +420,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextMock.rows, dataView: discoverGridContextMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: '_source', rowIndex: 0, options: { @@ -437,7 +437,7 @@ describe('convertValueToString', () => { const result = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'array_tags', rowIndex: 1, options: { @@ -451,7 +451,7 @@ describe('convertValueToString', () => { const result2 = convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, columnId: 'scripted_string', rowIndex: 1, options: { diff --git a/src/plugins/discover/public/utils/convert_value_to_string.ts b/src/plugins/discover/public/utils/convert_value_to_string.ts index 7c00bc0988cce..1e98ca2b3d9fc 100644 --- a/src/plugins/discover/public/utils/convert_value_to_string.ts +++ b/src/plugins/discover/public/utils/convert_value_to_string.ts @@ -8,8 +8,8 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { cellHasFormulas, createEscapeValue } from '@kbn/data-plugin/common'; +import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { formatFieldValue } from './format_value'; -import { DiscoverServices } from '../build_services'; import { DataTableRecord } from '../types'; interface ConvertedResult { @@ -22,19 +22,18 @@ export const convertValueToString = ({ rows, columnId, dataView, - services, + fieldFormats, options, }: { rowIndex: number; rows: DataTableRecord[]; columnId: string; dataView: DataView; - services: DiscoverServices; + fieldFormats: FieldFormatsStart; options?: { disableMultiline?: boolean; }; }): ConvertedResult => { - const { fieldFormats } = services; if (!rows[rowIndex]) { return { formattedString: '', diff --git a/src/plugins/discover/public/utils/copy_value_to_clipboard.test.tsx b/src/plugins/discover/public/utils/copy_value_to_clipboard.test.tsx index 76f821858edb1..595b7601b6f65 100644 --- a/src/plugins/discover/public/utils/copy_value_to_clipboard.test.tsx +++ b/src/plugins/discover/public/utils/copy_value_to_clipboard.test.tsx @@ -24,7 +24,7 @@ describe('copyValueToClipboard', () => { convertValueToString({ rows: discoverGridContextComplexMock.rows, dataView: discoverGridContextComplexMock.dataView, - services: discoverServiceMock, + fieldFormats: discoverServiceMock.fieldFormats, rowIndex, columnId, options, @@ -50,7 +50,7 @@ describe('copyValueToClipboard', () => { it('should copy a value to clipboard', () => { execCommandMock.mockImplementationOnce(() => true); const result = copyValueToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnId: 'keyword_key', rowIndex: 0, valueToStringConverter, @@ -68,7 +68,7 @@ describe('copyValueToClipboard', () => { execCommandMock.mockImplementationOnce(() => false); const result = copyValueToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnId: 'keyword_key', rowIndex: 0, valueToStringConverter, @@ -85,7 +85,7 @@ describe('copyValueToClipboard', () => { it('should copy a column name to clipboard', () => { execCommandMock.mockImplementationOnce(() => true); const result = copyColumnNameToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnDisplayName: 'text_message', }); @@ -99,7 +99,7 @@ describe('copyValueToClipboard', () => { it('should inform when copy a column name to clipboard failed', () => { execCommandMock.mockImplementationOnce(() => false); const result = copyColumnNameToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnDisplayName: 'text_message', }); @@ -115,7 +115,7 @@ describe('copyValueToClipboard', () => { execCommandMock.mockImplementationOnce(() => true); const result = await copyColumnValuesToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnId: 'bool_enabled', columnDisplayName: 'custom_bool_enabled', rowsCount: 2, @@ -134,7 +134,7 @@ describe('copyValueToClipboard', () => { it('should copy column values to clipboard with a warning', async () => { execCommandMock.mockImplementationOnce(() => true); const result = await copyColumnValuesToClipboard({ - services: discoverServiceMock, + toastNotifications: discoverServiceMock.toastNotifications, columnId: 'scripted_string', columnDisplayName: 'custom_scripted_string', rowsCount: 2, diff --git a/src/plugins/discover/public/utils/copy_value_to_clipboard.ts b/src/plugins/discover/public/utils/copy_value_to_clipboard.ts index 94ce2aee18e78..bcb9bbf115357 100644 --- a/src/plugins/discover/public/utils/copy_value_to_clipboard.ts +++ b/src/plugins/discover/public/utils/copy_value_to_clipboard.ts @@ -8,8 +8,8 @@ import { copyToClipboard } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { ToastsStart } from '@kbn/core/public'; import type { ValueToStringConverter } from '../types'; -import { DiscoverServices } from '../build_services'; import { convertNameToString } from './convert_value_to_string'; const WARNING_FOR_FORMULAS = i18n.translate( @@ -25,16 +25,14 @@ const COPY_FAILED_ERROR_MESSAGE = i18n.translate('discover.grid.copyFailedErrorT export const copyValueToClipboard = ({ rowIndex, columnId, - services, + toastNotifications, valueToStringConverter, }: { rowIndex: number; columnId: string; - services: DiscoverServices; + toastNotifications: ToastsStart; valueToStringConverter: ValueToStringConverter; }): string | null => { - const { toastNotifications } = services; - const result = valueToStringConverter(rowIndex, columnId); const valueFormatted = result.formattedString; @@ -69,17 +67,16 @@ export const copyValueToClipboard = ({ export const copyColumnValuesToClipboard = async ({ columnId, columnDisplayName, - services, + toastNotifications, valueToStringConverter, rowsCount, }: { columnId: string; columnDisplayName: string; - services: DiscoverServices; + toastNotifications: ToastsStart; valueToStringConverter: ValueToStringConverter; rowsCount: number; }): Promise => { - const { toastNotifications } = services; const nameFormattedResult = convertNameToString(columnDisplayName); let withFormula = nameFormattedResult.withFormula; @@ -129,13 +126,11 @@ export const copyColumnValuesToClipboard = async ({ export const copyColumnNameToClipboard = ({ columnDisplayName, - services, + toastNotifications, }: { columnDisplayName: string; - services: DiscoverServices; + toastNotifications: ToastsStart; }): string | null => { - const { toastNotifications } = services; - const nameFormattedResult = convertNameToString(columnDisplayName); const textToCopy = nameFormattedResult.formattedString; const copied = copyToClipboard(textToCopy); diff --git a/src/plugins/discover/public/utils/get_sharing_data.ts b/src/plugins/discover/public/utils/get_sharing_data.ts index ace169359e318..dfbdcc49e90a4 100644 --- a/src/plugins/discover/public/utils/get_sharing_data.ts +++ b/src/plugins/discover/public/utils/get_sharing_data.ts @@ -15,13 +15,14 @@ import type { } from '@kbn/data-plugin/public'; import type { Filter } from '@kbn/es-query'; import type { SavedSearch, SortOrder } from '@kbn/saved-search-plugin/public'; +import { AppState } from '../application/main/services/discover_app_state_container'; import { getSortForSearchSource } from './sorting'; import { DOC_HIDE_TIME_COLUMN_SETTING, SEARCH_FIELDS_FROM_SOURCE, SORT_DEFAULT_ORDER_SETTING, } from '../../common'; -import { AppState, isEqualFilters } from '../application/main/services/discover_state'; +import { isEqualFilters } from '../application/main/services/discover_state'; /** * Preparing data to share the current state as link or CSV/Report diff --git a/src/plugins/discover/public/utils/initialize_kbn_url_tracking.ts b/src/plugins/discover/public/utils/initialize_kbn_url_tracking.ts index f53537cd53515..87ffd52d58910 100644 --- a/src/plugins/discover/public/utils/initialize_kbn_url_tracking.ts +++ b/src/plugins/discover/public/utils/initialize_kbn_url_tracking.ts @@ -8,11 +8,8 @@ import { AppUpdater, CoreSetup } from '@kbn/core/public'; import type { BehaviorSubject } from 'rxjs'; import { filter, map } from 'rxjs/operators'; -import { - createGetterSetter, - createKbnUrlTracker, - replaceUrlHashQuery, -} from '@kbn/kibana-utils-plugin/public'; +import { createGetterSetter, createKbnUrlTracker } from '@kbn/kibana-utils-plugin/public'; +import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/common'; import { getScopedHistory } from '../kibana_services'; import { SEARCH_SESSION_ID_QUERY_PARAM } from '../constants'; import type { DiscoverSetupPlugins } from '../plugin'; diff --git a/src/plugins/discover/server/plugin.ts b/src/plugins/discover/server/plugin.ts index cfd62312fb6da..a2ee1d79b6a17 100644 --- a/src/plugins/discover/server/plugin.ts +++ b/src/plugins/discover/server/plugin.ts @@ -9,9 +9,12 @@ import { CoreSetup, CoreStart, Plugin } from '@kbn/core/server'; import type { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; import type { HomeServerPluginSetup } from '@kbn/home-plugin/server'; +import { SharePluginSetup } from '@kbn/share-plugin/server'; +import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/common'; import { getUiSettings } from './ui_settings'; import { capabilitiesProvider } from './capabilities_provider'; import { registerSampleData } from './sample_data'; +import { DiscoverAppLocatorDefinition } from '../common/locator'; export class DiscoverServerPlugin implements Plugin { public setup( @@ -19,6 +22,7 @@ export class DiscoverServerPlugin implements Plugin { plugins: { data: DataPluginSetup; home?: HomeServerPluginSetup; + share?: SharePluginSetup; } ) { core.capabilities.registerProvider(capabilitiesProvider); @@ -28,6 +32,12 @@ export class DiscoverServerPlugin implements Plugin { registerSampleData(plugins.home.sampleData); } + if (plugins.share) { + plugins.share.url.locators.create( + new DiscoverAppLocatorDefinition({ useHash: false, setStateToKbnUrl }) + ); + } + return {}; } diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index 4239fdfe2ea8d..ddb5ee5ada87a 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -1,43 +1,59 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - // there is still a decent amount of JS in this plugin and we are taking - // advantage of the fact that TS doesn't know the types of that code and - // gives us `any`. Once that code is converted to .ts we can remove this - // and allow TS to infer types from any JS file imported. - "allowJs": false + "outDir": "target/types" }, "include": ["common/**/*", "public/**/*", "server/**/*", "../../../typings/**/*", ".storybook/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../charts/tsconfig.json" }, - { "path": "../saved_search/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../url_forwarding/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../saved_objects_finder/tsconfig.json" }, - { "path": "../navigation/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data_view_field_editor/tsconfig.json"}, - { "path": "../field_formats/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../unified_search/tsconfig.json" }, - { "path": "../unified_field_list/tsconfig.json" }, - { "path": "../../../x-pack/plugins/spaces/tsconfig.json" }, - { "path": "../data_view_editor/tsconfig.json" }, - { "path": "../../../x-pack/plugins/triggers_actions_ui/tsconfig.json" }, - { "path": "../saved_objects_tagging_oss/tsconfig.json" }, - { "path": "../unified_histogram/tsconfig.json" } + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/saved-search-plugin", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/embeddable-plugin", + "@kbn/inspector-plugin", + "@kbn/url-forwarding-plugin", + "@kbn/saved-objects-plugin", + "@kbn/saved-objects-finder-plugin", + "@kbn/navigation-plugin", + "@kbn/ui-actions-plugin", + "@kbn/home-plugin", + "@kbn/share-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-view-field-editor-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-views-plugin", + "@kbn/unified-search-plugin", + "@kbn/unified-field-list-plugin", + "@kbn/spaces-plugin", + "@kbn/data-view-editor-plugin", + "@kbn/triggers-actions-ui-plugin", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/unified-histogram-plugin", + "@kbn/analytics", + "@kbn/saved-objects-management-plugin", + "@kbn/lens-plugin", + "@kbn/es-query", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/std", + "@kbn/core-ui-settings-browser", + "@kbn/i18n-react", + "@kbn/datemath", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-page-analytics-no-data", + "@kbn/alerting-plugin", + "@kbn/ui-theme", + "@kbn/react-field", + "@kbn/monaco", + "@kbn/core-notifications-browser", + "@kbn/rison", + "@kbn/config-schema", + "@kbn/storybook", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/embeddable/tsconfig.json b/src/plugins/embeddable/tsconfig.json index 6943f5fdc5471..645b3ae3dfe08 100644 --- a/src/plugins/embeddable/tsconfig.json +++ b/src/plugins/embeddable/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ ".storybook/**/*", @@ -12,11 +10,25 @@ "server/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, + "@kbn/core", + "@kbn/inspector-plugin", + "@kbn/saved-objects-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/ui-actions-plugin", + "@kbn/i18n-react", + "@kbn/storybook", + "@kbn/utility-types", + "@kbn/es-query", + "@kbn/core-theme-browser", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/std", + "@kbn/expressions-plugin", + "@kbn/usage-collection-plugin", + "@kbn/analytics", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/shared_imports.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/shared_imports.ts index 113d33dba7100..744f837ea1bb0 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/shared_imports.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/shared_imports.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -// eslint-disable-next-line import/no-extraneous-dependencies export type { TestBed } from '@kbn/test-jest-helpers'; -// eslint-disable-next-line import/no-extraneous-dependencies +// eslint-disable-next-line @kbn/imports/no_boundary_crossing export { registerTestBed, getRandomString } from '@kbn/test-jest-helpers'; diff --git a/src/plugins/es_ui_shared/tsconfig.json b/src/plugins/es_ui_shared/tsconfig.json index 5cb4f3ddfffa7..b88684db55567 100644 --- a/src/plugins/es_ui_shared/tsconfig.json +++ b/src/plugins/es_ui_shared/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "__packages_do_not_import__/**/*", @@ -15,7 +13,18 @@ ".storybook/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" } + "@kbn/core", + "@kbn/data-views-plugin", + "@kbn/i18n", + "@kbn/shared-ux-page-kibana-template", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + "@kbn/share-plugin", + "@kbn/kibana-react-plugin", + "@kbn/safer-lodash-set", + "@kbn/storybook", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/event_annotation/tsconfig.json b/src/plugins/event_annotation/tsconfig.json index 21d8b73900569..0ee8e0ee8f19f 100644 --- a/src/plugins/event_annotation/tsconfig.json +++ b/src/plugins/event_annotation/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -11,14 +9,18 @@ "server/**/*" ], "kbn_references": [ - { - "path": "../../core/tsconfig.json" - }, - { - "path": "../expressions/tsconfig.json" - }, - { - "path": "../data/tsconfig.json" - }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/data-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/data-views-plugin", + "@kbn/inspector-plugin", + "@kbn/core-ui-settings-browser", + "@kbn/datemath", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } \ No newline at end of file diff --git a/src/plugins/expression_error/tsconfig.json b/src/plugins/expression_error/tsconfig.json index 419685fe65a31..1cda452adcb70 100644 --- a/src/plugins/expression_error/tsconfig.json +++ b/src/plugins/expression_error/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -12,8 +10,14 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/kibana-react-plugin", + "@kbn/i18n-react", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expression_image/tsconfig.json b/src/plugins/expression_image/tsconfig.json index f77c026619110..8aa60e9f6e428 100644 --- a/src/plugins/expression_image/tsconfig.json +++ b/src/plugins/expression_image/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,8 +11,14 @@ "__fixtures__/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/expect", + "@kbn/i18n", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expression_metric/tsconfig.json b/src/plugins/expression_metric/tsconfig.json index f77c026619110..de672f871a83e 100644 --- a/src/plugins/expression_metric/tsconfig.json +++ b/src/plugins/expression_metric/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,8 +11,13 @@ "__fixtures__/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expression_repeat_image/tsconfig.json b/src/plugins/expression_repeat_image/tsconfig.json index 419685fe65a31..c167e9b9e684d 100644 --- a/src/plugins/expression_repeat_image/tsconfig.json +++ b/src/plugins/expression_repeat_image/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -12,8 +10,14 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expression_reveal_image/tsconfig.json b/src/plugins/expression_reveal_image/tsconfig.json index 419685fe65a31..c167e9b9e684d 100644 --- a/src/plugins/expression_reveal_image/tsconfig.json +++ b/src/plugins/expression_reveal_image/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -12,8 +10,14 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expression_shape/tsconfig.json b/src/plugins/expression_shape/tsconfig.json index f77c026619110..2c3979e83314a 100644 --- a/src/plugins/expression_shape/tsconfig.json +++ b/src/plugins/expression_shape/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,8 +11,14 @@ "__fixtures__/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/presentation-util-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/kibana-react-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/expressions/tsconfig.json b/src/plugins/expressions/tsconfig.json index 890274c1b3911..1f1128ae6ab19 100644 --- a/src/plugins/expressions/tsconfig.json +++ b/src/plugins/expressions/tsconfig.json @@ -1,16 +1,23 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*", "./index.ts"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/inspector-plugin", + "@kbn/field-formats-plugin", + "@kbn/logging", + "@kbn/utility-types", + "@kbn/interpreter", + "@kbn/i18n", + "@kbn/std", + "@kbn/core-execution-context-common", + "@kbn/tinymath", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/field_formats/tsconfig.json b/src/plugins/field_formats/tsconfig.json index 4838076f81cd3..754b3b993cb06 100644 --- a/src/plugins/field_formats/tsconfig.json +++ b/src/plugins/field_formats/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -13,5 +11,14 @@ "common/**/*.json", "public/**/*.json" ], - "kbn_references": [{ "path": "../../core/tsconfig.json" }] + "kbn_references": [ + "@kbn/core", + "@kbn/field-types", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", + ] } diff --git a/src/plugins/files/tsconfig.json b/src/plugins/files/tsconfig.json index 7b677de51dab0..02b5acc39ff80 100644 --- a/src/plugins/files/tsconfig.json +++ b/src/plugins/files/tsconfig.json @@ -1,14 +1,34 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*", ".storybook/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../../../x-pack/plugins/security/tsconfig.json" }, + "@kbn/core", + "@kbn/usage-collection-plugin", + "@kbn/security-plugin", + "@kbn/config-schema", + "@kbn/shared-ux-file-types", + "@kbn/kibana-utils-plugin", + "@kbn/shared-ux-file-mocks", + "@kbn/utility-types-jest", + "@kbn/core-application-common", + "@kbn/features-plugin", + "@kbn/i18n", + "@kbn/core-analytics-server", + "@kbn/utility-types", + "@kbn/es-query", + "@kbn/core-test-helpers-kbn-server", + "@kbn/ebt-tools", + "@kbn/core-http-router-server-internal", + "@kbn/core-elasticsearch-server", + "@kbn/std", + "@kbn/core-saved-objects-api-server", + "@kbn/core-logging-server-mocks", + "@kbn/ecs", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/files_management/tsconfig.json b/src/plugins/files_management/tsconfig.json index f46c7f9262535..a8852fcb70395 100644 --- a/src/plugins/files_management/tsconfig.json +++ b/src/plugins/files_management/tsconfig.json @@ -1,14 +1,20 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*", ".storybook/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../files/tsconfig.json" }, - { "path": "../management/tsconfig.json" } + "@kbn/core", + "@kbn/files-plugin", + "@kbn/management-plugin", + "@kbn/i18n", + "@kbn/content-management-table-list", + "@kbn/kibana-react-plugin", + "@kbn/i18n-react", + "@kbn/shared-ux-file-image", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/guided_onboarding/tsconfig.json b/src/plugins/guided_onboarding/tsconfig.json index 4833767f0d6ec..42026215e18fd 100644 --- a/src/plugins/guided_onboarding/tsconfig.json +++ b/src/plugins/guided_onboarding/tsconfig.json @@ -1,19 +1,25 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { - "path": "../../core/tsconfig.json" - }, - { - "path": "../kibana_react/tsconfig.json" - }, - { "path": "../../../x-pack/plugins/cloud/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/cloud-plugin", + "@kbn/guided-onboarding", + "@kbn/i18n-react", + "@kbn/core-application-browser-mocks", + "@kbn/core-notifications-browser-mocks", + "@kbn/test-jest-helpers", + "@kbn/i18n", + "@kbn/core-http-browser", + "@kbn/core-http-browser-mocks", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/home/tsconfig.json b/src/plugins/home/tsconfig.json index b7c8c94e30b8b..693c8189c504f 100644 --- a/src/plugins/home/tsconfig.json +++ b/src/plugins/home/tsconfig.json @@ -1,21 +1,38 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": ["common/**/*", "public/**/*", "server/**/*", "config.ts", ".storybook/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../custom_integrations/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../url_forwarding/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../guided_onboarding/tsconfig.json" }, - { "path": "../../../x-pack/plugins/cloud/tsconfig.json" }, + "@kbn/core", + "@kbn/data-views-plugin", + "@kbn/custom-integrations-plugin", + "@kbn/kibana-react-plugin", + "@kbn/share-plugin", + "@kbn/url-forwarding-plugin", + "@kbn/usage-collection-plugin", + "@kbn/guided-onboarding-plugin", + "@kbn/cloud-plugin", + "@kbn/i18n", + "@kbn/home-sample-data-tab", + "@kbn/analytics", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-page-kibana-template", + "@kbn/utility-types", + "@kbn/guided-onboarding", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/ui-theme", + "@kbn/config-schema", + "@kbn/utility-types-jest", + "@kbn/es-query", + "@kbn/ebt-tools", + "@kbn/core-analytics-server", + "@kbn/storybook", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/image_embeddable/public/imports.ts b/src/plugins/image_embeddable/public/imports.ts index 1761cc5d05a38..5f3c04044acba 100644 --- a/src/plugins/image_embeddable/public/imports.ts +++ b/src/plugins/image_embeddable/public/imports.ts @@ -16,7 +16,7 @@ export type { ScopedFilesClient, } from '@kbn/files-plugin/public'; -export type { FileImageMetadata } from '@kbn/shared-ux-file-types/'; +export type { FileImageMetadata } from '@kbn/shared-ux-file-types'; export type { IContainer, diff --git a/src/plugins/image_embeddable/tsconfig.json b/src/plugins/image_embeddable/tsconfig.json index c3cec07779c30..4d1ba66af6c02 100644 --- a/src/plugins/image_embeddable/tsconfig.json +++ b/src/plugins/image_embeddable/tsconfig.json @@ -1,17 +1,26 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true + "outDir": "target/types", }, "include": ["public/**/*", "common/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../files/tsconfig.json" } + "@kbn/core", + "@kbn/embeddable-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/files-plugin", + "@kbn/shared-ux-file-context", + "@kbn/shared-ux-file-upload", + "@kbn/shared-ux-file-picker", + "@kbn/shared-ux-file-types", + "@kbn/i18n-react", + "@kbn/shared-ux-file-mocks", + "@kbn/i18n", + "@kbn/core-http-browser", + "@kbn/shared-ux-file-image", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/input_control_vis/tsconfig.json b/src/plugins/input_control_vis/tsconfig.json index 0fd1cae17a21d..1e3e1f4f00593 100644 --- a/src/plugins/input_control_vis/tsconfig.json +++ b/src/plugins/input_control_vis/tsconfig.json @@ -1,21 +1,28 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", "server/**/*", ], "kbn_references": [ - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data/tsconfig.json"}, - { "path": "../data_views/tsconfig.json"}, - { "path": "../expressions/tsconfig.json" }, - { "path": "../visualizations/tsconfig.json" }, - { "path": "../vis_default_editor/tsconfig.json" }, - { "path": "../unified_search/tsconfig.json" } + "@kbn/kibana-react-plugin", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/unified-search-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/core", + "@kbn/es-query", + "@kbn/expect", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/inspector/tsconfig.json b/src/plugins/inspector/tsconfig.json index 5ccf9c81aee71..11b753d7ae298 100644 --- a/src/plugins/inspector/tsconfig.json +++ b/src/plugins/inspector/tsconfig.json @@ -1,14 +1,19 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "index.ts"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../share/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/share-plugin", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/monaco", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/interactive_setup/tsconfig.json b/src/plugins/interactive_setup/tsconfig.json index d3b0e79241850..f0dcc93a49c11 100644 --- a/src/plugins/interactive_setup/tsconfig.json +++ b/src/plugins/interactive_setup/tsconfig.json @@ -1,10 +1,26 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*"], - "kbn_references": [{ "path": "../../core/tsconfig.json" }] + "kbn_references": [ + "@kbn/core", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/ui-theme", + "@kbn/core-http-browser", + "@kbn/core-status-common-internal", + "@kbn/safer-lodash-set", + "@kbn/test-jest-helpers", + "@kbn/config-schema", + "@kbn/utility-types", + "@kbn/std", + "@kbn/utils", + "@kbn/core-logging-server-mocks", + "@kbn/core-preboot-server", + ], + "exclude": [ + "target/**/*", + ] } diff --git a/src/plugins/kibana_overview/tsconfig.json b/src/plugins/kibana_overview/tsconfig.json index 98d5602cbd1a0..5630613c4bf17 100644 --- a/src/plugins/kibana_overview/tsconfig.json +++ b/src/plugins/kibana_overview/tsconfig.json @@ -1,22 +1,32 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", "common/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../plugins/navigation/tsconfig.json" }, - { "path": "../../plugins/data/tsconfig.json" }, - { "path": "../../plugins/home/tsconfig.json" }, - { "path": "../../plugins/newsfeed/tsconfig.json" }, - { "path": "../../plugins/usage_collection/tsconfig.json" }, - { "path": "../../plugins/kibana_react/tsconfig.json" }, - { "path": "../../plugins/data_view_editor/tsconfig.json" } + "@kbn/core", + "@kbn/navigation-plugin", + "@kbn/home-plugin", + "@kbn/newsfeed-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-view-editor-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/data-views-plugin", + "@kbn/share-plugin", + "@kbn/analytics", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-page-kibana-template", + "@kbn/shared-ux-page-analytics-no-data", + "@kbn/shared-ux-avatar-solution", + "@kbn/shared-ux-link-redirect-app", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/kibana_react/public/page_template/with_solution_nav.tsx b/src/plugins/kibana_react/public/page_template/with_solution_nav.tsx index c4fa5363461ba..842573b9d8de4 100644 --- a/src/plugins/kibana_react/public/page_template/with_solution_nav.tsx +++ b/src/plugins/kibana_react/public/page_template/with_solution_nav.tsx @@ -9,7 +9,7 @@ import React, { ComponentType, useState } from 'react'; import classNames from 'classnames'; import { useIsWithinBreakpoints } from '@elastic/eui'; -import { EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar'; +import { EuiPageSideBarProps_Deprecated as EuiPageSideBarProps } from '@elastic/eui/src/components/page/page_side_bar'; import { KibanaPageTemplateSolutionNav, KibanaPageTemplateSolutionNavProps } from './solution_nav'; import { KibanaPageTemplateProps } from '.'; diff --git a/src/plugins/kibana_react/tsconfig.json b/src/plugins/kibana_react/tsconfig.json index 3469a30024b54..f36d691c67ac6 100644 --- a/src/plugins/kibana_react/tsconfig.json +++ b/src/plugins/kibana_react/tsconfig.json @@ -1,10 +1,20 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [".storybook/**/*", "common/**/*", "public/**/*", "../../../typings/**/*"], - "kbn_references": [{ "path": "../kibana_utils/tsconfig.json" }] + "kbn_references": [ + "@kbn/kibana-utils-plugin", + "@kbn/storybook", + "@kbn/ui-theme", + "@kbn/core", + "@kbn/monaco", + "@kbn/test-jest-helpers", + "@kbn/i18n", + "@kbn/i18n-react", + ], + "exclude": [ + "target/**/*", + ] } diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index 25a943496ab81..72cb43d7734a4 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -526,10 +526,6 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'keyword', _meta: { description: 'Default value of the setting was changed.' }, }, - 'observability:apmOperationsTab': { - type: 'boolean', - _meta: { description: 'Non-default value of setting.' }, - }, 'observability:apmLabsButton': { type: 'boolean', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index a7bb32f53bd10..d3832cc96eeb2 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -142,7 +142,6 @@ export interface UsageStats { isDefaultIndexMigrated: boolean; 'lens:useFieldExistenceSampling': boolean; 'metrics:allowCheckingForFailedShards': boolean; - 'observability:apmOperationsTab': boolean; 'observability:apmLabsButton': boolean; 'observability:enableAwsLambdaMetrics': boolean; 'observability:apmProgressiveLoading': string; diff --git a/src/plugins/kibana_usage_collection/tsconfig.json b/src/plugins/kibana_usage_collection/tsconfig.json index 2ad8ff44a3128..1fc711d49fdaf 100644 --- a/src/plugins/kibana_usage_collection/tsconfig.json +++ b/src/plugins/kibana_usage_collection/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,8 +11,14 @@ "../../../typings/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../plugins/usage_collection/tsconfig.json" }, - { "path": "../../plugins/telemetry/tsconfig.json" }, + "@kbn/core", + "@kbn/usage-collection-plugin", + "@kbn/analytics-client", + "@kbn/i18n", + "@kbn/logging", + "@kbn/core-test-helpers-kbn-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/kibana_utils/common/index.ts b/src/plugins/kibana_utils/common/index.ts index 8a7d9bfaf4aa4..cd06d6c369485 100644 --- a/src/plugins/kibana_utils/common/index.ts +++ b/src/plugins/kibana_utils/common/index.ts @@ -31,6 +31,8 @@ export type { PureTransition, CreateStateContainerOptions, } from './state_containers'; +export { setStateToKbnUrl } from './state_management/set_state_to_kbn_url'; +export { replaceUrlHashQuery } from './state_management/format'; export { createStateContainerReactHelpers, useContainerSelector, diff --git a/src/plugins/kibana_utils/common/state_management/encode_state.ts b/src/plugins/kibana_utils/common/state_management/encode_state.ts new file mode 100644 index 0000000000000..53026c716bfce --- /dev/null +++ b/src/plugins/kibana_utils/common/state_management/encode_state.ts @@ -0,0 +1,25 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import rison from '@kbn/rison'; + +// should be: +// export function encodeState but this leads to the chain of +// types mismatches up to BaseStateContainer interfaces, as in state containers we don't +// have any restrictions on state shape +export function encodeState( + state: State, + useHash: boolean, + createHash: (rawState: State) => string +): string { + if (useHash) { + return createHash(state); + } else { + return rison.encodeUnknown(state) ?? ''; + } +} diff --git a/src/plugins/kibana_utils/public/state_management/url/format.test.ts b/src/plugins/kibana_utils/common/state_management/format.test.ts similarity index 100% rename from src/plugins/kibana_utils/public/state_management/url/format.test.ts rename to src/plugins/kibana_utils/common/state_management/format.test.ts diff --git a/src/plugins/kibana_utils/public/state_management/url/format.ts b/src/plugins/kibana_utils/common/state_management/format.ts similarity index 95% rename from src/plugins/kibana_utils/public/state_management/url/format.ts rename to src/plugins/kibana_utils/common/state_management/format.ts index d2d9f9faae35f..b6279334ceee6 100644 --- a/src/plugins/kibana_utils/public/state_management/url/format.ts +++ b/src/plugins/kibana_utils/common/state_management/format.ts @@ -6,10 +6,10 @@ * Side Public License, v 1. */ +import { ParsedQuery, stringify } from 'query-string'; import { format as formatUrl } from 'url'; -import { stringify, ParsedQuery } from 'query-string'; import { parseUrl, parseUrlHash } from './parse'; -import { url as urlUtils } from '../../../common'; +import { url as urlUtils } from '..'; export function replaceUrlQuery( rawUrl: string, diff --git a/src/plugins/kibana_utils/public/state_management/url/parse.test.ts b/src/plugins/kibana_utils/common/state_management/parse.test.ts similarity index 100% rename from src/plugins/kibana_utils/public/state_management/url/parse.test.ts rename to src/plugins/kibana_utils/common/state_management/parse.test.ts diff --git a/src/plugins/kibana_utils/public/state_management/url/parse.ts b/src/plugins/kibana_utils/common/state_management/parse.ts similarity index 82% rename from src/plugins/kibana_utils/public/state_management/url/parse.ts rename to src/plugins/kibana_utils/common/state_management/parse.ts index d1e95b1c60e00..e1545034fb9a9 100644 --- a/src/plugins/kibana_utils/public/state_management/url/parse.ts +++ b/src/plugins/kibana_utils/common/state_management/parse.ts @@ -7,11 +7,10 @@ */ import { parse as _parseUrl } from 'url'; -import { History } from 'history'; export const parseUrl = (url: string) => _parseUrl(url, true); + export const parseUrlHash = (url: string) => { const hash = parseUrl(url).hash; return hash ? parseUrl(hash.slice(1)) : null; }; -export const getCurrentUrl = (history: History) => history.createHref(history.location); diff --git a/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.test.ts b/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.test.ts new file mode 100644 index 0000000000000..0d13171810c4d --- /dev/null +++ b/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.test.ts @@ -0,0 +1,106 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createSetStateToKbnUrl, setStateToKbnUrl } from './set_state_to_kbn_url'; + +describe('set_state_to_kbn_url', () => { + describe('createSetStateToKbnUrl', () => { + it('should call createHash', () => { + const createHash = jest.fn(() => 'hash'); + const localSetStateToKbnUrl = createSetStateToKbnUrl(createHash); + const url = 'http://localhost:5601/oxf/app/kibana#/yourApp'; + const state = { foo: 'bar' }; + const newUrl = localSetStateToKbnUrl('_s', state, { useHash: true }, url); + expect(createHash).toHaveBeenCalledTimes(1); + expect(createHash).toHaveBeenCalledWith(state); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=hash"` + ); + }); + + it('should not call createHash', () => { + const createHash = jest.fn(); + const localSetStateToKbnUrl = createSetStateToKbnUrl(createHash); + const url = 'http://localhost:5601/oxf/app/kibana#/yourApp'; + const state = { foo: 'bar' }; + const newUrl = localSetStateToKbnUrl('_s', state, { useHash: false }, url); + expect(createHash).not.toHaveBeenCalled(); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=(foo:bar)"` + ); + }); + }); + + describe('setStateToKbnUrl', () => { + const url = 'http://localhost:5601/oxf/app/kibana#/yourApp'; + const state1 = { + testStr: '123', + testNumber: 0, + testObj: { test: '123' }, + testNull: null, + testArray: [1, 2, {}], + }; + const state2 = { + test: '123', + }; + + it('should set expanded state to url', () => { + let newUrl = setStateToKbnUrl('_s', state1, { useHash: false }, url); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=(testArray:!(1,2,()),testNull:!n,testNumber:0,testObj:(test:'123'),testStr:'123')"` + ); + newUrl = setStateToKbnUrl('_s', state2, { useHash: false }, newUrl); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=(test:'123')"` + ); + }); + + it('should set expanded state to url before hash', () => { + let newUrl = setStateToKbnUrl('_s', state1, { useHash: false, storeInHashQuery: false }, url); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana?_s=(testArray:!(1,2,()),testNull:!n,testNumber:0,testObj:(test:'123'),testStr:'123')#/yourApp"` + ); + newUrl = setStateToKbnUrl('_s', state2, { useHash: false, storeInHashQuery: false }, newUrl); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana?_s=(test:'123')#/yourApp"` + ); + }); + + it('should set hashed state to url', () => { + let newUrl = setStateToKbnUrl('_s', state1, { useHash: true }, url); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=h@a897fac"` + ); + newUrl = setStateToKbnUrl('_s', state2, { useHash: true }, newUrl); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana#/yourApp?_s=h@40f94d5"` + ); + }); + + it('should set query to url with storeInHashQuery: false', () => { + let newUrl = setStateToKbnUrl( + '_a', + { tab: 'other' }, + { useHash: false, storeInHashQuery: false }, + 'http://localhost:5601/oxf/app/kibana/yourApp' + ); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana/yourApp?_a=(tab:other)"` + ); + newUrl = setStateToKbnUrl( + '_b', + { f: 'test', i: '', l: '' }, + { useHash: false, storeInHashQuery: false }, + newUrl + ); + expect(newUrl).toMatchInlineSnapshot( + `"http://localhost:5601/oxf/app/kibana/yourApp?_a=(tab:other)&_b=(f:test,i:'',l:'')"` + ); + }); + }); +}); diff --git a/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts b/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts new file mode 100644 index 0000000000000..194e4a1231bd2 --- /dev/null +++ b/src/plugins/kibana_utils/common/state_management/set_state_to_kbn_url.ts @@ -0,0 +1,66 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { encodeState } from './encode_state'; +import { replaceUrlHashQuery, replaceUrlQuery } from './format'; +import { createStateHash } from './state_hash'; + +export type SetStateToKbnUrlHashOptions = { useHash: boolean; storeInHashQuery?: boolean }; + +export function createSetStateToKbnUrl(createHash: (rawState: State) => string) { + return ( + key: string, + state: State, + { useHash = false, storeInHashQuery = true }: SetStateToKbnUrlHashOptions = { + useHash: false, + storeInHashQuery: true, + }, + rawUrl: string + ): string => { + const replacer = storeInHashQuery ? replaceUrlHashQuery : replaceUrlQuery; + return replacer(rawUrl, (query) => { + const encoded = encodeState(state, useHash, createHash); + return { + ...query, + [key]: encoded, + }; + }); + }; +} + +const internalSetStateToKbnUrl = createSetStateToKbnUrl((rawState: State) => + createStateHash(JSON.stringify(rawState)) +); + +/** + * Common version of setStateToKbnUrl which doesn't use session storage. + * + * Sets state to the url by key and returns a new url string. + * + * e.g.: + * given a url: http://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:indexedFields)&_b=(f:test,i:'',l:'') + * key: '_a' + * and state: {tab: 'other'} + * + * will return url: + * http://localhost:5601/oxf/app/kibana#/yourApp?_a=(tab:other)&_b=(f:test,i:'',l:'') + * + * By default due to Kibana legacy reasons assumed that state is stored in a query inside a hash part of the URL: + * http://localhost:5601/oxf/app/kibana#/yourApp?_a={STATE} + * + * { storeInHashQuery: true } option should be used in you want to store you state in a main query (not in a hash): + * http://localhost:5601/oxf/app/kibana?_a={STATE}#/yourApp + */ +export function setStateToKbnUrl( + key: string, + state: State, + hashOptions: SetStateToKbnUrlHashOptions, + rawUrl: string +): string { + return internalSetStateToKbnUrl(key, state, hashOptions, rawUrl); +} diff --git a/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.test.ts b/src/plugins/kibana_utils/common/state_management/state_hash.test.ts similarity index 87% rename from src/plugins/kibana_utils/public/state_management/state_hash/state_hash.test.ts rename to src/plugins/kibana_utils/common/state_management/state_hash.test.ts index cd850c25b71c3..98c5295541d0b 100644 --- a/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.test.ts +++ b/src/plugins/kibana_utils/common/state_management/state_hash.test.ts @@ -7,14 +7,9 @@ */ import { encode as encodeRison } from '@kbn/rison'; -import { mockStorage } from '../../storage/hashed_item_store/mock'; import { createStateHash, isStateHash } from './state_hash'; describe('stateHash', () => { - beforeEach(() => { - mockStorage.clear(); - }); - describe('#createStateHash', () => { it('returns a hash', () => { const json = JSON.stringify({ a: 'a' }); @@ -37,6 +32,13 @@ describe('stateHash', () => { const hash2 = createStateHash(json2); expect(hash1).not.toEqual(hash2); }); + + it('calls existingJsonProvider if provided', () => { + const json = JSON.stringify({ a: 'a' }); + const existingJsonProvider = jest.fn(() => json); + createStateHash(json, existingJsonProvider); + expect(existingJsonProvider).toHaveBeenCalled(); + }); }); describe('#isStateHash', () => { diff --git a/src/plugins/kibana_utils/common/state_management/state_hash.ts b/src/plugins/kibana_utils/common/state_management/state_hash.ts new file mode 100644 index 0000000000000..811cccc5bfd53 --- /dev/null +++ b/src/plugins/kibana_utils/common/state_management/state_hash.ts @@ -0,0 +1,40 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Sha256 } from '@kbn/crypto-browser'; + +// This prefix is used to identify hash strings that have been encoded in the URL. +const HASH_PREFIX = 'h@'; + +export function isStateHash(str: string) { + return String(str).indexOf(HASH_PREFIX) === 0; +} + +export function createStateHash( + json: string, + existingJsonProvider?: (hash: string) => string | null +) { + if (typeof json !== 'string') { + throw new Error('createHash only accepts strings (JSON).'); + } + + const hash = new Sha256().update(json, 'utf8').digest('hex'); + + let shortenedHash; + + // Shorten the hash to at minimum 7 characters. We just need to make sure that it either: + // a) hasn't been used yet + // b) or has been used already, but with the JSON we're currently hashing. + for (let i = 7; i < hash.length; i++) { + shortenedHash = hash.slice(0, i); + const existingJson = existingJsonProvider ? existingJsonProvider(shortenedHash) : null; + if (existingJson === null || existingJson === json) break; + } + + return `${HASH_PREFIX}${shortenedHash}`; +} diff --git a/src/plugins/kibana_utils/public/index.ts b/src/plugins/kibana_utils/public/index.ts index d8882f74ee3b1..fa50f32247a52 100644 --- a/src/plugins/kibana_utils/public/index.ts +++ b/src/plugins/kibana_utils/public/index.ts @@ -71,12 +71,7 @@ export { export type { IStorageWrapper, IStorage } from './storage'; export { Storage } from './storage'; export { hashedItemStore, HashedItemStore } from './storage/hashed_item_store'; -export { - createStateHash, - persistState, - retrieveState, - isStateHash, -} from './state_management/state_hash'; +export { persistState, retrieveState } from './state_management/state_hash'; export { hashQuery, hashUrl, @@ -89,8 +84,6 @@ export { getStatesFromKbnUrl, setStateToKbnUrl, withNotifyOnErrors, - replaceUrlQuery, - replaceUrlHashQuery, } from './state_management/url'; export type { IStateStorage, diff --git a/src/plugins/kibana_utils/public/state_management/state_encoder/encode_decode_state.ts b/src/plugins/kibana_utils/public/state_management/state_encoder/encode_decode_state.ts index 952463b2b7b37..edfb71c32ceee 100644 --- a/src/plugins/kibana_utils/public/state_management/state_encoder/encode_decode_state.ts +++ b/src/plugins/kibana_utils/public/state_management/state_encoder/encode_decode_state.ts @@ -7,7 +7,9 @@ */ import rison from '@kbn/rison'; -import { isStateHash, retrieveState, persistState } from '../state_hash'; +import { encodeState } from '../../../common/state_management/encode_state'; +import { isStateHash } from '../../../common/state_management/state_hash'; +import { retrieveState, persistState } from '../state_hash'; // should be: // export function decodeState(expandedOrHashedState: string) @@ -21,21 +23,9 @@ export function decodeState(expandedOrHashedState: string): State { } } -// should be: -// export function encodeState but this leads to the chain of -// types mismatches up to BaseStateContainer interfaces, as in state containers we don't -// have any restrictions on state shape -export function encodeState(state: State, useHash: boolean): string { - if (useHash) { - return persistState(state); - } else { - return rison.encodeUnknown(state) ?? ''; - } -} - export function hashedStateToExpandedState(expandedOrHashedState: string): string { if (isStateHash(expandedOrHashedState)) { - return encodeState(retrieveState(expandedOrHashedState), false); + return encodeState(retrieveState(expandedOrHashedState), false, persistState); } return expandedOrHashedState; diff --git a/src/plugins/kibana_utils/public/state_management/state_encoder/index.ts b/src/plugins/kibana_utils/public/state_management/state_encoder/index.ts index b2174f1b0a3a7..0ab6fe580eb0a 100644 --- a/src/plugins/kibana_utils/public/state_management/state_encoder/index.ts +++ b/src/plugins/kibana_utils/public/state_management/state_encoder/index.ts @@ -7,7 +7,6 @@ */ export { - encodeState, decodeState, expandedStateToHashedState, hashedStateToExpandedState, diff --git a/src/plugins/kibana_utils/public/state_management/state_hash/index.ts b/src/plugins/kibana_utils/public/state_management/state_hash/index.ts index 1768bfa3181c1..adc571b23dd32 100644 --- a/src/plugins/kibana_utils/public/state_management/state_hash/index.ts +++ b/src/plugins/kibana_utils/public/state_management/state_hash/index.ts @@ -6,4 +6,4 @@ * Side Public License, v 1. */ -export { isStateHash, createStateHash, persistState, retrieveState } from './state_hash'; +export { persistState, retrieveState } from './state_hash'; diff --git a/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts b/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts index d8abf1402e9d1..03160f7c9f7a7 100644 --- a/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts +++ b/src/plugins/kibana_utils/public/state_management/state_hash/state_hash.ts @@ -7,42 +7,9 @@ */ import { i18n } from '@kbn/i18n'; -import { Sha256 } from '@kbn/crypto-browser'; +import { createStateHash } from '../../../common/state_management/state_hash'; import { hashedItemStore } from '../../storage/hashed_item_store'; -// This prefix is used to identify hash strings that have been encoded in the URL. -const HASH_PREFIX = 'h@'; - -export function createStateHash( - json: string, - existingJsonProvider?: (hash: string) => string | null // TODO: temp while state.js relies on this in tests -) { - if (typeof json !== 'string') { - throw new Error('createHash only accepts strings (JSON).'); - } - - const hash = new Sha256().update(json, 'utf8').digest('hex'); - - let shortenedHash; - - // Shorten the hash to at minimum 7 characters. We just need to make sure that it either: - // a) hasn't been used yet - // b) or has been used already, but with the JSON we're currently hashing. - for (let i = 7; i < hash.length; i++) { - shortenedHash = hash.slice(0, i); - const existingJson = existingJsonProvider - ? existingJsonProvider(shortenedHash) - : hashedItemStore.getItem(shortenedHash); - if (existingJson === null || existingJson === json) break; - } - - return `${HASH_PREFIX}${shortenedHash}`; -} - -export function isStateHash(str: string) { - return String(str).indexOf(HASH_PREFIX) === 0; -} - export function retrieveState(stateHash: string): State { const json = hashedItemStore.getItem(stateHash); const throwUnableToRestoreUrlError = () => { @@ -65,7 +32,7 @@ export function retrieveState(stateHash: string): State { export function persistState(state: State): string { const json = JSON.stringify(state); - const hash = createStateHash(json); + const hash = createStateHash(json, hashedItemStore.getItem.bind(hashedItemStore)); const isItemSet = hashedItemStore.setItem(hash, json); if (isItemSet) return hash; diff --git a/src/plugins/kibana_utils/public/state_management/url/hash_unhash_url.ts b/src/plugins/kibana_utils/public/state_management/url/hash_unhash_url.ts index 7571c576bcf38..d6e2126ef1d64 100644 --- a/src/plugins/kibana_utils/public/state_management/url/hash_unhash_url.ts +++ b/src/plugins/kibana_utils/public/state_management/url/hash_unhash_url.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import { replaceUrlHashQuery } from '../../../common/state_management/format'; import { expandedStateToHashedState, hashedStateToExpandedState } from '../state_encoder'; -import { replaceUrlHashQuery } from './format'; export type IParsedUrlQuery = Record; diff --git a/src/plugins/kibana_utils/public/state_management/url/index.ts b/src/plugins/kibana_utils/public/state_management/url/index.ts index 7f39e9ac1b698..5f45b5fee0a74 100644 --- a/src/plugins/kibana_utils/public/state_management/url/index.ts +++ b/src/plugins/kibana_utils/public/state_management/url/index.ts @@ -17,4 +17,3 @@ export { export { createKbnUrlTracker } from './kbn_url_tracker'; export { createUrlTracker } from './url_tracker'; export { withNotifyOnErrors, saveStateInUrlErrorTitle, restoreUrlErrorTitle } from './errors'; -export { replaceUrlHashQuery, replaceUrlQuery } from './format'; diff --git a/src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts b/src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts index 99e3023cae033..b81d3c1b81b63 100644 --- a/src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts +++ b/src/plugins/kibana_utils/public/state_management/url/kbn_url_storage.ts @@ -9,10 +9,16 @@ import { format as formatUrl } from 'url'; import { stringify } from 'query-string'; import { createBrowserHistory, History } from 'history'; -import { decodeState, encodeState } from '../state_encoder'; -import { getCurrentUrl, parseUrl, parseUrlHash } from './parse'; -import { replaceUrlHashQuery, replaceUrlQuery } from './format'; +import { parseUrl, parseUrlHash } from '../../../common/state_management/parse'; +import { decodeState } from '../state_encoder'; import { url as urlUtils } from '../../../common'; +import { + createSetStateToKbnUrl, + SetStateToKbnUrlHashOptions, +} from '../../../common/state_management/set_state_to_kbn_url'; +import { persistState } from '../state_hash'; + +export const getCurrentUrl = (history: History) => history.createHref(history.location); /** * Parses a kibana url and retrieves all the states encoded into the URL, @@ -90,28 +96,23 @@ export function getStateFromKbnUrl( * By default due to Kibana legacy reasons assumed that state is stored in a query inside a hash part of the URL: * http://localhost:5601/oxf/app/kibana#/yourApp?_a={STATE} * - * { storeInHashQuery: false } option should be used in you want to store you state in a main query (not in a hash): + * { storeInHashQuery: false } option should be used in you want to store your state in a main query (not in a hash): * http://localhost:5601/oxf/app/kibana?_a={STATE}#/yourApp */ export function setStateToKbnUrl( key: string, state: State, - { useHash = false, storeInHashQuery = true }: { useHash: boolean; storeInHashQuery?: boolean } = { + { useHash = false, storeInHashQuery = true }: SetStateToKbnUrlHashOptions = { useHash: false, storeInHashQuery: true, }, rawUrl = window.location.href -): string { - const replacer = storeInHashQuery ? replaceUrlHashQuery : replaceUrlQuery; - return replacer(rawUrl, (query) => { - const encoded = encodeState(state, useHash); - return { - ...query, - [key]: encoded, - }; - }); +) { + return internalSetStateToKbnUrl(key, state, { useHash, storeInHashQuery }, rawUrl); } +const internalSetStateToKbnUrl = createSetStateToKbnUrl(persistState); + /** * A tiny wrapper around history library to listen for url changes and update url * History library handles a bunch of cross browser edge cases diff --git a/src/plugins/kibana_utils/tsconfig.json b/src/plugins/kibana_utils/tsconfig.json index 1b5d5491ff28a..fed20365ae6d3 100644 --- a/src/plugins/kibana_utils/tsconfig.json +++ b/src/plugins/kibana_utils/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -13,5 +11,17 @@ "index.ts", "../../../typings/**/*" ], - "kbn_references": [{ "path": "../../core/tsconfig.json" }] + "kbn_references": [ + "@kbn/core", + "@kbn/expect", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/utility-types-jest", + "@kbn/test-jest-helpers", + "@kbn/rison", + "@kbn/crypto-browser", + ], + "exclude": [ + "target/**/*", + ] } diff --git a/src/plugins/management/tsconfig.json b/src/plugins/management/tsconfig.json index 27031a7f93243..1270aef15b63f 100644 --- a/src/plugins/management/tsconfig.json +++ b/src/plugins/management/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,9 +10,17 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../home/tsconfig.json"}, - { "path": "../kibana_react/tsconfig.json"}, - { "path": "../kibana_utils/tsconfig.json"} + "@kbn/core", + "@kbn/home-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/utility-types", + "@kbn/share-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/shared-ux-page-kibana-template", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/maps_ems/tsconfig.json b/src/plugins/maps_ems/tsconfig.json index 0060910ae4e0a..65a655abedffd 100644 --- a/src/plugins/maps_ems/tsconfig.json +++ b/src/plugins/maps_ems/tsconfig.json @@ -1,13 +1,16 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*", "./config.ts"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../../x-pack/plugins/licensing/tsconfig.json" } + "@kbn/core", + "@kbn/licensing-plugin", + "@kbn/i18n", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/navigation/tsconfig.json b/src/plugins/navigation/tsconfig.json index 5586a0d795ebd..b23ee2de840eb 100644 --- a/src/plugins/navigation/tsconfig.json +++ b/src/plugins/navigation/tsconfig.json @@ -1,15 +1,18 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../unified_search/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/unified-search-plugin", + "@kbn/es-query", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/newsfeed/tsconfig.json b/src/plugins/newsfeed/tsconfig.json index 051ecbe4f202c..b10a878fb295b 100644 --- a/src/plugins/newsfeed/tsconfig.json +++ b/src/plugins/newsfeed/tsconfig.json @@ -1,14 +1,19 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*", "server/**/*", "common/*", "../../../typings/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json"}, - { "path": "../screenshot_mode/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/utility-types", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/presentation_util/tsconfig.json b/src/plugins/presentation_util/tsconfig.json index 8d0b5927980b4..c0c69200676bd 100644 --- a/src/plugins/presentation_util/tsconfig.json +++ b/src/plugins/presentation_util/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -14,10 +12,23 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data/tsconfig.json" } + "@kbn/core", + "@kbn/saved-objects-plugin", + "@kbn/embeddable-plugin", + "@kbn/kibana-react-plugin", + "@kbn/i18n", + "@kbn/expressions-plugin", + "@kbn/data-views-plugin", + "@kbn/i18n-react", + "@kbn/monaco", + "@kbn/es-query", + "@kbn/field-formats-plugin", + "@kbn/interpreter", + "@kbn/react-field", + "@kbn/config-schema", + "@kbn/storybook", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/saved_objects/tsconfig.json b/src/plugins/saved_objects/tsconfig.json index fbc175869da2e..d35fe2e1cc183 100644 --- a/src/plugins/saved_objects/tsconfig.json +++ b/src/plugins/saved_objects/tsconfig.json @@ -1,15 +1,22 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/i18n", + "@kbn/data-views-plugin", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + "@kbn/utility-types", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/saved_objects_finder/tsconfig.json b/src/plugins/saved_objects_finder/tsconfig.json index 197d86c7b1435..6d3b7ebaa6900 100644 --- a/src/plugins/saved_objects_finder/tsconfig.json +++ b/src/plugins/saved_objects_finder/tsconfig.json @@ -1,13 +1,18 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../saved_objects_management/tsconfig.json" } + "@kbn/core", + "@kbn/saved-objects-management-plugin", + "@kbn/test-jest-helpers", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/i18n", + "@kbn/saved-objects-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/saved_objects_management/tsconfig.json b/src/plugins/saved_objects_management/tsconfig.json index c6c8e80f82341..cad061f1a27e0 100644 --- a/src/plugins/saved_objects_management/tsconfig.json +++ b/src/plugins/saved_objects_management/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -11,12 +9,23 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../management/tsconfig.json" }, - { "path": "../saved_objects_tagging_oss/tsconfig.json" }, - { "path": "../../../x-pack/plugins/spaces/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/home-plugin", + "@kbn/kibana-react-plugin", + "@kbn/management-plugin", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/spaces-plugin", + "@kbn/i18n", + "@kbn/data-views-plugin", + "@kbn/utility-types", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + "@kbn/core-saved-objects-api-server", + "@kbn/monaco", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/saved_objects_tagging_oss/tsconfig.json b/src/plugins/saved_objects_tagging_oss/tsconfig.json index 1126b3175a76e..6b98cba4cbd12 100644 --- a/src/plugins/saved_objects_tagging_oss/tsconfig.json +++ b/src/plugins/saved_objects_tagging_oss/tsconfig.json @@ -1,16 +1,17 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", "public/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, + "@kbn/core", + "@kbn/saved-objects-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/saved_search/tsconfig.json b/src/plugins/saved_search/tsconfig.json index 785abeea70a3e..286b11f97c36e 100644 --- a/src/plugins/saved_search/tsconfig.json +++ b/src/plugins/saved_search/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,10 +10,14 @@ "../../../typings/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../../../x-pack/plugins/spaces/tsconfig.json" }, - { "path": "../saved_objects_tagging_oss/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/spaces-plugin", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/screenshot_mode/tsconfig.json b/src/plugins/screenshot_mode/tsconfig.json index 5762571bd5bbd..24dfeef9ca2e5 100644 --- a/src/plugins/screenshot_mode/tsconfig.json +++ b/src/plugins/screenshot_mode/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -11,6 +9,10 @@ "server/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, + "@kbn/core", + "@kbn/utility-types-jest", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/share/tsconfig.json b/src/plugins/share/tsconfig.json index 80ef97d5006cc..f0d79515d0dcf 100644 --- a/src/plugins/share/tsconfig.json +++ b/src/plugins/share/tsconfig.json @@ -1,14 +1,19 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index a71933ab1ae72..f348181a1e29c 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -9048,12 +9048,6 @@ "description": "Default value of the setting was changed." } }, - "observability:apmOperationsTab": { - "type": "boolean", - "_meta": { - "description": "Non-default value of setting." - } - }, "observability:apmLabsButton": { "type": "boolean", "_meta": { @@ -10555,4 +10549,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/plugins/telemetry/tsconfig.json b/src/plugins/telemetry/tsconfig.json index 7fc00b85008c4..adb252c1665e2 100644 --- a/src/plugins/telemetry/tsconfig.json +++ b/src/plugins/telemetry/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -15,13 +13,27 @@ "schema/oss_root.json", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../plugins/home/tsconfig.json" }, - { "path": "../../plugins/kibana_react/tsconfig.json" }, - { "path": "../../plugins/kibana_utils/tsconfig.json" }, - { "path": "../../plugins/screenshot_mode/tsconfig.json" }, - { "path": "../../plugins/telemetry_collection_manager/tsconfig.json" }, - { "path": "../../plugins/usage_collection/tsconfig.json" }, - { "path": "../../../x-pack/plugins/security/tsconfig.json" } + "@kbn/core", + "@kbn/home-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/telemetry-collection-manager-plugin", + "@kbn/usage-collection-plugin", + "@kbn/security-plugin", + "@kbn/analytics-shippers-elastic-v3-browser", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-utility", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/analytics-shippers-elastic-v3-server", + "@kbn/config-schema", + "@kbn/utils", + "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-api-server", + "@kbn/core-saved-objects-utils-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/telemetry_collection_manager/tsconfig.json b/src/plugins/telemetry_collection_manager/tsconfig.json index cd505b02a02f5..f201a8875c8dc 100644 --- a/src/plugins/telemetry_collection_manager/tsconfig.json +++ b/src/plugins/telemetry_collection_manager/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -11,7 +9,10 @@ "common/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../plugins/usage_collection/tsconfig.json" } + "@kbn/core", + "@kbn/usage-collection-plugin" + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/telemetry_management_section/tsconfig.json b/src/plugins/telemetry_management_section/tsconfig.json index 6ced5687dd321..ebdad6eb86612 100644 --- a/src/plugins/telemetry_management_section/tsconfig.json +++ b/src/plugins/telemetry_management_section/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -11,16 +9,15 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../telemetry/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../bfetch/tsconfig.json"}, - { "path": "../data/tsconfig.json"}, - { "path": "../advanced_settings/tsconfig.json" }, - { "path": "../management/tsconfig.json"} + "@kbn/core", + "@kbn/usage-collection-plugin", + "@kbn/telemetry-plugin", + "@kbn/advanced-settings-plugin", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/ui_actions/public/actions/action_internal.ts b/src/plugins/ui_actions/public/actions/action_internal.ts index f13fe30abcfb1..1d52ba04e5964 100644 --- a/src/plugins/ui_actions/public/actions/action_internal.ts +++ b/src/plugins/ui_actions/public/actions/action_internal.ts @@ -26,6 +26,7 @@ export class ActionInternal
public readonly ReactMenuItem?: React.FC>>; public readonly grouping?: PresentableGrouping>; public readonly showNotification?: boolean; + public readonly disabled?: boolean; constructor(public readonly definition: A) { this.id = this.definition.id; @@ -35,6 +36,7 @@ export class ActionInternal this.ReactMenuItem = this.MenuItem ? uiToReactComponent(this.MenuItem) : undefined; this.grouping = this.definition.grouping; this.showNotification = this.definition.showNotification; + this.disabled = this.definition.disabled; } public execute(context: Context) { diff --git a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx index 4904c38b0f825..fd413c3038fdf 100644 --- a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx +++ b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx @@ -10,9 +10,8 @@ import * as React from 'react'; import { EuiContextMenuPanelDescriptor, EuiContextMenuPanelItemDescriptor } from '@elastic/eui'; import _ from 'lodash'; import { i18n } from '@kbn/i18n'; -import { uiToReactComponent } from '@kbn/kibana-react-plugin/public'; -import { Action, ActionExecutionContext } from '../actions'; -import { Trigger } from '../triggers'; +import type { Trigger } from '../triggers'; +import type { Action, ActionDefinition, ActionExecutionContext, ActionInternal } from '../actions'; export const defaultTitle = i18n.translate('uiActions.actionPanel.title', { defaultMessage: 'Options', @@ -23,7 +22,7 @@ export const txtMore = i18n.translate('uiActions.actionPanel.more', { }); interface ActionWithContext { - action: Action; + action: Action | ActionInternal>; context: Context; /** @@ -44,7 +43,11 @@ type PanelDescriptor = EuiContextMenuPanelDescriptor & { }; const onClick = - (action: Action, context: ActionExecutionContext, close: () => void) => + ( + action: Action | ActionInternal, + context: ActionExecutionContext, + close: () => void + ) => (event: React.MouseEvent) => { if (event.currentTarget instanceof HTMLAnchorElement) { // from react-router's @@ -163,8 +166,10 @@ export async function buildContextMenuForActions({ } } panels[parentPanel || 'mainMenu'].items!.push({ - name: action.MenuItem - ? React.createElement(uiToReactComponent(action.MenuItem), { context }) + name: (action as ActionInternal).ReactMenuItem + ? React.createElement((action as ActionInternal).ReactMenuItem!, { + context, + }) : action.getDisplayName(context), icon: action.getIconType(context), toolTipContent: action.getDisplayNameTooltip ? action.getDisplayNameTooltip(context) : '', diff --git a/src/plugins/ui_actions/tsconfig.json b/src/plugins/ui_actions/tsconfig.json index 2bd694005d435..f1a83bc52b582 100644 --- a/src/plugins/ui_actions/tsconfig.json +++ b/src/plugins/ui_actions/tsconfig.json @@ -1,16 +1,21 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-views-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/es-query", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/ui_actions_enhanced/tsconfig.json b/src/plugins/ui_actions_enhanced/tsconfig.json index c0d3e64038dc4..ccb424b83a1b0 100644 --- a/src/plugins/ui_actions_enhanced/tsconfig.json +++ b/src/plugins/ui_actions_enhanced/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", @@ -12,12 +10,24 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../../../x-pack/plugins/licensing/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/ui-actions-plugin", + "@kbn/licensing-plugin", + "@kbn/es-query", + "@kbn/test-jest-helpers", + "@kbn/i18n", + "@kbn/utility-types", + "@kbn/i18n-react", + "@kbn/handlebars", + "@kbn/rison", + "@kbn/datemath", + "@kbn/monaco", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/unified_field_list/common/utils/__snapshots__/field_stats_utils.test.ts.snap b/src/plugins/unified_field_list/common/utils/__snapshots__/field_stats_utils.test.ts.snap new file mode 100644 index 0000000000000..4cd6bdc44ae7f --- /dev/null +++ b/src/plugins/unified_field_list/common/utils/__snapshots__/field_stats_utils.test.ts.snap @@ -0,0 +1,184 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`fieldStatsUtils buildSearchParams() should work correctly for aggregations and a data view time field 1`] = ` +Object { + "body": Object { + "_source": undefined, + "aggs": Object { + "sample": Object { + "aggs": Object { + "sample_count": Object { + "value_count": Object { + "field": "extension.keyword", + }, + }, + "top_values": Object { + "terms": Object { + "field": "extension.keyword", + "shard_size": 25, + "size": 10, + }, + }, + }, + "sampler": Object { + "shard_size": 5000, + }, + }, + }, + "fields": undefined, + "query": Object { + "bool": Object { + "filter": Array [ + Object { + "range": Object { + "timestamp": Object { + "format": "strict_date_optional_time", + "gte": "2022-12-05T23:00:00.000Z", + "lte": "2023-01-05T09:33:05.359Z", + }, + }, + }, + Object { + "bool": Object { + "filter": Array [ + Object { + "match_phrase": Object { + "geo.src": "US", + }, + }, + ], + "must": Array [], + "must_not": Array [], + "should": Array [], + }, + }, + ], + }, + }, + "runtime_mappings": Object { + "hour_of_day": Object { + "script": Object { + "source": "emit(doc['timestamp'].value.getHour());", + }, + "type": "long", + }, + }, + }, + "index": "kibana_sample_data_logs", + "size": 0, + "track_total_hits": true, +} +`; + +exports[`fieldStatsUtils buildSearchParams() should work correctly for aggregations without a data view time field 1`] = ` +Object { + "body": Object { + "_source": undefined, + "aggs": Object { + "sample": Object { + "aggs": Object { + "sample_count": Object { + "value_count": Object { + "field": "extension.keyword", + }, + }, + "top_values": Object { + "terms": Object { + "field": "extension.keyword", + "shard_size": 25, + "size": 10, + }, + }, + }, + "sampler": Object { + "shard_size": 5000, + }, + }, + }, + "fields": undefined, + "query": Object { + "bool": Object { + "filter": Array [ + Object { + "bool": Object { + "filter": Array [ + Object { + "match_phrase": Object { + "geo.src": "US", + }, + }, + ], + "must": Array [], + "must_not": Array [], + "should": Array [], + }, + }, + ], + }, + }, + "runtime_mappings": Object {}, + }, + "index": "kibana_sample*", + "size": 0, + "track_total_hits": true, +} +`; + +exports[`fieldStatsUtils buildSearchParams() should work correctly for fetching field examples 1`] = ` +Object { + "body": Object { + "_source": false, + "aggs": undefined, + "fields": Array [ + Object { + "field": "_id", + }, + ], + "query": Object { + "bool": Object { + "filter": Array [ + Object { + "range": Object { + "timestamp": Object { + "format": "strict_date_optional_time", + "gte": "2022-12-05T23:00:00.000Z", + "lte": "2023-01-05T09:35:24.109Z", + }, + }, + }, + Object { + "bool": Object { + "filter": Array [ + Object { + "match_phrase": Object { + "geo.src": "US", + }, + }, + ], + "must": Array [], + "must_not": Array [], + "should": Array [], + }, + }, + Object { + "exists": Object { + "field": "_id", + }, + }, + ], + }, + }, + "runtime_mappings": Object { + "hour_of_day": Object { + "script": Object { + "source": "emit(doc['timestamp'].value.getHour());", + }, + "type": "long", + }, + }, + }, + "index": "kibana_sample_data_logs", + "size": 100, + "track_total_hits": true, +} +`; diff --git a/src/plugins/unified_field_list/common/utils/field_stats_utils.test.ts b/src/plugins/unified_field_list/common/utils/field_stats_utils.test.ts new file mode 100644 index 0000000000000..1135f028f1702 --- /dev/null +++ b/src/plugins/unified_field_list/common/utils/field_stats_utils.test.ts @@ -0,0 +1,153 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { buildSearchParams } from './field_stats_utils'; + +describe('fieldStatsUtils', function () { + describe('buildSearchParams()', () => { + it('should work correctly for aggregations and a data view time field', () => { + expect( + buildSearchParams({ + dataViewPattern: 'kibana_sample_data_logs', + timeFieldName: 'timestamp', + fromDate: '2022-12-05T23:00:00.000Z', + toDate: '2023-01-05T09:33:05.359Z', + dslQuery: { + bool: { + must: [], + filter: [ + { + match_phrase: { + 'geo.src': 'US', + }, + }, + ], + should: [], + must_not: [], + }, + }, + runtimeMappings: { + hour_of_day: { + type: 'long', + script: { + source: "emit(doc['timestamp'].value.getHour());", + }, + }, + }, + aggs: { + sample: { + sampler: { + shard_size: 5000, + }, + aggs: { + sample_count: { + value_count: { + field: 'extension.keyword', + }, + }, + top_values: { + terms: { + field: 'extension.keyword', + size: 10, + shard_size: 25, + }, + }, + }, + }, + }, + }) + ).toMatchSnapshot(); + }); + + it('should work correctly for aggregations without a data view time field', () => { + expect( + buildSearchParams({ + dataViewPattern: 'kibana_sample*', + timeFieldName: '', + fromDate: '2022-12-05T23:00:00.000Z', + toDate: '2023-01-05T09:33:53.717Z', + dslQuery: { + bool: { + must: [], + filter: [ + { + match_phrase: { + 'geo.src': 'US', + }, + }, + ], + should: [], + must_not: [], + }, + }, + runtimeMappings: {}, + aggs: { + sample: { + sampler: { + shard_size: 5000, + }, + aggs: { + sample_count: { + value_count: { + field: 'extension.keyword', + }, + }, + top_values: { + terms: { + field: 'extension.keyword', + size: 10, + shard_size: 25, + }, + }, + }, + }, + }, + }) + ).toMatchSnapshot(); + }); + + it('should work correctly for fetching field examples', () => { + expect( + buildSearchParams({ + dataViewPattern: 'kibana_sample_data_logs', + timeFieldName: 'timestamp', + fromDate: '2022-12-05T23:00:00.000Z', + toDate: '2023-01-05T09:35:24.109Z', + dslQuery: { + bool: { + must: [], + filter: [ + { + match_phrase: { + 'geo.src': 'US', + }, + }, + ], + should: [], + must_not: [], + }, + }, + runtimeMappings: { + hour_of_day: { + type: 'long', + script: { + source: "emit(doc['timestamp'].value.getHour());", + }, + }, + }, + fields: [ + { + field: '_id', + }, + ], + size: 100, + }) + ).toMatchSnapshot(); + }); + }); +}); diff --git a/src/plugins/unified_field_list/common/utils/field_stats_utils.ts b/src/plugins/unified_field_list/common/utils/field_stats_utils.ts index 89bf8a44139cf..9fac4c04946c9 100644 --- a/src/plugins/unified_field_list/common/utils/field_stats_utils.ts +++ b/src/plugins/unified_field_list/common/utils/field_stats_utils.ts @@ -55,6 +55,7 @@ export function buildSearchParams({ [timeFieldName]: { gte: fromDate, lte: toDate, + format: 'strict_date_optional_time', }, }, }, diff --git a/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.test.tsx b/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.test.tsx index 778f38168e6c1..9190c6de2859e 100644 --- a/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.test.tsx +++ b/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.test.tsx @@ -431,4 +431,54 @@ describe('UnifiedFieldList + useGroupedFields()', () => { '2 selected fields. 10 popular fields. 25 available fields. 112 unmapped fields. 0 empty fields. 3 meta fields.' ); }); + + it('persists sections state in local storage', async () => { + const wrapper = await mountGroupedList({ + listProps: { + ...defaultProps, + fieldsExistenceStatus: ExistenceFetchStatus.succeeded, + localStorageKeyPrefix: 'test', + }, + hookParams: { + dataViewId: dataView.id!, + allFields: manyFields, + }, + }); + + // only Available is open + expect( + wrapper.find(FieldsAccordion).map((accordion) => accordion.prop('initialIsOpen')) + ).toStrictEqual([true, false, false, false]); + + await act(async () => { + await wrapper + .find('[data-test-subj="fieldListGroupedEmptyFields"]') + .find('button') + .first() + .simulate('click'); + await wrapper.update(); + }); + + // now Empty is open too + expect( + wrapper.find(FieldsAccordion).map((accordion) => accordion.prop('initialIsOpen')) + ).toStrictEqual([true, false, true, false]); + + const wrapper2 = await mountGroupedList({ + listProps: { + ...defaultProps, + fieldsExistenceStatus: ExistenceFetchStatus.succeeded, + localStorageKeyPrefix: 'test', + }, + hookParams: { + dataViewId: dataView.id!, + allFields: manyFields, + }, + }); + + // both Available and Empty are open for the second instance + expect( + wrapper2.find(FieldsAccordion).map((accordion) => accordion.prop('initialIsOpen')) + ).toStrictEqual([true, false, true, false]); + }); }); diff --git a/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx b/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx index 9e81cb8c5d476..1bc84a37ed7e0 100644 --- a/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx +++ b/src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx @@ -8,6 +8,7 @@ import { partition, throttle } from 'lodash'; import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; import { i18n } from '@kbn/i18n'; import { EuiScreenReaderOnly, EuiSpacer } from '@elastic/eui'; import { type DataViewField } from '@kbn/data-views-plugin/common'; @@ -18,10 +19,13 @@ import { ExistenceFetchStatus, FieldsGroup, FieldsGroupNames } from '../../types import './field_list_grouped.scss'; const PAGINATION_SIZE = 50; +export const LOCAL_STORAGE_KEY_SECTIONS = 'unifiedFieldList.initiallyOpenSections'; + +type InitiallyOpenSections = Record; function getDisplayedFieldsLength( fieldGroups: FieldListGroups, - accordionState: Partial> + accordionState: InitiallyOpenSections ) { return Object.entries(fieldGroups) .filter(([key]) => accordionState[key]) @@ -35,6 +39,7 @@ export interface FieldListGroupedProps { renderFieldItem: FieldsAccordionProps['renderFieldItem']; scrollToTopResetCounter: number; screenReaderDescriptionId?: string; + localStorageKeyPrefix?: string; // Your app name: "discover", "lens", etc. If not provided, sections state would not be persisted. 'data-test-subj'?: string; } @@ -45,6 +50,7 @@ function InnerFieldListGrouped({ renderFieldItem, scrollToTopResetCounter, screenReaderDescriptionId, + localStorageKeyPrefix, 'data-test-subj': dataTestSubject = 'fieldListGrouped', }: FieldListGroupedProps) { const hasSyncedExistingFields = @@ -56,9 +62,22 @@ function InnerFieldListGrouped({ ); const [pageSize, setPageSize] = useState(PAGINATION_SIZE); const [scrollContainer, setScrollContainer] = useState(undefined); - const [accordionState, setAccordionState] = useState>>(() => + const [storedInitiallyOpenSections, storeInitiallyOpenSections] = + useLocalStorage( + `${localStorageKeyPrefix ? localStorageKeyPrefix + '.' : ''}${LOCAL_STORAGE_KEY_SECTIONS}`, + {} + ); + const [accordionState, setAccordionState] = useState(() => Object.fromEntries( - fieldGroupsToShow.map(([key, { isInitiallyOpen }]) => [key, isInitiallyOpen]) + fieldGroupsToShow.map(([key, { isInitiallyOpen }]) => { + const storedInitiallyOpen = localStorageKeyPrefix + ? storedInitiallyOpenSections?.[key] + : null; // from localStorage + return [ + key, + typeof storedInitiallyOpen === 'boolean' ? storedInitiallyOpen : isInitiallyOpen, + ]; + }) ) ); @@ -256,6 +275,12 @@ function InnerFieldListGrouped({ Math.min(Math.ceil(pageSize * 1.5), displayedFieldLength) ) ); + if (localStorageKeyPrefix) { + storeInitiallyOpenSections({ + ...storedInitiallyOpenSections, + [key]: open, + }); + } }} showExistenceFetchError={fieldsExistenceStatus === ExistenceFetchStatus.failed} showExistenceFetchTimeout={fieldsExistenceStatus === ExistenceFetchStatus.failed} // TODO: deprecate timeout logic? diff --git a/src/plugins/unified_field_list/tsconfig.json b/src/plugins/unified_field_list/tsconfig.json index 82d06d8618461..23726803a1096 100644 --- a/src/plugins/unified_field_list/tsconfig.json +++ b/src/plugins/unified_field_list/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "../../typings/**/*", @@ -12,12 +10,26 @@ "server/**/*", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../charts/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/data-views-plugin", + "@kbn/data-plugin", + "@kbn/charts-plugin", + "@kbn/ui-actions-plugin", + "@kbn/datemath", + "@kbn/es-types", + "@kbn/es-query", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/field-formats-plugin", + "@kbn/i18n-react", + "@kbn/analytics", + "@kbn/config-schema", + "@kbn/core-lifecycle-browser", + "@kbn/react-field", + "@kbn/field-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/unified_histogram/tsconfig.json b/src/plugins/unified_histogram/tsconfig.json index 9c6213783980c..a6bd54ed5e6ea 100644 --- a/src/plugins/unified_histogram/tsconfig.json +++ b/src/plugins/unified_histogram/tsconfig.json @@ -1,17 +1,30 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "../../../typings/**/*", "common/**/*", "public/**/*", "server/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../charts/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../saved_search/tsconfig.json" }, - { "path": "../../../x-pack/plugins/lens/tsconfig.json" } + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/lens-plugin", + "@kbn/field-formats-plugin", + "@kbn/inspector-plugin", + "@kbn/expressions-plugin", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/es-query", + "@kbn/embeddable-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/core-ui-settings-browser", + "@kbn/datemath", + "@kbn/core-ui-settings-browser-mocks", + "@kbn/shared-ux-utility", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/async_loads.ts b/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/async_loads.ts new file mode 100644 index 0000000000000..f8795334200f0 --- /dev/null +++ b/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/async_loads.ts @@ -0,0 +1,12 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { setupGetFieldSuggestions } from './field'; +export { setupGetValueSuggestions } from './value'; +export { setupGetOperatorSuggestions } from './operator'; +export { setupGetConjunctionSuggestions } from './conjunction'; diff --git a/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/index.ts b/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/index.ts index cd022ec371e65..e8e96acc1c2e5 100644 --- a/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/index.ts +++ b/src/plugins/unified_search/public/autocomplete/providers/kql_query_suggestion/index.ts @@ -6,15 +6,12 @@ * Side Public License, v 1. */ -import { CoreSetup } from '@kbn/core/public'; -import { $Keys } from 'utility-types'; +import type { CoreSetup } from '@kbn/core/public'; +import type { $Keys } from 'utility-types'; import { flatten, uniqBy } from 'lodash'; -import { setupGetFieldSuggestions } from './field'; -import { setupGetValueSuggestions } from './value'; -import { setupGetOperatorSuggestions } from './operator'; -import { setupGetConjunctionSuggestions } from './conjunction'; -import { UnifiedSearchPublicPluginStart } from '../../../types'; -import { +import type { UnifiedSearchPublicPluginStart } from '../../../types'; + +import type { QuerySuggestion, QuerySuggestionGetFnArgs, QuerySuggestionGetFn, @@ -30,30 +27,49 @@ export const KUERY_LANGUAGE_NAME = 'kuery'; export const setupKqlQuerySuggestionProvider = ( core: CoreSetup ): QuerySuggestionGetFn => { - const providers = { - field: setupGetFieldSuggestions(core), - value: setupGetValueSuggestions(core), - operator: setupGetOperatorSuggestions(core), - conjunction: setupGetConjunctionSuggestions(core), - }; + let getSuggestionsByType: + | (( + cursoredQuery: string, + querySuggestionsArgs: QuerySuggestionGetFnArgs + ) => Promise> | []>) + | undefined; - const getSuggestionsByType = async ( - cursoredQuery: string, - querySuggestionsArgs: QuerySuggestionGetFnArgs - ): Promise> | []> => { - try { - const { fromKueryExpression } = await import('@kbn/es-query'); - const cursorNode = fromKueryExpression(cursoredQuery, { - cursorSymbol, - parseCursor: true, - }); - - return cursorNode.suggestionTypes.map((type: $Keys) => - providers[type](querySuggestionsArgs, cursorNode) - ); - } catch (e) { - return []; + const asyncGetSuggestionsByTypeFn = async () => { + if (getSuggestionsByType) { + return getSuggestionsByType; } + const { + setupGetFieldSuggestions, + setupGetValueSuggestions, + setupGetOperatorSuggestions, + setupGetConjunctionSuggestions, + } = await import('./async_loads'); + const { fromKueryExpression } = await import('@kbn/es-query'); + + const providers = { + field: setupGetFieldSuggestions(core), + value: setupGetValueSuggestions(core), + operator: setupGetOperatorSuggestions(core), + conjunction: setupGetConjunctionSuggestions(core), + }; + + return (getSuggestionsByType = async ( + cursoredQuery: string, + querySuggestionsArgs: QuerySuggestionGetFnArgs + ): Promise> | []> => { + try { + const cursorNode = fromKueryExpression(cursoredQuery, { + cursorSymbol, + parseCursor: true, + }); + + return cursorNode.suggestionTypes.map((type: $Keys) => + providers[type](querySuggestionsArgs, cursorNode) + ); + } catch (e) { + return []; + } + }); }; return async (querySuggestionsArgs): Promise => { @@ -61,9 +77,9 @@ export const setupKqlQuerySuggestionProvider = ( const cursoredQuery = `${query.substr(0, selectionStart)}${cursorSymbol}${query.substr( selectionEnd )}`; - - return Promise.all(await getSuggestionsByType(cursoredQuery, querySuggestionsArgs)).then( - (suggestionsByType) => dedup(flatten(suggestionsByType)) + const fn = await asyncGetSuggestionsByTypeFn(); + return Promise.all(await fn(cursoredQuery, querySuggestionsArgs)).then((suggestionsByType) => + dedup(flatten(suggestionsByType)) ); }; }; diff --git a/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts b/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts index 127754583d448..546d6bc80a3a9 100644 --- a/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts +++ b/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts @@ -12,7 +12,7 @@ import { memoize } from 'lodash'; import { UI_SETTINGS, ValueSuggestionsMethod } from '@kbn/data-plugin/common'; import type { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import type { TimefilterSetup } from '@kbn/data-plugin/public'; -import { AutocompleteUsageCollector } from '../collectors'; +import type { AutocompleteUsageCollector } from '../collectors'; export type ValueSuggestionsGetFn = (args: ValueSuggestionsGetFnArgs) => Promise; diff --git a/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx b/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx index 362ff4a209164..9524935b041e8 100644 --- a/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx +++ b/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx @@ -15,7 +15,7 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { indexPatternEditorPluginMock as dataViewEditorPluginMock } from '@kbn/data-view-editor-plugin/public/mocks'; import { ChangeDataView } from './change_dataview'; -import { DataViewPickerPropsExtended, TextBasedLanguages } from '.'; +import { DataViewPickerPropsExtended, TextBasedLanguages } from './data_view_picker'; describe('DataView component', () => { const createMockWebStorage = () => ({ diff --git a/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx b/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx index 2b451ff193e53..bfc5aa5b92f14 100644 --- a/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx +++ b/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx @@ -26,8 +26,9 @@ import { EuiToolTip, } from '@elastic/eui'; import { useKibana } from '@kbn/kibana-react-plugin/public'; +import type { DataView } from '@kbn/data-views-plugin/public'; import type { IUnifiedSearchPluginServices } from '../types'; -import type { DataViewPickerPropsExtended } from '.'; +import type { DataViewPickerPropsExtended } from './data_view_picker'; import type { DataViewListItemEnhanced } from './dataview_list'; import type { TextBasedLanguagesListProps } from './text_languages_list'; import type { TextBasedLanguagesTransitionModalProps } from './text_languages_transition_modal'; @@ -58,6 +59,15 @@ export const TextBasedLanguagesList = (props: TextBasedLanguagesListProps) => ( ); +const mapAdHocDataView = (adHocDataView: DataView) => { + return { + title: adHocDataView.title, + name: adHocDataView.name, + id: adHocDataView.id!, + isAdhoc: true, + }; +}; + export function ChangeDataView({ isMissingCurrent, currentDataViewId, @@ -98,22 +108,13 @@ export function ChangeDataView({ useEffect(() => { const fetchDataViews = async () => { - const dataViewsRefs: DataViewListItemEnhanced[] = savedDataViews + const savedDataViewRefs: DataViewListItemEnhanced[] = savedDataViews ? savedDataViews : await data.dataViews.getIdsWithTitle(); - if (adHocDataViews?.length) { - adHocDataViews.forEach((adHocDataView) => { - if (adHocDataView.id) { - dataViewsRefs.push({ - title: adHocDataView.title, - name: adHocDataView.name, - id: adHocDataView.id, - isAdhoc: true, - }); - } - }); - } - setDataViewsList(dataViewsRefs); + const adHocDataViewRefs: DataViewListItemEnhanced[] = + adHocDataViews?.map(mapAdHocDataView) || []; + + setDataViewsList(savedDataViewRefs.concat(adHocDataViewRefs)); }; fetchDataViews(); }, [data, currentDataViewId, adHocDataViews, savedDataViews, isTextBasedLangSelected]); diff --git a/src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx b/src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx new file mode 100644 index 0000000000000..abb9fe0dd7ca2 --- /dev/null +++ b/src/plugins/unified_search/public/dataview_picker/data_view_picker.tsx @@ -0,0 +1,147 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { EuiButtonProps, EuiSelectableProps } from '@elastic/eui'; +import type { DataView, DataViewListItem } from '@kbn/data-views-plugin/public'; +import type { AggregateQuery, Query } from '@kbn/es-query'; +import { ChangeDataView } from './change_dataview'; + +export type ChangeDataViewTriggerProps = EuiButtonProps & { + label: string; + title?: string; +}; + +export enum TextBasedLanguages { + SQL = 'SQL', + ESQL = 'ESQL', +} + +export interface OnSaveTextLanguageQueryProps { + onSave: () => void; + onCancel: () => void; +} + +/** @public */ +export interface DataViewPickerProps { + /** + * The properties of the button that triggers the dataview picker. + */ + trigger: ChangeDataViewTriggerProps; + /** + * Flag that should be enabled when the current dataview is missing. + */ + isMissingCurrent?: boolean; + /** + * Callback that is called when the user changes the currently selected dataview. + */ + onChangeDataView: (newId: string) => void; + /** + * Callback that is called when the user edits the current data view via flyout. + * The first parameter is the updated data view stub without fetched fields + */ + onEditDataView?: (updatedDataViewStub: DataView) => void; + /** + * The id of the selected dataview. + */ + currentDataViewId?: string; + /** + * The adHocDataviews. + */ + adHocDataViews?: DataView[]; + /** + * Saved data views + */ + savedDataViews?: DataViewListItem[]; + /** + * EuiSelectable properties. + */ + selectableProps?: EuiSelectableProps; + /** + * Callback that is called when the user clicks the add runtime field option. + * Also works as a flag to show the add runtime field button. + */ + onAddField?: () => void; + /** + * Callback that is called when the user clicks the create dataview option. + * Also works as a flag to show the create dataview button. + */ + onDataViewCreated?: () => void; + + onCreateDefaultAdHocDataView?: (pattern: string) => void; + /** + * List of the supported text based languages (SQL, ESQL) etc. + * Defined per application, if not provided, no text based languages + * will be available. + */ + textBasedLanguages?: TextBasedLanguages[]; + /** + * Callback that is called when the user clicks the Save and switch transition modal button + */ + onSaveTextLanguageQuery?: ({ onSave, onCancel }: OnSaveTextLanguageQueryProps) => void; + + /** + * Makes the picker disabled by disabling the popover trigger + */ + isDisabled?: boolean; +} + +export interface DataViewPickerPropsExtended extends DataViewPickerProps { + /** + * Callback that is called when the user clicks the submit button + */ + onTextLangQuerySubmit?: (query?: Query | AggregateQuery) => void; + /** + * Text based language that is currently selected; depends on the query + */ + textBasedLanguage?: string; +} + +export const DataViewPicker = ({ + isMissingCurrent, + currentDataViewId, + adHocDataViews, + savedDataViews, + onChangeDataView, + onEditDataView, + onAddField, + onDataViewCreated, + trigger, + selectableProps, + textBasedLanguages, + onSaveTextLanguageQuery, + onTextLangQuerySubmit, + textBasedLanguage, + onCreateDefaultAdHocDataView, + isDisabled, +}: DataViewPickerPropsExtended) => { + return ( + + ); +}; + +// React.lazy support +// eslint-disable-next-line import/no-default-export +export default DataViewPicker; diff --git a/src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx b/src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx index 9a83a887de4cf..e01128339ea18 100644 --- a/src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx +++ b/src/plugins/unified_search/public/dataview_picker/data_view_selector.tsx @@ -14,7 +14,7 @@ import { DataViewsList } from './dataview_list'; import { IUnifiedSearchPluginServices } from '../types'; import { ExploreMatchingButton } from './explore_matching_button'; -interface DataViewSelectorProps { +export interface DataViewSelectorProps { currentDataViewId?: string; searchListInputId?: string; dataViewsList: DataViewListItem[]; @@ -95,3 +95,7 @@ export const DataViewSelector = ({ ); }; + +// React.lazy support +// eslint-disable-next-line import/no-default-export +export default DataViewSelector; diff --git a/src/plugins/unified_search/public/dataview_picker/dataview_list.test.tsx b/src/plugins/unified_search/public/dataview_picker/dataview_list.test.tsx index fe6601b90d79c..af30a7650c6ca 100644 --- a/src/plugins/unified_search/public/dataview_picker/dataview_list.test.tsx +++ b/src/plugins/unified_search/public/dataview_picker/dataview_list.test.tsx @@ -30,7 +30,8 @@ function selectDataViewPickerOption(instance: ShallowWrapper, selectedLabel: str ? { ...option, checked: 'on' } : { ...option, checked: undefined } ); - return getDataViewPickerList(instance).prop('onChange')!(options, event); + const selectedOption = { label: selectedLabel }; + return getDataViewPickerList(instance).prop('onChange')!(options, event, selectedOption); } describe('DataView list component', () => { diff --git a/src/plugins/unified_search/public/dataview_picker/dataview_list.tsx b/src/plugins/unified_search/public/dataview_picker/dataview_list.tsx index 33fd7194ff871..ec231d577e11a 100644 --- a/src/plugins/unified_search/public/dataview_picker/dataview_list.tsx +++ b/src/plugins/unified_search/public/dataview_picker/dataview_list.tsx @@ -6,11 +6,58 @@ * Side Public License, v 1. */ -import React from 'react'; -import { EuiSelectable, EuiSelectableProps, EuiPanel, EuiBadge } from '@elastic/eui'; +import React, { useCallback, useMemo, useState } from 'react'; +import { + EuiSelectable, + EuiSelectableProps, + EuiBadge, + EuiFlexGroup, + EuiFlexItem, + EuiPanel, + EuiButtonGroup, + toSentenceCase, +} from '@elastic/eui'; +import type { DataViewListItem } from '@kbn/data-views-plugin/public'; import { i18n } from '@kbn/i18n'; + import { css } from '@emotion/react'; -import { DataViewListItem } from '@kbn/data-views-plugin/public'; + +import { SortingService } from './sorting_service'; + +const strings = { + sortOrder: { + asc: { + getSortOrderLabel: () => + i18n.translate('unifiedSearch.optionsList.popover.sortOrder.asc', { + defaultMessage: 'Ascending', + }), + }, + desc: { + getSortOrderLabel: () => + i18n.translate('unifiedSearch.optionsList.popover.sortOrder.desc', { + defaultMessage: 'Descending', + }), + }, + }, + editorAndPopover: { + getSortDirectionLegend: () => + i18n.translate('unifiedSearch.optionsList.popover.sortDirections', { + defaultMessage: 'Sort directions', + }), + adhoc: { + getTemporaryDataviewLabel: () => + i18n.translate('unifiedSearch.query.queryBar.indexPattern.temporaryDataviewLabel', { + defaultMessage: 'Temporary', + }), + }, + search: { + getSearchPlaceholder: () => + i18n.translate('unifiedSearch.query.queryBar.indexPattern.findDataView', { + defaultMessage: 'Find a data view', + }), + }, + }, +}; export interface DataViewListItemEnhanced extends DataViewListItem { isAdhoc?: boolean; @@ -33,6 +80,38 @@ export function DataViewsList({ selectableProps, searchListInputId, }: DataViewsListProps) { + const sortingService = useMemo( + () => + new SortingService({ + alphabetically: (item) => item.name ?? item.title, + }), + [] + ); + + const [sortedDataViewsList, setSortedDataViewsList] = useState( + sortingService.sortData(dataViewsList) + ); + + const sortOrderOptions = useMemo( + () => + sortingService.getOrderDirections().map((key) => { + return { + id: key, + iconType: `sort${toSentenceCase(key)}ending`, + label: strings.sortOrder[key].getSortOrderLabel(), + }; + }), + [sortingService] + ); + + const onChangeSortDirection = useCallback( + (value) => { + sortingService.setDirection(value); + setSortedDataViewsList((dataViews) => sortingService.sortData(dataViews)); + }, + [sortingService] + ); + return ( ({ + options={sortedDataViewsList?.map(({ title, id, name, isAdhoc }) => ({ key: id, label: name ? name : title, value: id, checked: id === currentDataViewId && !Boolean(isTextBasedLangSelected) ? 'on' : undefined, append: isAdhoc ? ( - {i18n.translate('unifiedSearch.query.queryBar.indexPattern.temporaryDataviewLabel', { - defaultMessage: 'Temporary', - })} + {strings.editorAndPopover.adhoc.getTemporaryDataviewLabel()} ) : null, }))} @@ -66,9 +143,7 @@ export function DataViewsList({ searchProps={{ id: searchListInputId, compressed: true, - placeholder: i18n.translate('unifiedSearch.query.queryBar.indexPattern.findDataView', { - defaultMessage: 'Find a data view', - }), + placeholder: strings.editorAndPopover.search.getSearchPlaceholder(), 'data-test-subj': 'indexPattern-switcher--input', ...(selectableProps ? selectableProps.searchProps : undefined), }} @@ -82,7 +157,26 @@ export function DataViewsList({ color="transparent" paddingSize="s" > - {search} + + {search} + + + + + {list} @@ -90,3 +184,7 @@ export function DataViewsList({ ); } + +// React.lazy support +// eslint-disable-next-line import/no-default-export +export default DataViewsList; diff --git a/src/plugins/unified_search/public/dataview_picker/index.tsx b/src/plugins/unified_search/public/dataview_picker/index.tsx index 9cb50d5e85a79..895f48384ab18 100644 --- a/src/plugins/unified_search/public/dataview_picker/index.tsx +++ b/src/plugins/unified_search/public/dataview_picker/index.tsx @@ -7,137 +7,45 @@ */ import React from 'react'; -import type { EuiButtonProps, EuiSelectableProps } from '@elastic/eui'; -import type { DataView, DataViewListItem } from '@kbn/data-views-plugin/public'; -import type { AggregateQuery, Query } from '@kbn/es-query'; -import { ChangeDataView } from './change_dataview'; +import { withSuspense } from '@kbn/shared-ux-utility'; -export type ChangeDataViewTriggerProps = EuiButtonProps & { - label: string; - title?: string; -}; +export type { DataViewPickerProps, OnSaveTextLanguageQueryProps } from './data_view_picker'; -export enum TextBasedLanguages { - SQL = 'SQL', - ESQL = 'ESQL', -} - -export interface OnSaveTextLanguageQueryProps { - onSave: () => void; - onCancel: () => void; -} +/** + * The Lazily-loaded `DataViewsList` component. Consumers should use `React.Suspense` or + * the withSuspense` HOC to load this component. + */ +export const DataViewsListLazy = React.lazy(() => import('./dataview_list')); -/** @public */ -export interface DataViewPickerProps { - /** - * The properties of the button that triggers the dataview picker. - */ - trigger: ChangeDataViewTriggerProps; - /** - * Flag that should be enabled when the current dataview is missing. - */ - isMissingCurrent?: boolean; - /** - * Callback that is called when the user changes the currently selected dataview. - */ - onChangeDataView: (newId: string) => void; - /** - * Callback that is called when the user edits the current data view via flyout. - * The first parameter is the updated data view stub without fetched fields - */ - onEditDataView?: (updatedDataViewStub: DataView) => void; - /** - * The id of the selected dataview. - */ - currentDataViewId?: string; - /** - * The adHocDataviews. - */ - adHocDataViews?: DataView[]; - /** - * Saved data views - */ - savedDataViews?: DataViewListItem[]; - /** - * EuiSelectable properties. - */ - selectableProps?: EuiSelectableProps; - /** - * Callback that is called when the user clicks the add runtime field option. - * Also works as a flag to show the add runtime field button. - */ - onAddField?: () => void; - /** - * Callback that is called when the user clicks the create dataview option. - * Also works as a flag to show the create dataview button. - */ - onDataViewCreated?: () => void; +/** + * A `DataViewsList` component that is wrapped by the `withSuspense` HOC. This component can + * be used directly by consumers and will load the `DataViewsLazy` component lazily with + * a predefined fallback and error boundary. + */ +export const DataViewsList = withSuspense(DataViewsListLazy); - onCreateDefaultAdHocDataView?: (pattern: string) => void; - /** - * List of the supported text based languages (SQL, ESQL) etc. - * Defined per application, if not provided, no text based languages - * will be available. - */ - textBasedLanguages?: TextBasedLanguages[]; - /** - * Callback that is called when the user clicks the Save and switch transition modal button - */ - onSaveTextLanguageQuery?: ({ onSave, onCancel }: OnSaveTextLanguageQueryProps) => void; +/** + * The Lazily-loaded `DataViewSelector` component. Consumers should use `React.Suspense` or + * the withSuspense` HOC to load this component. + */ +export const DataViewSelectorLazy = React.lazy(() => import('./data_view_selector')); - /** - * Makes the picker disabled by disabling the popover trigger - */ - isDisabled?: boolean; -} +/** + * A `DataViewSelector` component that is wrapped by the `withSuspense` HOC. This component can + * be used directly by consumers and will load the `DataViewSelectorLazy` component lazily with + * a predefined fallback and error boundary. + */ +export const DataViewSelector = withSuspense(DataViewSelectorLazy); -export interface DataViewPickerPropsExtended extends DataViewPickerProps { - /** - * Callback that is called when the user clicks the submit button - */ - onTextLangQuerySubmit?: (query?: Query | AggregateQuery) => void; - /** - * Text based language that is currently selected; depends on the query - */ - textBasedLanguage?: string; -} +/** + * The Lazily-loaded `DataViewPicker` component. Consumers should use `React.Suspense` or + * the withSuspense` HOC to load this component. + */ +export const DataViewPickerLazy = React.lazy(() => import('./data_view_picker')); -export const DataViewPicker = ({ - isMissingCurrent, - currentDataViewId, - adHocDataViews, - savedDataViews, - onChangeDataView, - onEditDataView, - onAddField, - onDataViewCreated, - trigger, - selectableProps, - textBasedLanguages, - onSaveTextLanguageQuery, - onTextLangQuerySubmit, - textBasedLanguage, - onCreateDefaultAdHocDataView, - isDisabled, -}: DataViewPickerPropsExtended) => { - return ( - - ); -}; +/** + * A `DataViewPicker` component that is wrapped by the `withSuspense` HOC. This component can + * be used directly by consumers and will load the `DataViewPickerLazy` component lazily with + * a predefined fallback and error boundary. + */ +export const DataViewPicker = withSuspense(DataViewPickerLazy); diff --git a/src/plugins/unified_search/public/dataview_picker/sorting_service.test.ts b/src/plugins/unified_search/public/dataview_picker/sorting_service.test.ts new file mode 100644 index 0000000000000..78e58a0cde5ed --- /dev/null +++ b/src/plugins/unified_search/public/dataview_picker/sorting_service.test.ts @@ -0,0 +1,81 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SortDirection } from '@elastic/eui'; +import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; +import { Storage } from '@kbn/kibana-utils-plugin/public'; +import { StubBrowserStorage } from '@kbn/test-jest-helpers'; +import type { DataViewListItemEnhanced } from './dataview_list'; +import { ALPHABETICALLY, SortingService } from './sorting_service'; + +describe('Sorting service', () => { + let sortingService: SortingService; + let storage: IStorageWrapper; + beforeEach(() => { + storage = new Storage(new StubBrowserStorage()); + sortingService = new SortingService( + { + alphabetically: (item) => item.name ?? item.title, + }, + storage + ); + }); + + it('should get sortingStrategyType value', () => { + expect(sortingService.sortingStrategyType).toEqual(ALPHABETICALLY); + }); + + it('should get direction value', () => { + expect(sortingService.direction).toEqual(SortDirection.ASC); + }); + + it('should set sorting direction ', () => { + const setSpy = jest.spyOn(storage, 'set'); + + sortingService.setDirection(SortDirection.DESC); + expect(sortingService.direction).toEqual(SortDirection.DESC); + expect(setSpy).toHaveBeenCalledWith('unified_search_sorting', { + sortingStrategyType: 'alphabetically', + direction: 'desc', + }); + }); + + it('should get sorting order directions', () => { + expect(sortingService.getOrderDirections()).toEqual([SortDirection.ASC, SortDirection.DESC]); + }); + + it('should get sorting sortingStrategyTypes', () => { + expect(sortingService.getSortingStrategyTypes()).toEqual([ALPHABETICALLY]); + }); + + it('should sort DataViews', () => { + const notSortedlist = [ + { + id: 'dataview-2', + title: 'dataview-2', + }, + { + id: 'dataview-1', + title: 'dataview-1', + }, + ]; + + const Sortedlist = [ + { + id: 'dataview-1', + title: 'dataview-1', + }, + { + id: 'dataview-2', + title: 'dataview-2', + }, + ]; + + expect(sortingService.sortData(notSortedlist)).toEqual(Sortedlist); + }); +}); diff --git a/src/plugins/unified_search/public/dataview_picker/sorting_service.ts b/src/plugins/unified_search/public/dataview_picker/sorting_service.ts new file mode 100644 index 0000000000000..b2213fbad95f3 --- /dev/null +++ b/src/plugins/unified_search/public/dataview_picker/sorting_service.ts @@ -0,0 +1,84 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Direction } from '@elastic/eui'; +import { SortDirection } from '@elastic/eui'; +import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; +import { Storage } from '@kbn/kibana-utils-plugin/public'; + +const storageKey = 'unified_search_sorting'; +export const ALPHABETICALLY = 'alphabetically'; + +export interface Sorting { + sortingStrategyType: typeof ALPHABETICALLY; + direction: Direction; +} + +export class SortingService { + public sortingStrategyType: Sorting['sortingStrategyType']; + public direction: Sorting['direction']; + + constructor( + private sortingStrategies: Record string>, + private storage: IStorageWrapper = new Storage(window.localStorage) + ) { + const { sortingStrategyType, direction } = this.getSorting(); + this.sortingStrategyType = sortingStrategyType; + this.direction = direction; + } + + private getSorting(): Sorting { + let parsedSorting: Sorting | undefined; + + try { + parsedSorting = this.storage.get(storageKey); + } catch (e) { + parsedSorting = undefined; + } + + return { + sortingStrategyType: parsedSorting?.sortingStrategyType || ALPHABETICALLY, + direction: parsedSorting?.direction || SortDirection.ASC, + }; + } + + setDirection(direction: Sorting['direction']) { + this.direction = direction; + this.storage.set(storageKey, { direction, sortingStrategyType: this.sortingStrategyType }); + } + + setSortingStrategyType(sortingStrategyType: Sorting['sortingStrategyType']) { + this.sortingStrategyType = sortingStrategyType; + this.storage.set(storageKey, { sortingStrategyType, direction: this.direction }); + } + + getOrderDirections(): Array { + return [SortDirection.ASC, SortDirection.DESC]; + } + + getSortingStrategyTypes(): Array { + return [ALPHABETICALLY]; + } + + sortData(data: T[]) { + return [...data].sort((a, b) => { + const fn = this.sortingStrategies[this.sortingStrategyType]; + const firstComparableField = fn(a); + const secondComparableField = fn(b); + + return this.compare(firstComparableField, secondComparableField); + }); + } + + private compare(a: string, b: string) { + if (this.direction === SortDirection.ASC) { + return a.localeCompare(b); + } + return b.localeCompare(a); + } +} diff --git a/src/plugins/unified_search/public/dataview_picker/text_languages_list.test.tsx b/src/plugins/unified_search/public/dataview_picker/text_languages_list.test.tsx index 21b77534f90a4..deb619b236338 100644 --- a/src/plugins/unified_search/public/dataview_picker/text_languages_list.test.tsx +++ b/src/plugins/unified_search/public/dataview_picker/text_languages_list.test.tsx @@ -12,7 +12,7 @@ import { act } from 'react-dom/test-utils'; import { ShallowWrapper } from 'enzyme'; import { shallowWithIntl as shallow } from '@kbn/test-jest-helpers'; import TextBasedLanguagesList, { TextBasedLanguagesListProps } from './text_languages_list'; -import { TextBasedLanguages } from '.'; +import { TextBasedLanguages } from './data_view_picker'; function getTextLanguagesPickerList(instance: ShallowWrapper) { return instance.find(EuiSelectable).first(); @@ -31,7 +31,8 @@ function selectTextLanguagePickerOption(instance: ShallowWrapper, selectedLabel: ? { ...option, checked: 'on' } : { ...option, checked: undefined } ); - return getTextLanguagesPickerList(instance).prop('onChange')!(options, event); + const selectedOption = { label: selectedLabel }; + return getTextLanguagesPickerList(instance).prop('onChange')!(options, event, selectedOption); } describe('Text based languages list component', () => { diff --git a/src/plugins/unified_search/public/dataview_picker/text_languages_list.tsx b/src/plugins/unified_search/public/dataview_picker/text_languages_list.tsx index cf070b7746bfe..3b07b4ca44f1c 100644 --- a/src/plugins/unified_search/public/dataview_picker/text_languages_list.tsx +++ b/src/plugins/unified_search/public/dataview_picker/text_languages_list.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiSelectable, EuiPanel, EuiBadge } from '@elastic/eui'; -import { TextBasedLanguages } from '.'; +import { TextBasedLanguages } from './data_view_picker'; export interface TextBasedLanguagesListProps { textBasedLanguages: TextBasedLanguages[]; diff --git a/src/plugins/unified_search/public/filter_badge/filter_badge_group.tsx b/src/plugins/unified_search/public/filter_badge/filter_badge_group.tsx index 570cc4af5b841..43ae213f66a9b 100644 --- a/src/plugins/unified_search/public/filter_badge/filter_badge_group.tsx +++ b/src/plugins/unified_search/public/filter_badge/filter_badge_group.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { Fragment } from 'react'; import type { Filter, BooleanRelation, DataViewBase } from '@kbn/es-query'; import { EuiTextColor } from '@elastic/eui'; import { FilterBadgeErrorBoundary } from './filter_badge_error_boundary'; @@ -41,7 +41,7 @@ export function FilterBadgeGroup({ const showRelationDelimiter = booleanRelation && index + 1 < filterArr.length; const showBrackets = shouldShowBrackets && (filter.meta.negate || filterArr.length > 1); return ( - <> + {showRelationDelimiter && } - + ); })} diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/close_confirm_modal.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/close_confirm_modal.tsx new file mode 100644 index 0000000000000..c55460a00dc93 --- /dev/null +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/close_confirm_modal.tsx @@ -0,0 +1,53 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { memo } from 'react'; +import { EuiConfirmModal } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +interface CloseFilterEditorConfirmModalProps { + onCancel: () => void; + onConfirm: () => void; +} + +const strings = { + getTitle: () => + i18n.translate('unifiedSearch.filter.closeEditorConfirmModal.title', { + defaultMessage: 'Unsaved changes', + }), + getCancelButton: () => + i18n.translate('unifiedSearch.filter.closeEditorConfirmModal.cancelButton', { + defaultMessage: 'Cancel', + }), + getConfirmButton: () => + i18n.translate('unifiedSearch.filter.closeEditorConfirmModal.confirmButton', { + defaultMessage: 'Discard changes', + }), + getWarningLabel: () => + i18n.translate('unifiedSearch.filter.closeEditorConfirmModal.warningLabel', { + defaultMessage: 'If you leave now, your unsaved filters will be lost.', + }), +}; + +export const CloseFilterEditorConfirmModal = memo(function CloseFilterEditorConfirmModal( + props: CloseFilterEditorConfirmModalProps +) { + return ( + +

{strings.getWarningLabel()}

+
+ ); +}); diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx index aa30322b1a4fa..d17ef6beeab60 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx @@ -109,11 +109,19 @@ export const strings = { defaultMessage: 'Elasticsearch Query DSL editor', }), }; + +interface QueryDslFilter { + queryDsl: string; + customLabel: string | null; +} + export interface FilterEditorComponentProps { filter: Filter; indexPatterns: DataView[]; onSubmit: (filter: Filter) => void; onCancel: () => void; + onLocalFilterCreate?: (initialState: { filter: Filter; queryDslFilter: QueryDslFilter }) => void; + onLocalFilterUpdate?: (filter: Filter | QueryDslFilter) => void; timeRangeForSuggestionsOverride?: boolean; mode?: 'edit' | 'add'; } @@ -141,6 +149,15 @@ class FilterEditorComponent extends Component { }; } + componentDidMount() { + const { localFilter, queryDsl, customLabel } = this.state; + this.props.onLocalFilterCreate?.({ + filter: localFilter, + queryDslFilter: { queryDsl, customLabel }, + }); + this.props.onLocalFilterUpdate?.(localFilter); + } + private parseFilterToQueryDsl(filter: Filter) { return JSON.stringify(cleanFilter(filter), null, 2); } @@ -372,6 +389,14 @@ class FilterEditorComponent extends Component { private toggleCustomEditor = () => { const isCustomEditorOpen = !this.state.isCustomEditorOpen; this.setState({ isCustomEditorOpen }); + if (this.props.onLocalFilterUpdate) { + const { customLabel, queryDsl, localFilter } = this.state; + if (isCustomEditorOpen) { + this.props.onLocalFilterUpdate({ queryDsl, customLabel }); + } else { + this.props.onLocalFilterUpdate(localFilter); + } + } }; private isUnknownFilterType() { @@ -383,16 +408,20 @@ class FilterEditorComponent extends Component { return getIndexPatternFromFilter(this.props.filter, this.props.indexPatterns); } + private isQueryDslValid = (queryDsl: string) => { + try { + const queryDslJson = JSON.parse(queryDsl); + return Object.keys(queryDslJson).length > 0; + } catch { + return false; + } + }; + private isFilterValid() { const { isCustomEditorOpen, queryDsl, selectedDataView, localFilter } = this.state; if (isCustomEditorOpen) { - try { - const queryDslJson = JSON.parse(queryDsl); - return Object.keys(queryDslJson).length > 0; - } catch (e) { - return false; - } + return this.isQueryDslValid(queryDsl); } if (!selectedDataView) { @@ -419,10 +448,49 @@ class FilterEditorComponent extends Component { private onCustomLabelChange = (event: React.ChangeEvent) => { const customLabel = event.target.value; this.setState({ customLabel }); + if (this.props.onLocalFilterUpdate) { + if (this.state.isCustomEditorOpen) { + const { queryDsl } = this.state; + this.props.onLocalFilterUpdate({ queryDsl, customLabel }); + } else { + const localFilter = { + ...this.state.localFilter, + meta: { + ...this.state.localFilter.meta, + alias: customLabel || null, + }, + }; + this.props.onLocalFilterUpdate(localFilter); + } + } }; private onQueryDslChange = (queryDsl: string) => { this.setState({ queryDsl }); + if (this.props.onLocalFilterUpdate) { + const { customLabel } = this.state; + this.props.onLocalFilterUpdate({ queryDsl, customLabel }); + } + }; + + private getFilterFromQueryDsl = (queryDsl: string) => { + const { customLabel } = this.state; + const { + $state, + meta: { index, disabled = false, negate = false }, + } = this.props.filter; + + if (!$state || !$state.store) { + return; + } + + const newIndex = index || this.props.indexPatterns[0].id!; + try { + const body = JSON.parse(queryDsl); + return buildCustomFilter(newIndex, body, disabled, negate, customLabel || null, $state.store); + } catch { + return null; + } }; private onLocalFilterChange = (updatedFilters: Filter[]) => { @@ -465,30 +533,22 @@ class FilterEditorComponent extends Component { } this.setState({ localFilter: newFilter }); + this.props.onLocalFilterUpdate?.(newFilter); }; private onSubmit = () => { const { isCustomEditorOpen, queryDsl, customLabel } = this.state; - const { - $state, - meta: { index, disabled = false, negate = false }, - } = this.props.filter; + const { $state } = this.props.filter; if (!$state || !$state.store) { return; } if (isCustomEditorOpen) { - const newIndex = index || this.props.indexPatterns[0].id!; - const body = JSON.parse(queryDsl); - const filter = buildCustomFilter( - newIndex, - body, - disabled, - negate, - customLabel || null, - $state.store - ); + const filter = this.getFilterFromQueryDsl(queryDsl); + if (!filter) { + return; + } this.props.onSubmit(filter); } else { diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/index.ts b/src/plugins/unified_search/public/filter_bar/filter_editor/index.ts index a78e997c66f07..f1ff6c50b5787 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_editor/index.ts +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/index.ts @@ -40,3 +40,6 @@ export { TruncatedLabel } from './truncated_label'; export { FilterEditor } from './filter_editor'; export type { FilterEditorProps } from './filter_editor'; + +export { withCloseFilterEditorConfirmModal } from './with_close_confirm_modal'; +export type { WithCloseFilterEditorConfirmModalProps } from './with_close_confirm_modal'; diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/with_close_confirm_modal.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/with_close_confirm_modal.tsx new file mode 100644 index 0000000000000..59243acbd0bc2 --- /dev/null +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/with_close_confirm_modal.tsx @@ -0,0 +1,94 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { compareFilters, Filter } from '@kbn/es-query'; +import React, { FC, useCallback, useState } from 'react'; +import { CloseFilterEditorConfirmModal } from './close_confirm_modal'; + +interface QueryDslFilter { + queryDsl: string; + customLabel: string | null; +} + +interface OriginalFilter { + filter: Filter; + queryDslFilter: QueryDslFilter; +} + +type ChangedFilter = Filter | QueryDslFilter; + +export interface WithCloseFilterEditorConfirmModalProps { + onCloseFilterPopover: (actions?: Action[]) => void; + onLocalFilterCreate: (filter: OriginalFilter) => void; + onLocalFilterUpdate: (filter: ChangedFilter) => void; +} + +type Action = () => void; + +const isQueryDslFilter = (filter: Filter | QueryDslFilter): filter is QueryDslFilter => { + return 'queryDsl' in filter && 'customLabel' in filter; +}; + +const isQueryDslFilterChanged = (original: QueryDslFilter, updated: QueryDslFilter) => + original.queryDsl !== updated.queryDsl || original.customLabel !== updated.customLabel; + +export function withCloseFilterEditorConfirmModal< + T extends WithCloseFilterEditorConfirmModalProps = WithCloseFilterEditorConfirmModalProps +>(WrappedComponent: FC) { + return function (props: Omit) { + const [actionsOnClose, setActionsOnClose] = useState(); + const [showConfirmModal, setShowConfirmModal] = useState(false); + const [updatedFilter, setUpdatedFilter] = useState(); + const [originalFilter, setOriginalFilter] = useState(); + + const onCancelModal = useCallback(() => { + setShowConfirmModal(false); + }, [setShowConfirmModal]); + + const onConfirmModal = useCallback(() => { + setShowConfirmModal(false); + actionsOnClose?.map((action) => action()); + }, [actionsOnClose, setShowConfirmModal]); + + const onCloseFilterPopover = useCallback( + (actions?: Action[]) => { + const filtersAreNotEqual = + updatedFilter && + originalFilter && + ((isQueryDslFilter(updatedFilter) && + isQueryDslFilterChanged(originalFilter.queryDslFilter, updatedFilter)) || + (!isQueryDslFilter(updatedFilter) && + !compareFilters(originalFilter.filter, updatedFilter, { + index: true, + alias: true, + }))); + if (filtersAreNotEqual) { + setShowConfirmModal(true); + setActionsOnClose(actions); + } else { + actions?.map((action) => action()); + } + }, + [originalFilter, updatedFilter, setShowConfirmModal, setActionsOnClose] + ); + + return ( + <> + + {showConfirmModal && ( + + )} + + ); + }; +} diff --git a/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx b/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx index 723a5453dd7fc..fcd6cb94a1747 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx +++ b/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx @@ -25,7 +25,14 @@ import { toggleFilterDisabled, } from '@kbn/es-query'; import classNames from 'classnames'; -import React, { MouseEvent, useState, useEffect, HTMLAttributes, useMemo } from 'react'; +import React, { + MouseEvent, + useState, + useEffect, + HTMLAttributes, + useMemo, + useCallback, +} from 'react'; import { IUiSettingsClient } from '@kbn/core/public'; import { DataView } from '@kbn/data-views-plugin/public'; import { css } from '@emotion/react'; @@ -33,8 +40,12 @@ import { getIndexPatternFromFilter, getDisplayValueFromFilter } from '@kbn/data- import { FilterEditor } from '../filter_editor/filter_editor'; import { FilterView } from '../filter_view'; import { FilterPanelOption } from '../../types'; +import { + withCloseFilterEditorConfirmModal, + WithCloseFilterEditorConfirmModalProps, +} from '../filter_editor'; -export interface FilterItemProps { +export interface FilterItemProps extends WithCloseFilterEditorConfirmModalProps { id: string; filter: Filter; indexPatterns: DataView[]; @@ -67,11 +78,17 @@ export type FilterLabelStatus = export const FILTER_EDITOR_WIDTH = 960; -export function FilterItem(props: FilterItemProps) { +function FilterItemComponent(props: FilterItemProps) { + const { onCloseFilterPopover, onLocalFilterCreate, onLocalFilterUpdate } = props; const [isPopoverOpen, setIsPopoverOpen] = useState(false); + const [renderedComponent, setRenderedComponent] = useState('menu'); const { id, filter, indexPatterns, hiddenPanelOptions, readOnly = false } = props; + const closePopover = useCallback(() => { + onCloseFilterPopover([() => setIsPopoverOpen(false)]); + }, [onCloseFilterPopover]); + const euiTheme = useEuiTheme(); /** @todo important style should be remove after fixing elastic/eui/issues/6314. */ @@ -348,9 +365,7 @@ export function FilterItem(props: FilterItemProps) { className: `globalFilterItem__popover`, anchorClassName: `globalFilterItem__popoverAnchor`, isOpen: isPopoverOpen, - closePopover: () => { - setIsPopoverOpen(false); - }, + closePopover, button: , panelPaddingSize: 'none', panelProps: { @@ -367,14 +382,14 @@ export function FilterItem(props: FilterItemProps) { ) : ( +
{ - setIsPopoverOpen(false); - }} + onLocalFilterUpdate={onLocalFilterUpdate} + onLocalFilterCreate={onLocalFilterCreate} + onCancel={closePopover} timeRangeForSuggestionsOverride={props.timeRangeForSuggestionsOverride} />
, @@ -384,6 +399,9 @@ export function FilterItem(props: FilterItemProps) { ); } + +export const FilterItem = withCloseFilterEditorConfirmModal(FilterItemComponent); + // Needed for React.lazy // eslint-disable-next-line import/no-default-export export default FilterItem; diff --git a/src/plugins/unified_search/public/filters_builder/filter_group.tsx b/src/plugins/unified_search/public/filters_builder/filter_group.tsx index 40e0cca4f5b26..daaefd6f90372 100644 --- a/src/plugins/unified_search/public/filters_builder/filter_group.tsx +++ b/src/plugins/unified_search/public/filters_builder/filter_group.tsx @@ -100,6 +100,7 @@ export const FilterGroup = ({ const showDelimiter = booleanRelation && index + 1 < arrayRef.length; return ( @@ -28,7 +32,7 @@ export const strings = { }), }; -interface AddFilterPopoverProps { +interface AddFilterPopoverProps extends WithCloseFilterEditorConfirmModalProps { indexPatterns?: Array; filters: Filter[]; timeRangeForSuggestionsOverride?: boolean; @@ -37,16 +41,19 @@ interface AddFilterPopoverProps { buttonProps?: Partial; } -export const AddFilterPopover = React.memo(function AddFilterPopover({ +const AddFilterPopoverComponent = React.memo(function AddFilterPopover({ indexPatterns, filters, timeRangeForSuggestionsOverride, onFiltersUpdated, buttonProps, isDisabled, + onCloseFilterPopover, + onLocalFilterUpdate, + onLocalFilterCreate, }: AddFilterPopoverProps) { const euiTheme = useEuiTheme(); - const [isAddFilterPopoverOpen, setIsAddFilterPopoverOpen] = useState(false); + const [showAddFilterPopover, setShowAddFilterPopover] = useState(false); const button = ( @@ -55,7 +62,7 @@ export const AddFilterPopover = React.memo(function AddFilterPopover({ iconType="plusInCircleFilled" aria-label={strings.getAddFilterButtonLabel()} data-test-subj="addFilter" - onClick={() => setIsAddFilterPopoverOpen((isOpen) => !isOpen)} + onClick={() => setShowAddFilterPopover((isOpen) => !isOpen)} size="m" disabled={isDisabled} {...buttonProps} @@ -64,13 +71,17 @@ export const AddFilterPopover = React.memo(function AddFilterPopover({ ); + const closePopover = useCallback(() => { + onCloseFilterPopover([() => setShowAddFilterPopover(false)]); + }, [onCloseFilterPopover]); + return ( setIsAddFilterPopoverOpen(false)} + isOpen={showAddFilterPopover} + closePopover={closePopover} anchorPosition="downLeft" panelPaddingSize="none" panelProps={{ @@ -86,9 +97,16 @@ export const AddFilterPopover = React.memo(function AddFilterPopover({ filters={filters} timeRangeForSuggestionsOverride={timeRangeForSuggestionsOverride} onFiltersUpdated={onFiltersUpdated} - closePopover={() => setIsAddFilterPopoverOpen(false)} + onLocalFilterUpdate={onLocalFilterUpdate} + onLocalFilterCreate={onLocalFilterCreate} + closePopoverOnAdd={() => { + setShowAddFilterPopover(false); + }} + closePopoverOnCancel={closePopover} /> ); }); + +export const AddFilterPopover = withCloseFilterEditorConfirmModal(AddFilterPopoverComponent); diff --git a/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx b/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx index 0016a9b587191..86933bc2a57ad 100644 --- a/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx +++ b/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useRef } from 'react'; import { Filter, buildEmptyFilter } from '@kbn/es-query'; import { METRIC_TYPE } from '@kbn/analytics'; import { useKibana } from '@kbn/kibana-react-plugin/public'; @@ -17,21 +17,34 @@ import { FILTER_EDITOR_WIDTH } from '../filter_bar/filter_item/filter_item'; import { FilterEditor } from '../filter_bar/filter_editor'; import { fetchIndexPatterns } from './fetch_index_patterns'; +interface QueryDslFilter { + queryDsl: string; + customLabel: string | null; +} + interface FilterEditorWrapperProps { indexPatterns?: Array; filters: Filter[]; timeRangeForSuggestionsOverride?: boolean; - closePopover?: () => void; + closePopoverOnAdd?: () => void; + closePopoverOnCancel?: () => void; onFiltersUpdated?: (filters: Filter[]) => void; + onLocalFilterUpdate?: (filter: Filter | QueryDslFilter) => void; + onLocalFilterCreate?: (initialState: { filter: Filter; queryDslFilter: QueryDslFilter }) => void; } export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({ indexPatterns, filters, timeRangeForSuggestionsOverride, - closePopover, + closePopoverOnAdd, + closePopoverOnCancel, onFiltersUpdated, + onLocalFilterUpdate, + onLocalFilterCreate, }: FilterEditorWrapperProps) { + const fetchIndexAbortController = useRef(); + const kibana = useKibana(); const { uiSettings, data, usageCollection, appName } = kibana.services; const reportUiCounter = usageCollection?.reportUiCounter.bind(usageCollection, appName); @@ -39,6 +52,14 @@ export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({ const [newFilter, setNewFilter] = useState(undefined); const isPinned = uiSettings!.get(UI_SETTINGS.FILTERS_PINNED_BY_DEFAULT); + useEffect(() => { + fetchIndexAbortController.current = new AbortController(); + + return () => { + fetchIndexAbortController.current?.abort(); + }; + }, []); + useEffect(() => { const fetchDataViews = async () => { const stringPatterns = indexPatterns?.filter( @@ -48,24 +69,31 @@ export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({ (indexPattern) => typeof indexPattern !== 'string' ) as DataView[]; + fetchIndexAbortController.current?.abort(); + fetchIndexAbortController.current = new AbortController(); + const currentFetchIndexAbortController = fetchIndexAbortController.current; + const objectPatternsFromStrings = (await fetchIndexPatterns( data.dataViews, stringPatterns.map((value) => ({ type: 'title', value })) )) as DataView[]; - setDataviews([...objectPatterns, ...objectPatternsFromStrings]); - const [dataView] = [...objectPatterns, ...objectPatternsFromStrings]; - const index = dataView && dataView.id; - const emptyFilter = buildEmptyFilter(isPinned, index); - setNewFilter(emptyFilter); + + if (!currentFetchIndexAbortController.signal.aborted) { + setDataviews([...objectPatterns, ...objectPatternsFromStrings]); + const [dataView] = [...objectPatterns, ...objectPatternsFromStrings]; + const index = dataView && dataView.id; + const emptyFilter = buildEmptyFilter(isPinned, index); + setNewFilter(emptyFilter); + } }; if (indexPatterns) { fetchDataViews(); } - }, [data.dataViews, indexPatterns, isPinned]); + }, [data.dataViews, indexPatterns, onLocalFilterCreate, onLocalFilterUpdate, isPinned]); function onAdd(filter: Filter) { reportUiCounter?.(METRIC_TYPE.CLICK, `filter:added`); - closePopover?.(); + closePopoverOnAdd?.(); const updatedFilters = [...filters, filter]; onFiltersUpdated?.(updatedFilters); } @@ -74,13 +102,15 @@ export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({
{newFilter && ( closePopover?.()} key={JSON.stringify(newFilter)} + onSubmit={onAdd} + onCancel={() => closePopoverOnCancel?.()} + onLocalFilterUpdate={onLocalFilterUpdate} + onLocalFilterCreate={onLocalFilterCreate} timeRangeForSuggestionsOverride={timeRangeForSuggestionsOverride} - mode="add" /> )}
diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_menu.test.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_menu.test.tsx index 224957e25a41d..839983c9c6b32 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_menu.test.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_menu.test.tsx @@ -94,6 +94,9 @@ describe('Querybar Menu component', () => { props = { language: 'kuery', onQueryChange: jest.fn(), + onCloseFilterPopover: jest.fn(), + onLocalFilterUpdate: jest.fn(), + onLocalFilterCreate: jest.fn(), onQueryBarSubmit: jest.fn(), toggleFilterBarMenuPopover: jest.fn(), openQueryBarMenu: false, diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_menu.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_menu.tsx index da3ecd7771cbf..4a31214d2f6ae 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_menu.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_menu.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useCallback } from 'react'; import { EuiButtonIcon, EuiContextMenu, @@ -24,6 +24,10 @@ import type { SavedQueryService, SavedQuery } from '@kbn/data-plugin/public'; import { QueryBarMenuPanels, QueryBarMenuPanelsProps } from './query_bar_menu_panels'; import { FilterEditorWrapper } from './filter_editor_wrapper'; import { popoverDragAndDropCss } from './add_filter_popover.styles'; +import { + withCloseFilterEditorConfirmModal, + WithCloseFilterEditorConfirmModalProps, +} from '../filter_bar/filter_editor'; export const strings = { getFilterSetButtonLabel: () => @@ -32,7 +36,7 @@ export const strings = { }), }; -export interface QueryBarMenuProps { +export interface QueryBarMenuProps extends WithCloseFilterEditorConfirmModalProps { language: string; onQueryChange: (payload: { dateRange: TimeRange; query?: Query }) => void; onQueryBarSubmit: (payload: { dateRange: TimeRange; query?: Query }) => void; @@ -60,7 +64,7 @@ export interface QueryBarMenuProps { isDisabled?: boolean; } -export function QueryBarMenu({ +function QueryBarMenuComponent({ language, nonKqlMode, dateRangeFrom, @@ -86,8 +90,12 @@ export function QueryBarMenu({ timeRangeForSuggestionsOverride, buttonProps, isDisabled, + onCloseFilterPopover, + onLocalFilterCreate, + onLocalFilterUpdate, }: QueryBarMenuProps) { const [renderedComponent, setRenderedComponent] = useState('menu'); + const euiTheme = useEuiTheme(); useEffect(() => { @@ -96,17 +104,23 @@ export function QueryBarMenu({ } }, [openQueryBarMenu]); + const plainClosePopover = useCallback( + () => toggleFilterBarMenuPopover(false), + [toggleFilterBarMenuPopover] + ); + + const closePopover = useCallback(() => { + onCloseFilterPopover([plainClosePopover]); + }, [onCloseFilterPopover, plainClosePopover]); + const normalContextMenuPopoverId = useGeneratedHtmlId({ prefix: 'normalContextMenuPopover', }); + const onButtonClick = () => { toggleFilterBarMenuPopover(!openQueryBarMenu); }; - const closePopover = () => { - toggleFilterBarMenuPopover(false); - }; - const button = ( , ]} /> @@ -186,7 +204,7 @@ export function QueryBarMenu({ id={normalContextMenuPopoverId} button={button} isOpen={openQueryBarMenu} - closePopover={closePopover} + closePopover={renderedComponent === 'addFilter' ? closePopover : plainClosePopover} panelPaddingSize="none" anchorPosition="downLeft" repositionOnScroll @@ -200,3 +218,5 @@ export function QueryBarMenu({ ); } + +export const QueryBarMenu = withCloseFilterEditorConfirmModal(QueryBarMenuComponent); diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx index d13a0b0e8a261..d4d35f2545b73 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx @@ -29,7 +29,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { TimeHistoryContract, getQueryLog } from '@kbn/data-plugin/public'; -import { DataView } from '@kbn/data-views-plugin/public'; +import type { DataView } from '@kbn/data-views-plugin/public'; import type { PersistedLog } from '@kbn/data-plugin/public'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { UI_SETTINGS } from '@kbn/data-plugin/common'; @@ -43,6 +43,7 @@ import { DataViewPickerProps, OnSaveTextLanguageQueryProps, } from '../dataview_picker'; + import { FilterButtonGroup } from '../filter_bar/filter_button_group/filter_button_group'; import type { SuggestionsListSize } from '../typeahead/suggestions_component'; import { TextBasedLanguagesEditor } from './text_based_languages_editor'; diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx index c9baf17eeec8d..ff7237e059925 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx +++ b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx @@ -21,6 +21,9 @@ import { EuiDescriptionListDescription, } from '@elastic/eui'; import { Interpolation, Theme, css } from '@emotion/react'; +import { css as classNameCss } from '@emotion/css'; + +import type { MonacoError } from './helpers'; const isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0; const COMMAND_KEY = isMac ? '⌘' : '^'; @@ -28,13 +31,17 @@ const COMMAND_KEY = isMac ? '⌘' : '^'; interface EditorFooterProps { lines: number; containerCSS: Interpolation; - errors?: Array<{ startLineNumber: number; message: string }>; + errors?: MonacoError[]; + onErrorClick: (error: MonacoError) => void; + refreshErrors: () => void; } export const EditorFooter = memo(function EditorFooter({ lines, containerCSS, errors, + onErrorClick, + refreshErrors, }: EditorFooterProps) { const [isPopoverOpen, setIsPopoverOpen] = useState(false); return ( @@ -75,7 +82,10 @@ export const EditorFooter = memo(function EditorFooter({ text-decoration: underline; } `} - onClick={() => setIsPopoverOpen(!isPopoverOpen)} + onClick={() => { + refreshErrors(); + setIsPopoverOpen(!isPopoverOpen); + }} >

{i18n.translate( @@ -104,7 +114,15 @@ export const EditorFooter = memo(function EditorFooter({ {errors.map((error, index) => { return ( - + onErrorClick(error)} + > diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts index 191b82f5817a3..58e603fa62d4f 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts +++ b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts @@ -11,6 +11,15 @@ import useDebounce from 'react-use/lib/useDebounce'; import { monaco } from '@kbn/monaco'; import { i18n } from '@kbn/i18n'; +export interface MonacoError { + message: string; + startColumn: number; + startLineNumber: number; + endColumn: number; + endLineNumber: number; + severity: monaco.MarkerSeverity; +} + export const useDebounceWithOptions = ( fn: Function, { skipFirstRender }: { skipFirstRender: boolean } = { skipFirstRender: false }, @@ -33,7 +42,7 @@ export const useDebounceWithOptions = ( ); }; -export const parseErrors = (errors: Error[], code: string) => { +export const parseErrors = (errors: Error[], code: string): MonacoError[] => { return errors.map((error) => { if (error.message.includes('line')) { const text = error.message.split('line')[1]; diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx index ab9e8b0374783..18f08bfa750eb 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx +++ b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx @@ -43,12 +43,13 @@ import { parseErrors, getInlineEditorText, getDocumentationSections, + MonacoError, } from './helpers'; import { EditorFooter } from './editor_footer'; import { ResizableButton } from './resizable_button'; import './overwrite.scss'; -import { IUnifiedSearchPluginServices } from '../../types'; +import type { IUnifiedSearchPluginServices } from '../../types'; export interface TextBasedLanguagesEditorProps { query: AggregateQuery; @@ -103,9 +104,7 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ const [isCompactFocused, setIsCompactFocused] = useState(isCodeEditorExpanded); const [isCodeEditorExpandedFocused, setIsCodeEditorExpandedFocused] = useState(false); const [isWordWrapped, setIsWordWrapped] = useState(true); - const [editorErrors, setEditorErrors] = useState< - Array<{ startLineNumber: number; message: string }> - >([]); + const [editorErrors, setEditorErrors] = useState([]); const [documentationSections, setDocumentationSections] = useState(); const kibana = useKibana(); @@ -241,6 +240,19 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ [errors] ); + const onErrorClick = useCallback(({ startLineNumber, startColumn }: MonacoError) => { + if (!editor1.current) { + return; + } + + editor1.current.focus(); + editor1.current.setPosition({ + lineNumber: startLineNumber, + column: startColumn, + }); + editor1.current.revealLine(startLineNumber); + }, []); + // Clean up the monaco editor and DOM on unmount useEffect(() => { const model = editorModel; @@ -337,8 +349,8 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ overviewRulerLanes: 0, hideCursorInOverviewRuler: true, scrollbar: { - vertical: 'hidden', horizontal: 'hidden', + vertical: 'auto', }, overviewRulerBorder: false, readOnly: isDisabled, @@ -456,7 +468,12 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ )} - + {(resizeRef) => ( )} @@ -577,7 +596,13 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ )} {isCodeEditorExpanded && ( - + )} {isCodeEditorExpanded && ( ( return (payload: { dateRange: TimeRange; query?: QT | Query }) => { const isUpdate = - !_.isEqual(timefilter.getTime(), payload.dateRange) || - !_.isEqual(payload.query, currentQuery); + !isEqual(timefilter.getTime(), payload.dateRange) || !isEqual(payload.query, currentQuery); if (isUpdate) { timefilter.setTime(payload.dateRange); if (payload.query) { diff --git a/src/plugins/unified_search/public/search_bar/index.tsx b/src/plugins/unified_search/public/search_bar/index.tsx index 3a32ccb982147..eb65b81574c20 100644 --- a/src/plugins/unified_search/public/search_bar/index.tsx +++ b/src/plugins/unified_search/public/search_bar/index.tsx @@ -7,7 +7,7 @@ */ import React from 'react'; -import { AggregateQuery, Query } from '@kbn/es-query'; +import type { AggregateQuery, Query } from '@kbn/es-query'; import type { SearchBarProps } from './search_bar'; const Fallback = () =>

; @@ -24,4 +24,3 @@ const WrappedSearchBar = ( export const SearchBar = WrappedSearchBar; export type { StatefulSearchBarProps } from './create_search_bar'; export type { SearchBarProps, SearchBarOwnProps } from './search_bar'; -export { createSearchBar } from './create_search_bar'; diff --git a/src/plugins/unified_search/public/search_bar/lib/clear_saved_query.ts b/src/plugins/unified_search/public/search_bar/lib/clear_saved_query.ts index dfe90be4cf0d1..5d1d06c671a63 100644 --- a/src/plugins/unified_search/public/search_bar/lib/clear_saved_query.ts +++ b/src/plugins/unified_search/public/search_bar/lib/clear_saved_query.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { QueryStart } from '@kbn/data-plugin/public'; +import type { QueryStart } from '@kbn/data-plugin/public'; export const clearStateFromSavedQuery = (queryService: QueryStart) => { queryService.filterManager.removeAll(); diff --git a/src/plugins/unified_search/public/search_bar/lib/populate_state_from_saved_query.ts b/src/plugins/unified_search/public/search_bar/lib/populate_state_from_saved_query.ts index cf53433f32c55..f326fc60a91ca 100644 --- a/src/plugins/unified_search/public/search_bar/lib/populate_state_from_saved_query.ts +++ b/src/plugins/unified_search/public/search_bar/lib/populate_state_from_saved_query.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { QueryStart, SavedQuery } from '@kbn/data-plugin/public'; +import type { QueryStart, SavedQuery } from '@kbn/data-plugin/public'; export const populateStateFromSavedQuery = (queryService: QueryStart, savedQuery: SavedQuery) => { const { diff --git a/src/plugins/unified_search/public/search_bar/lib/use_filter_manager.ts b/src/plugins/unified_search/public/search_bar/lib/use_filter_manager.ts index a6d0487cb90c7..8edcf60d97752 100644 --- a/src/plugins/unified_search/public/search_bar/lib/use_filter_manager.ts +++ b/src/plugins/unified_search/public/search_bar/lib/use_filter_manager.ts @@ -8,7 +8,7 @@ import { useState, useEffect } from 'react'; import { Subscription } from 'rxjs'; -import { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import type { Filter } from '@kbn/es-query'; interface UseFilterManagerProps { diff --git a/src/plugins/unified_search/public/search_bar/lib/use_saved_query.ts b/src/plugins/unified_search/public/search_bar/lib/use_saved_query.ts index 7e8b41c73fcfd..b6a39d63d216e 100644 --- a/src/plugins/unified_search/public/search_bar/lib/use_saved_query.ts +++ b/src/plugins/unified_search/public/search_bar/lib/use_saved_query.ts @@ -9,9 +9,9 @@ import { useState, useEffect } from 'react'; import { i18n } from '@kbn/i18n'; -import { CoreStart } from '@kbn/core/public'; -import { SavedQuery } from '@kbn/data-plugin/public'; -import { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { CoreStart } from '@kbn/core/public'; +import type { SavedQuery } from '@kbn/data-plugin/public'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { populateStateFromSavedQuery } from './populate_state_from_saved_query'; import { clearStateFromSavedQuery } from './clear_saved_query'; diff --git a/src/plugins/unified_search/public/search_bar/lib/use_timefilter.ts b/src/plugins/unified_search/public/search_bar/lib/use_timefilter.ts index 07a8e0e8ac1b5..ddfff690fce81 100644 --- a/src/plugins/unified_search/public/search_bar/lib/use_timefilter.ts +++ b/src/plugins/unified_search/public/search_bar/lib/use_timefilter.ts @@ -8,7 +8,7 @@ import { useState, useEffect } from 'react'; import { Subscription } from 'rxjs'; -import { DataPublicPluginStart, RefreshInterval } from '@kbn/data-plugin/public'; +import type { DataPublicPluginStart, RefreshInterval } from '@kbn/data-plugin/public'; import type { TimeRange } from '@kbn/es-query'; interface UseTimefilterProps { diff --git a/src/plugins/unified_search/tsconfig.json b/src/plugins/unified_search/tsconfig.json index 7477e97c779c9..0a4ab525d04b7 100644 --- a/src/plugins/unified_search/tsconfig.json +++ b/src/plugins/unified_search/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", @@ -13,14 +11,35 @@ "config.ts", ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../data_view_editor/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../usage_collection/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/data-view-editor-plugin", + "@kbn/embeddable-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/field-formats-plugin", + "@kbn/es-query", + "@kbn/i18n-react", + "@kbn/screenshot-mode-plugin", + "@kbn/ui-actions-plugin", + "@kbn/i18n", + "@kbn/test-jest-helpers", + "@kbn/shared-ux-utility", + "@kbn/utility-types", + "@kbn/analytics", + "@kbn/datemath", + "@kbn/monaco", + "@kbn/language-documentation-popover", + "@kbn/field-types", + "@kbn/config", + "@kbn/config-schema", + "@kbn/utility-types-jest", + "@kbn/react-field", + "@kbn/ui-theme", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/url_forwarding/tsconfig.json b/src/plugins/url_forwarding/tsconfig.json index 9a108878e86fb..f4db29b839cf8 100644 --- a/src/plugins/url_forwarding/tsconfig.json +++ b/src/plugins/url_forwarding/tsconfig.json @@ -1,12 +1,13 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*"], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, + "@kbn/core", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/usage_collection/tsconfig.json b/src/plugins/usage_collection/tsconfig.json index 531dde7fd609e..0e663d6c9cb8f 100644 --- a/src/plugins/usage_collection/tsconfig.json +++ b/src/plugins/usage_collection/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "isolatedModules": true }, "include": [ @@ -13,7 +11,17 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../../plugins/kibana_utils/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/analytics", + "@kbn/config-schema", + "@kbn/std", + "@kbn/analytics-client", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/core-http-server-mocks", + ], + "exclude": [ + "target/**/*", ] } \ No newline at end of file diff --git a/src/plugins/vis_default_editor/tsconfig.json b/src/plugins/vis_default_editor/tsconfig.json index 6495253035f69..65d0603523fe1 100644 --- a/src/plugins/vis_default_editor/tsconfig.json +++ b/src/plugins/vis_default_editor/tsconfig.json @@ -1,22 +1,34 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../visualizations/tsconfig.json" }, - { "path": "../discover/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../field_formats/tsconfig.json" }, - { "path": "../unified_search/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/visualizations-plugin", + "@kbn/discover-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/field-formats-plugin", + "@kbn/unified-search-plugin", + "@kbn/data-views-plugin", + "@kbn/i18n", + "@kbn/es-query", + "@kbn/i18n-react", + "@kbn/usage-collection-plugin", + "@kbn/test-jest-helpers", + "@kbn/datemath", + "@kbn/charts-plugin", + "@kbn/coloring", + "@kbn/monaco", + "@kbn/es-ui-shared-plugin", + "@kbn/utility-types", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_type_markdown/tsconfig.json b/src/plugins/vis_type_markdown/tsconfig.json index 3bd790ef80469..73c6d160696ac 100644 --- a/src/plugins/vis_type_markdown/tsconfig.json +++ b/src/plugins/vis_type_markdown/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", @@ -11,10 +9,16 @@ "*.ts" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, - { "path": "../visualizations/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../vis_default_editor/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/kibana-react-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/gauge/tsconfig.json b/src/plugins/vis_types/gauge/tsconfig.json index c94152b4d70df..a681a709f68d5 100644 --- a/src/plugins/vis_types/gauge/tsconfig.json +++ b/src/plugins/vis_types/gauge/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,15 +10,22 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../chart_expressions/expression_gauge/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../chart_expressions/expression_partition_vis/tsconfig.json" } - ] + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/expression-gauge-plugin", + "@kbn/visualizations-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/data-views-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/coloring", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", + ] } \ No newline at end of file diff --git a/src/plugins/vis_types/heatmap/tsconfig.json b/src/plugins/vis_types/heatmap/tsconfig.json index f35697fe36997..970c265198071 100644 --- a/src/plugins/vis_types/heatmap/tsconfig.json +++ b/src/plugins/vis_types/heatmap/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,13 +10,22 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" } - ] + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/usage-collection-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-views-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/test-jest-helpers", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", + ] } \ No newline at end of file diff --git a/src/plugins/vis_types/metric/tsconfig.json b/src/plugins/vis_types/metric/tsconfig.json index f86fa052e0884..4b6f5c5df812e 100644 --- a/src/plugins/vis_types/metric/tsconfig.json +++ b/src/plugins/vis_types/metric/tsconfig.json @@ -1,17 +1,24 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*", "server/**/*", "*.ts"], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/visualizations-plugin", + "@kbn/charts-plugin", + "@kbn/expressions-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/i18n", + "@kbn/data-views-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/coloring", + "@kbn/i18n-react", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/pie/tsconfig.json b/src/plugins/vis_types/pie/tsconfig.json index 6c4dc9eae2541..663d05228ea2c 100644 --- a/src/plugins/vis_types/pie/tsconfig.json +++ b/src/plugins/vis_types/pie/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,14 +10,24 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../usage_collection/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../chart_expressions/expression_partition_vis/tsconfig.json" } - ] + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/usage-collection-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/field-formats-plugin", + "@kbn/expression-partition-vis-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/data-views-plugin", + "@kbn/i18n", + "@kbn/coloring", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", + ] } \ No newline at end of file diff --git a/src/plugins/vis_types/table/tsconfig.json b/src/plugins/vis_types/table/tsconfig.json index 7af02367b7996..f6e296e0e9ecf 100644 --- a/src/plugins/vis_types/table/tsconfig.json +++ b/src/plugins/vis_types/table/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,15 +10,24 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../share/tsconfig.json" }, - { "path": "../../data_views/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../kibana_react/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/visualizations-plugin", + "@kbn/share-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/field-formats-plugin", + "@kbn/usage-collection-plugin", + "@kbn/analytics", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/ui-theme", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/tagcloud/tsconfig.json b/src/plugins/vis_types/tagcloud/tsconfig.json index 0159681d2e198..45cefb2106423 100644 --- a/src/plugins/vis_types/tagcloud/tsconfig.json +++ b/src/plugins/vis_types/tagcloud/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "public/**/*", @@ -11,12 +9,18 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../kibana_react/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/charts-plugin", + "@kbn/kibana-react-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/i18n", + "@kbn/coloring", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/timelion/tsconfig.json b/src/plugins/vis_types/timelion/tsconfig.json index 5a660d5d4d780..7121a7d7078be 100644 --- a/src/plugins/vis_types/timelion/tsconfig.json +++ b/src/plugins/vis_types/timelion/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -13,14 +11,28 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../field_formats/tsconfig.json" }, - { "path": "../../data_views/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../kibana_react/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, + "@kbn/core", + "@kbn/visualizations-plugin", + "@kbn/data-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/charts-plugin", + "@kbn/usage-collection-plugin", + "@kbn/i18n", + "@kbn/es-query", + "@kbn/analytics", + "@kbn/i18n-react", + "@kbn/monaco", + "@kbn/config-schema", + "@kbn/expect", + "@kbn/std", + "@kbn/timelion-grammar", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/timeseries/tsconfig.json b/src/plugins/vis_types/timeseries/tsconfig.json index 1a001beb98517..e87ecc1e3f98f 100644 --- a/src/plugins/vis_types/timeseries/tsconfig.json +++ b/src/plugins/vis_types/timeseries/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "allowJs": true }, "include": [ @@ -14,15 +12,41 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../data_views/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../dashboard/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../kibana_react/tsconfig.json" }, - { "path": "../../unified_search/tsconfig.json" } + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/unified-search-plugin", + "@kbn/i18n", + "@kbn/field-formats-plugin", + "@kbn/datemath", + "@kbn/es-query", + "@kbn/inspector-plugin", + "@kbn/usage-collection-plugin", + "@kbn/core-http-browser", + "@kbn/core-theme-browser", + "@kbn/core-doc-links-browser", + "@kbn/analytics", + "@kbn/i18n-react", + "@kbn/coloring", + "@kbn/test-jest-helpers", + "@kbn/safer-lodash-set", + "@kbn/embeddable-plugin", + "@kbn/handlebars", + "@kbn/rison", + "@kbn/utility-types", + "@kbn/shared-ux-link-redirect-app", + "@kbn/ui-theme", + "@kbn/config-schema", + "@kbn/home-plugin", + "@kbn/std", + "@kbn/tinymath", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/vega/tsconfig.json b/src/plugins/vis_types/vega/tsconfig.json index b942db9888aa9..72358ce021c2b 100644 --- a/src/plugins/vis_types/vega/tsconfig.json +++ b/src/plugins/vis_types/vega/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", "strictNullChecks": false }, "include": [ @@ -16,17 +14,32 @@ "public/test_utils/vega_graph.json", ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../data_views/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../maps_ems/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../inspector/tsconfig.json" }, - { "path": "../../home/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../kibana_react/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, - { "path": "../../es_ui_shared/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/visualizations-plugin", + "@kbn/maps-ems-plugin", + "@kbn/expressions-plugin", + "@kbn/inspector-plugin", + "@kbn/home-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/usage-collection-plugin", + "@kbn/es-query", + "@kbn/analytics", + "@kbn/core-execution-context-common", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/monaco", + "@kbn/utility-types", + "@kbn/ui-theme", + "@kbn/std", + "@kbn/datemath", + "@kbn/mapbox-gl", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/vislib/tsconfig.json b/src/plugins/vis_types/vislib/tsconfig.json index c63a51db242b9..3616b2c7cd8ee 100644 --- a/src/plugins/vis_types/vislib/tsconfig.json +++ b/src/plugins/vis_types/vislib/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -14,14 +12,32 @@ "public/fixtures/dispatch_heatmap_data_point.json", ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../data/tsconfig.json" }, - { "path": "../../expressions/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../vis_types/gauge/tsconfig.json" }, - { "path": "../../vis_types/xy/tsconfig.json" }, - { "path": "../../vis_types/heatmap/tsconfig.json" }, + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/expressions-plugin", + "@kbn/visualizations-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/vis-type-gauge-plugin", + "@kbn/vis-type-xy-plugin", + "@kbn/vis-type-heatmap-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/field-formats-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-react-plugin", + "@kbn/utility-types", + "@kbn/i18n", + "@kbn/core-execution-context-common", + "@kbn/analytics", + "@kbn/test-jest-helpers", + "@kbn/safer-lodash-set", + "@kbn/datemath", + "@kbn/i18n-react", + "@kbn/std", + "@kbn/ui-theme", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/vis_types/xy/tsconfig.json b/src/plugins/vis_types/xy/tsconfig.json index f478d2de1b956..14ed87764e518 100644 --- a/src/plugins/vis_types/xy/tsconfig.json +++ b/src/plugins/vis_types/xy/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,10 +10,21 @@ "*.ts" ], "kbn_references": [ - { "path": "../../../core/tsconfig.json" }, - { "path": "../../charts/tsconfig.json" }, - { "path": "../../visualizations/tsconfig.json" }, - { "path": "../../kibana_utils/tsconfig.json" }, - { "path": "../../vis_default_editor/tsconfig.json" }, + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/visualizations-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/vis-default-editor-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/i18n", + "@kbn/data-plugin", + "@kbn/coloring", + "@kbn/test-jest-helpers", + "@kbn/i18n-react", + "@kbn/config-schema", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/plugins/visualizations/public/plugin.ts b/src/plugins/visualizations/public/plugin.ts index 6628bd8a2208e..291b20028917b 100644 --- a/src/plugins/visualizations/public/plugin.ts +++ b/src/plugins/visualizations/public/plugin.ts @@ -23,8 +23,8 @@ import { createStartServicesGetter, Storage, withNotifyOnErrors, - replaceUrlHashQuery, } from '@kbn/kibana-utils-plugin/public'; +import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/common'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; diff --git a/src/plugins/visualizations/tsconfig.json b/src/plugins/visualizations/tsconfig.json index 7f00434c6181e..9b73af16bb4bb 100644 --- a/src/plugins/visualizations/tsconfig.json +++ b/src/plugins/visualizations/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "common/**/*", @@ -12,26 +10,48 @@ "../../../typings/**/*" ], "kbn_references": [ - { "path": "../../core/tsconfig.json" }, - { "path": "../charts/tsconfig.json" }, - { "path": "../data/tsconfig.json" }, - { "path": "../data_views/tsconfig.json" }, - { "path": "../expressions/tsconfig.json" }, - { "path": "../ui_actions/tsconfig.json" }, - { "path": "../embeddable/tsconfig.json" }, - { "path": "../inspector/tsconfig.json" }, - { "path": "../saved_objects/tsconfig.json" }, - { "path": "../saved_objects_tagging_oss/tsconfig.json" }, - { "path": "../kibana_utils/tsconfig.json" }, - { "path": "../kibana_react/tsconfig.json" }, - { "path": "../saved_search/tsconfig.json" }, - { "path": "../url_forwarding/tsconfig.json" }, - { "path": "../navigation/tsconfig.json" }, - { "path": "../home/tsconfig.json" }, - { "path": "../share/tsconfig.json" }, - { "path": "../data_view_editor/tsconfig.json" }, - { "path": "../presentation_util/tsconfig.json" }, - { "path": "../screenshot_mode/tsconfig.json" }, - { "path": "../../../x-pack/plugins/spaces/tsconfig.json" } + "@kbn/core", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/expressions-plugin", + "@kbn/ui-actions-plugin", + "@kbn/embeddable-plugin", + "@kbn/inspector-plugin", + "@kbn/saved-objects-plugin", + "@kbn/saved-objects-tagging-oss-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/saved-search-plugin", + "@kbn/url-forwarding-plugin", + "@kbn/navigation-plugin", + "@kbn/home-plugin", + "@kbn/share-plugin", + "@kbn/data-view-editor-plugin", + "@kbn/presentation-util-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/spaces-plugin", + "@kbn/es-query", + "@kbn/utility-types", + "@kbn/field-formats-plugin", + "@kbn/rison", + "@kbn/i18n", + "@kbn/coloring", + "@kbn/unified-search-plugin", + "@kbn/shared-ux-link-redirect-app", + "@kbn/i18n-react", + "@kbn/safer-lodash-set", + "@kbn/shared-ux-page-analytics-no-data", + "@kbn/content-management-table-list", + "@kbn/test-jest-helpers", + "@kbn/analytics", + "@kbn/content-management-content-editor", + "@kbn/core-saved-objects-api-browser", + "@kbn/core-overlays-browser", + "@kbn/config-schema", + "@kbn/usage-collection-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/src/setup_node_env/dist.js b/src/setup_node_env/dist.js index 3628a27a7793f..5beed583cf830 100644 --- a/src/setup_node_env/dist.js +++ b/src/setup_node_env/dist.js @@ -6,5 +6,6 @@ * Side Public License, v 1. */ -require('./no_transpilation_dist'); +// the dist env setup does not include babel/register, just the polyfill +require('./setup_env'); require('./polyfill'); diff --git a/src/setup_node_env/ensure_node_preserve_symlinks.js b/src/setup_node_env/ensure_node_preserve_symlinks.js deleted file mode 100644 index 5ec286801bdc4..0000000000000 --- a/src/setup_node_env/ensure_node_preserve_symlinks.js +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -(function () { - var cp = require('child_process'); - - var calculateInspectPortOnExecArgv = function (processExecArgv) { - var execArgv = [].concat(processExecArgv); - - if (execArgv.length === 0) { - return execArgv; - } - - var inspectFlagIndex = execArgv.reverse().findIndex(function (flag) { - return flag.startsWith('--inspect'); - }); - - if (inspectFlagIndex !== -1) { - var inspectFlag; - var inspectPortCounter = 9230; - var argv = execArgv[inspectFlagIndex]; - - if (argv.includes('=')) { - // --inspect=port - var argvSplit = argv.split('='); - var flag = argvSplit[0]; - var port = argvSplit[1]; - inspectFlag = flag; - inspectPortCounter = Number.parseInt(port, 10) + 1; - } else { - // --inspect - inspectFlag = argv; - - // is number? - if (String(execArgv[inspectFlagIndex + 1]).match(/^[0-9]+$/)) { - // --inspect port - inspectPortCounter = Number.parseInt(execArgv[inspectFlagIndex + 1], 10) + 1; - execArgv.slice(inspectFlagIndex + 1, 1); - } - } - - execArgv[inspectFlagIndex] = inspectFlag + '=' + inspectPortCounter; - } - - return execArgv; - }; - - var preserveSymlinksOption = '--preserve-symlinks'; - var preserveSymlinksMainOption = '--preserve-symlinks-main'; - var nodeOptions = (process && process.env && process.env.NODE_OPTIONS) || []; - var nodeExecArgv = calculateInspectPortOnExecArgv((process && process.execArgv) || []); - - var isPreserveSymlinksPresent = - nodeOptions.includes(preserveSymlinksOption) || nodeExecArgv.includes(preserveSymlinksOption); - var isPreserveSymlinksMainPresent = - nodeOptions.includes(preserveSymlinksMainOption) || - nodeExecArgv.includes(preserveSymlinksMainOption); - - if (isPreserveSymlinksPresent && isPreserveSymlinksMainPresent) { - return; - } - - var nodeArgv = (process && process.argv) || []; - var isFirstArgNode = nodeArgv.length > 0 && nodeArgv[0].includes('node') ? nodeArgv[0] : null; - if (!isFirstArgNode) { - return; - } - - var missingNodeArgs = []; - if (!isPreserveSymlinksMainPresent) { - missingNodeArgs.push(preserveSymlinksMainOption); - } - - if (!isPreserveSymlinksPresent) { - missingNodeArgs.push(preserveSymlinksOption); - } - - var nodeArgs = nodeExecArgv.concat(missingNodeArgs); - var restArgs = nodeArgv.length >= 2 ? nodeArgv.slice(1, nodeArgv.length) : []; - - var getExitCodeFromSpawnResult = function (spawnResult) { - if (spawnResult.status !== null) { - return spawnResult.status; - } - - if (spawnResult.signal !== null) { - console.log( - 'ensure_node_preserve_symlinks wrapper: process exitted with signal', - spawnResult.signal - ); - return 1; - } - - if (spawnResult.error) { - console.log( - 'ensure_node_preserve_symlinks wrapper: process exitted with error', - spawnResult.error - ); - return 1; - } - - return 0; - }; - - // Since we are using `stdio: inherit`, the child process will receive - // the `SIGINT` and `SIGTERM` from the terminal. - // However, we want the parent process not to exit until the child does. - // Adding the following handlers achieves that. - process.on('SIGINT', function () {}); - process.on('SIGTERM', function () {}); - - var spawnResult = cp.spawnSync(nodeArgv[0], nodeArgs.concat(restArgs), { stdio: 'inherit' }); - process.exit(getExitCodeFromSpawnResult(spawnResult)); -})(); diff --git a/src/setup_node_env/index.js b/src/setup_node_env/index.js index 9ce60766997cc..ca843aff501ee 100644 --- a/src/setup_node_env/index.js +++ b/src/setup_node_env/index.js @@ -6,6 +6,7 @@ * Side Public License, v 1. */ -require('./no_transpilation'); -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); +// development env setup includes babel/register after the env is initialized +require('./setup_env'); +require('@kbn/babel-register').install(); +require('./polyfill'); diff --git a/src/setup_node_env/no_transpilation.js b/src/setup_node_env/no_transpilation.js deleted file mode 100644 index b9497734b40bc..0000000000000 --- a/src/setup_node_env/no_transpilation.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('./ensure_node_preserve_symlinks'); -require('./no_transpilation_dist'); diff --git a/src/setup_node_env/no_transpilation_dist.js b/src/setup_node_env/no_transpilation_dist.js deleted file mode 100644 index c52eba70f4ad3..0000000000000 --- a/src/setup_node_env/no_transpilation_dist.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -// The following require statements MUST be executed before any others - BEGIN -require('./exit_on_warning'); -require('./harden'); -// The following require statements MUST be executed before any others - END - -require('symbol-observable'); -require('source-map-support/register'); -require('./node_version_validator'); diff --git a/src/setup_node_env/polyfill.js b/src/setup_node_env/polyfill.js deleted file mode 100644 index 465f9fef734f9..0000000000000 --- a/src/setup_node_env/polyfill.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -require('core-js/stable'); diff --git a/src/setup_node_env/polyfill.ts b/src/setup_node_env/polyfill.ts new file mode 100644 index 0000000000000..0c69256698a15 --- /dev/null +++ b/src/setup_node_env/polyfill.ts @@ -0,0 +1,12 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// require these polyfills after setting up the require hook so that @babel/preset-env +// will spot the import in the polyfill file and replace it with the necessary polyfills +// for the current node.js version +import 'core-js/stable'; diff --git a/src/setup_node_env/setup_env.js b/src/setup_node_env/setup_env.js new file mode 100644 index 0000000000000..08897eb5a78c5 --- /dev/null +++ b/src/setup_node_env/setup_env.js @@ -0,0 +1,16 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// The following require statements MUST be executed before any others - BEGIN +require('./exit_on_warning'); +require('./harden'); +// The following require statements MUST be executed before any others - END + +require('symbol-observable'); +require('source-map-support').install(); +require('./node_version_validator'); diff --git a/src/setup_node_env/tsconfig.json b/src/setup_node_env/tsconfig.json index c7c05f89d04a6..ed753806b9f4f 100644 --- a/src/setup_node_env/tsconfig.json +++ b/src/setup_node_env/tsconfig.json @@ -1,16 +1,19 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "harden/**/*", "root/**/*", "*.js", + "*.ts", ], "kbn_references": [ { "path": "../../tsconfig.json" }, + "@kbn/babel-register", + ], + "exclude": [ + "target/**/*", ] } diff --git a/test/accessibility/apps/discover.ts b/test/accessibility/apps/discover.ts index 252b1770d0dca..5ffd1ed65e945 100644 --- a/test/accessibility/apps/discover.ts +++ b/test/accessibility/apps/discover.ts @@ -10,6 +10,7 @@ import { FtrProviderContext } from '../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'discover', 'header', 'share', 'timePicker']); + const dataGrid = getService('dataGrid'); const a11y = getService('a11y'); const savedQueryManagementComponent = getService('savedQueryManagementComponent'); const inspector = getService('inspector'); @@ -17,9 +18,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const TEST_COLUMN_NAMES = ['dayOfWeek', 'DestWeather']; const toasts = getService('toasts'); const browser = getService('browser'); + const retry = getService('retry'); - // FLAKY: https://github.com/elastic/kibana/issues/147186 - describe.skip('Discover a11y tests', () => { + describe('Discover a11y tests', () => { before(async () => { await PageObjects.common.navigateToApp('discover'); await PageObjects.timePicker.setCommonlyUsedTime('Last_7 days'); @@ -127,15 +128,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('a11y test for data-grid table with columns', async () => { - await testSubjects.click('toggleColumnButton-Cancelled'); - if (await testSubjects.exists('openFieldActionsButton-Carrier')) { - await testSubjects.click('openFieldActionsButton-Carrier'); - } else { - await testSubjects.existOrFail('fieldActionsGroup-Carrier'); - } - await testSubjects.click('toggleColumnButton-Carrier'); - await testSubjects.click('euiFlyoutCloseButton'); - await toasts.dismissAllToasts(); + await retry.try(async () => { + await dataGrid.clickFieldActionInFlyout('Cancelled', 'toggleColumnButton'); + }); + + await retry.try(async () => { + await dataGrid.clickFieldActionInFlyout('Carrier', 'toggleColumnButton'); + }); + + await retry.try(async () => { + await testSubjects.click('euiFlyoutCloseButton'); + await toasts.dismissAllToasts(); + }); + await a11y.testAppSnapshot(); }); diff --git a/test/analytics/fixtures/plugins/analytics_ftr_helpers/tsconfig.json b/test/analytics/fixtures/plugins/analytics_ftr_helpers/tsconfig.json index 7231438f0b0e0..f39686d7e098f 100644 --- a/test/analytics/fixtures/plugins/analytics_ftr_helpers/tsconfig.json +++ b/test/analytics/fixtures/plugins/analytics_ftr_helpers/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "index.ts", @@ -10,8 +10,13 @@ "server/**/*.ts", "../../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/analytics-client", + "@kbn/std", + "@kbn/config-schema", ] } diff --git a/test/analytics/fixtures/plugins/analytics_plugin_a/tsconfig.json b/test/analytics/fixtures/plugins/analytics_plugin_a/tsconfig.json index 483252cfa6fd9..6a3e9e40e3890 100644 --- a/test/analytics/fixtures/plugins/analytics_plugin_a/tsconfig.json +++ b/test/analytics/fixtures/plugins/analytics_plugin_a/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "index.ts", @@ -9,8 +9,11 @@ "server/**/*.ts", "../../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", ] } diff --git a/test/analytics/tests/analytics_from_the_browser.ts b/test/analytics/tests/analytics_from_the_browser.ts index 9636e1854b0c1..3e577b7612c36 100644 --- a/test/analytics/tests/analytics_from_the_browser.ts +++ b/test/analytics/tests/analytics_from_the_browser.ts @@ -172,6 +172,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should call flush when using the window-exposed flush method', async () => { await browser.execute(() => window.__kbnAnalytics.flush()); + // @ts-ignore-next-line Property 'getFlushAction' does not exist on type '{ getActionsUntilReportTestPluginLifecycleEvent: const action = await browser.execute(() => window.__analyticsPluginA__.getFlushAction()); expect(action).to.eql({ action: 'flush', meta: {} }); }); diff --git a/test/examples/config.js b/test/examples/config.js index 836f21f260e0b..75ac7c44a54f4 100644 --- a/test/examples/config.js +++ b/test/examples/config.js @@ -9,7 +9,7 @@ import { resolve } from 'path'; import { services } from '../plugin_functional/services'; import fs from 'fs'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; export default async function ({ readConfigFile }) { const functionalConfig = await readConfigFile(require.resolve('../functional/config.base.js')); diff --git a/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts b/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts index 2de9dfb366440..0b7bcda180733 100644 --- a/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts +++ b/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts @@ -22,8 +22,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const dashboardVisualizations = getService('dashboardVisualizations'); const dashboardExpect = getService('dashboardExpect'); - // Failing: See https://github.com/elastic/kibana/issues/147626 - describe.skip('create and add embeddables', () => { + describe('create and add embeddables', () => { before(async () => { await kibanaServer.savedObjects.cleanStandardList(); await kibanaServer.importExport.load( diff --git a/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts b/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts index 8c3579070dad5..6a6294d1869d1 100644 --- a/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts +++ b/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts @@ -21,8 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const unsavedDashboardTitle = 'New Dashboard'; const newDashboartTitle = 'A Wild Dashboard'; - // Failing: See https://github.com/elastic/kibana/issues/147634 - describe.skip('dashboard unsaved listing', () => { + describe('dashboard unsaved listing', () => { const addSomePanels = async () => { // add an area chart by value await dashboardAddPanel.clickEditorMenuButton(); @@ -151,6 +150,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.dashboard.waitForRenderComplete(); + // wait for the unsaved changes badge to appear. + await PageObjects.dashboard.expectUnsavedChangesBadge(); + // ensure that the unsaved listing exists await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.header.waitUntilLoadingHasFinished(); diff --git a/test/functional/apps/dashboard_elements/controls/control_group_chaining.ts b/test/functional/apps/dashboard_elements/controls/control_group_chaining.ts index 652864471a04a..b70404f1338bf 100644 --- a/test/functional/apps/dashboard_elements/controls/control_group_chaining.ts +++ b/test/functional/apps/dashboard_elements/controls/control_group_chaining.ts @@ -6,9 +6,12 @@ * Side Public License, v 1. */ +import { pick } from 'lodash'; + import expect from '@kbn/expect'; import { OPTIONS_LIST_CONTROL } from '@kbn/controls-plugin/common'; +import { OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS } from '../../../page_objects/dashboard_page_controls'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { @@ -27,20 +30,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const newDocuments: Array<{ index: string; id: string }> = []; let controlIds: string[]; - const ensureAvailableOptionsEql = async ( - controlId: string, - expectation: string[], - filterOutExists: boolean = true - ) => { - await dashboardControls.optionsListOpenPopover(controlId); - await retry.try(async () => { - expect( - await dashboardControls.optionsListPopoverGetAvailableOptions(filterOutExists) - ).to.eql(expectation); - }); - await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); - }; - const addDocument = async (index: string, document: string) => { await console.enterRequest('\nPOST ' + index + '/_doc/ \n{\n ' + document); await console.clickPlay(); @@ -121,16 +110,31 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListPopoverSelectOption('cat'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[0]); - await ensureAvailableOptionsEql(controlIds[1], ['Tiger', 'sylvester']); - await ensureAvailableOptionsEql(controlIds[2], ['hiss', 'meow', 'growl', 'grr']); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[1], { + suggestions: { Tiger: 6, sylvester: 5 }, + invalidSelections: [], + }); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ + 'hiss', + 'meow', + 'growl', + 'grr', + ]); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[2], { + suggestions: { ...suggestions, grr: suggestions.grr - 1 }, + invalidSelections: [], + }); }); it('Selecting an option in the second Options List will filter the third control', async () => { await dashboardControls.optionsListOpenPopover(controlIds[1]); await dashboardControls.optionsListPopoverSelectOption('sylvester'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[1]); - - await ensureAvailableOptionsEql(controlIds[2], ['meow', 'hiss']); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, ['meow', 'hiss']); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[2], { + suggestions: { ...suggestions, hiss: suggestions.hiss - 3 }, + invalidSelections: [], + }); }); it('Can select an option in the third Options List', async () => { @@ -145,22 +149,21 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListPopoverSelectOption('dog'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[0]); - await ensureAvailableOptionsEql(controlIds[1], [ - 'Fluffy', - 'Fee Fee', - 'Rover', - 'Ignored selection', - 'sylvester', - ]); - await ensureAvailableOptionsEql(controlIds[2], [ + await dashboardControls.ensureAvailableOptionsEqual(controlIds[1], { + suggestions: { Fluffy: 6, 'Fee Fee': 3, Rover: 3 }, + invalidSelections: ['sylvester'], + }); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ 'ruff', 'bark', 'grrr', 'bow ow ow', 'grr', - 'Ignored selection', - 'meow', ]); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[2], { + suggestions: { ...suggestions, grr: suggestions.grr - 1 }, + invalidSelections: ['meow'], + }); }); it('Excluding selections in the first control will validate the second and third controls', async () => { @@ -168,8 +171,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListPopoverSetIncludeSelections(false); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[0]); - await ensureAvailableOptionsEql(controlIds[1], ['Tiger', 'sylvester', 'Max']); - await ensureAvailableOptionsEql(controlIds[2], ['meow', 'hiss']); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[1], { + suggestions: { Tiger: 6, sylvester: 5, Max: 1 }, + invalidSelections: [], + }); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, ['meow', 'hiss']); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[2], { + suggestions: { ...suggestions, hiss: suggestions.hiss - 3 }, + invalidSelections: [], + }); }); it('Excluding all options of first control removes all options in second and third controls', async () => { @@ -193,12 +203,26 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListOpenPopover(controlIds[1]); await dashboardControls.optionsListPopoverClearSelections(); expect(await dashboardControls.optionsListPopoverGetAvailableOptionsCount()).to.be(1); - expect(await dashboardControls.optionsListPopoverGetAvailableOptions()).to.eql(['Max']); + await dashboardControls.ensureAvailableOptionsEqual( + controlIds[1], + { + suggestions: { Max: 1 }, + invalidSelections: [], + }, + true + ); await dashboardControls.optionsListOpenPopover(controlIds[2]); await dashboardControls.optionsListPopoverClearSelections(); expect(await dashboardControls.optionsListPopoverGetAvailableOptionsCount()).to.be(1); - expect(await dashboardControls.optionsListPopoverGetAvailableOptions()).to.eql(['woof']); + await dashboardControls.ensureAvailableOptionsEqual( + controlIds[2], + { + suggestions: { woof: 1 }, + invalidSelections: [], + }, + true + ); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[2]); }); @@ -209,11 +233,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.waitForRenderComplete(); await dashboardControls.optionsListOpenPopover(controlIds[1]); - expect(await dashboardControls.optionsListPopoverGetAvailableOptions()).to.not.contain('Max'); + let suggestionKeys = Object.keys( + (await dashboardControls.optionsListPopoverGetAvailableOptions()).suggestions + ); + expect(suggestionKeys).to.not.contain('Max'); await dashboardControls.optionsListOpenPopover(controlIds[2]); - expect(await dashboardControls.optionsListPopoverGetAvailableOptions()).to.not.contain( - 'woof' + suggestionKeys = Object.keys( + (await dashboardControls.optionsListPopoverGetAvailableOptions()).suggestions ); + expect(suggestionKeys).to.not.contain('woof'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[2]); }); @@ -227,25 +255,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListPopoverSelectOption('cat'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlIds[0]); - await ensureAvailableOptionsEql(controlIds[1], [ - 'Fluffy', - 'Tiger', - 'sylvester', - 'Fee Fee', - 'Rover', - 'Max', - ]); - await ensureAvailableOptionsEql(controlIds[2], [ - 'hiss', - 'ruff', - 'bark', - 'grrr', - 'meow', - 'growl', - 'grr', - 'bow ow ow', - 'woof', - ]); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[1], { + suggestions: { Fluffy: 6, Tiger: 6, sylvester: 5, 'Fee Fee': 3, Rover: 3, Max: 1 }, + invalidSelections: [], + }); + await dashboardControls.ensureAvailableOptionsEqual(controlIds[2], { + suggestions: { ...OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, woof: 1 }, + invalidSelections: [], + }); }); }); }); diff --git a/test/functional/apps/dashboard_elements/controls/controls_callout.ts b/test/functional/apps/dashboard_elements/controls/controls_callout.ts deleted file mode 100644 index 886b15a61edc0..0000000000000 --- a/test/functional/apps/dashboard_elements/controls/controls_callout.ts +++ /dev/null @@ -1,103 +0,0 @@ -/* - * 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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { OPTIONS_LIST_CONTROL } from '@kbn/controls-plugin/common'; - -import { FtrProviderContext } from '../../../ftr_provider_context'; - -export default function ({ getService, getPageObjects }: FtrProviderContext) { - const kibanaServer = getService('kibanaServer'); - const browser = getService('browser'); - const testSubjects = getService('testSubjects'); - const dashboardAddPanel = getService('dashboardAddPanel'); - const dashboardPanelActions = getService('dashboardPanelActions'); - - const { dashboardControls, timePicker, dashboard } = getPageObjects([ - 'dashboardControls', - 'timePicker', - 'dashboard', - 'common', - 'header', - ]); - - describe('Controls callout', () => { - describe('callout visibility', async () => { - before(async () => { - await dashboard.gotoDashboardLandingPage(); - - await dashboard.clickNewDashboard(); - await timePicker.setDefaultDataRange(); - await dashboard.saveDashboard('Test Controls Callout'); - }); - - describe('does not show the empty control callout on an empty dashboard', async () => { - before(async () => { - const panelCount = await dashboard.getPanelCount(); - if (panelCount > 0) { - const panels = await dashboard.getDashboardPanels(); - for (const panel of panels) { - await dashboardPanelActions.removePanel(panel); - } - await dashboard.clickQuickSave(); - } - }); - - it('in view mode', async () => { - await dashboard.clickCancelOutOfEditMode(); - await testSubjects.missingOrFail('controls-empty'); - }); - - it('in edit mode', async () => { - await dashboard.switchToEditMode(); - await testSubjects.missingOrFail('controls-empty'); - }); - }); - - it('show the empty control callout on a dashboard with panels', async () => { - await dashboard.switchToEditMode(); - const panelCount = await dashboard.getPanelCount(); - if (panelCount < 1) { - await dashboardAddPanel.addVisualization('Rendering-Test:-animal-sounds-pie'); - } - await testSubjects.existOrFail('controls-empty'); - }); - - it('adding control hides the empty control callout', async () => { - await dashboardControls.createControl({ - controlType: OPTIONS_LIST_CONTROL, - dataViewTitle: 'animals-*', - fieldName: 'sound.keyword', - }); - await testSubjects.missingOrFail('controls-empty'); - }); - - it('deleting all controls shows the emoty control callout again', async () => { - await dashboardControls.deleteAllControls(); - await testSubjects.existOrFail('controls-empty'); - }); - - it('hide callout when hide announcement setting is true', async () => { - await dashboard.clickQuickSave(); - await dashboard.gotoDashboardLandingPage(); - await kibanaServer.uiSettings.update({ hideAnnouncements: true }); - await browser.refresh(); - - await dashboard.loadSavedDashboard('Test Controls Callout'); - await dashboard.switchToEditMode(); - await testSubjects.missingOrFail('controls-empty'); - - await kibanaServer.uiSettings.update({ hideAnnouncements: false }); - }); - - after(async () => { - await dashboard.clickCancelOutOfEditMode(); - await dashboard.gotoDashboardLandingPage(); - }); - }); - }); -} diff --git a/test/functional/apps/dashboard_elements/controls/index.ts b/test/functional/apps/dashboard_elements/controls/index.ts index 84f056b1b97ab..d3626934a6f37 100644 --- a/test/functional/apps/dashboard_elements/controls/index.ts +++ b/test/functional/apps/dashboard_elements/controls/index.ts @@ -46,7 +46,6 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid describe('Controls', function () { before(setup); after(teardown); - loadTestFile(require.resolve('./controls_callout')); loadTestFile(require.resolve('./control_group_settings')); loadTestFile(require.resolve('./options_list')); loadTestFile(require.resolve('./range_slider')); diff --git a/test/functional/apps/dashboard_elements/controls/options_list.ts b/test/functional/apps/dashboard_elements/controls/options_list.ts index 09c14f1804566..8186d9702ae3e 100644 --- a/test/functional/apps/dashboard_elements/controls/options_list.ts +++ b/test/functional/apps/dashboard_elements/controls/options_list.ts @@ -6,9 +6,12 @@ * Side Public License, v 1. */ +import { pick } from 'lodash'; + import { OPTIONS_LIST_CONTROL } from '@kbn/controls-plugin/common'; import expect from '@kbn/expect'; +import { OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS } from '../../../page_objects/dashboard_page_controls'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { @@ -38,17 +41,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Dashboard options list integration', () => { let controlId: string; - const animalSoundAvailableOptions = [ - 'hiss', - 'ruff', - 'bark', - 'grrr', - 'meow', - 'growl', - 'grr', - 'bow ow ow', - ]; - const returnToDashboard = async () => { await common.navigateToApp('dashboard'); await header.waitUntilLoadingHasFinished(); @@ -60,14 +52,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.waitForRenderComplete(); }; - const ensureAvailableOptionsEql = async (expectation: string[], skipOpen?: boolean) => { - if (!skipOpen) await dashboardControls.optionsListOpenPopover(controlId); - await retry.try(async () => { - expect(await dashboardControls.optionsListPopoverGetAvailableOptions()).to.eql(expectation); - }); - if (!skipOpen) await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); - }; - before(async () => { await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']); @@ -243,27 +227,62 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('sort alphabetically - descending', async () => { await dashboardControls.optionsListPopoverSetSort({ by: '_key', direction: 'desc' }); await dashboardControls.optionsListWaitForLoading(controlId); - await ensureAvailableOptionsEql([...animalSoundAvailableOptions].sort().reverse(), true); + + const sortedSuggestions = Object.keys(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS) + .sort() + .reverse() + .reduce((result, key) => { + return { ...result, [key]: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS[key] }; + }, {}); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { suggestions: sortedSuggestions, invalidSelections: [] }, + true + ); }); it('sort alphabetically - ascending', async () => { await dashboardControls.optionsListPopoverSetSort({ by: '_key', direction: 'asc' }); await dashboardControls.optionsListWaitForLoading(controlId); - await ensureAvailableOptionsEql([...animalSoundAvailableOptions].sort(), true); + + const sortedSuggestions = Object.keys(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS) + .sort() + .reduce((result, key) => { + return { ...result, [key]: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS[key] }; + }, {}); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { suggestions: sortedSuggestions, invalidSelections: [] }, + true + ); }); it('sort by document count - descending', async () => { await dashboardControls.optionsListPopoverSetSort({ by: '_count', direction: 'desc' }); await dashboardControls.optionsListWaitForLoading(controlId); - await ensureAvailableOptionsEql(animalSoundAvailableOptions, true); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { + suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, // keys are already sorted descending by doc count + invalidSelections: [], + }, + true + ); }); it('sort by document count - ascending', async () => { await dashboardControls.optionsListPopoverSetSort({ by: '_count', direction: 'asc' }); await dashboardControls.optionsListWaitForLoading(controlId); - // ties are broken alphabetically, so can't just reverse `animalSoundAvailableOptions` for this check - await ensureAvailableOptionsEql( - ['bow ow ow', 'growl', 'grr', 'bark', 'grrr', 'meow', 'ruff', 'hiss'], + const sortedSuggestions = Object.entries(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS) + .sort(([, docCountA], [, docCountB]) => { + return docCountB - docCountA; + }) + .reduce((result, [key, docCount]) => { + return { ...result, [key]: docCount }; + }, {}); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { suggestions: sortedSuggestions, invalidSelections: [] }, true ); }); @@ -295,8 +314,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(['ruff', 'bark', 'grrr', 'bow ow ow', 'grr']); - + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ + 'ruff', + 'bark', + 'grrr', + 'bow ow ow', + 'grr', + ]); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: { ...suggestions, grr: suggestions.grr - 1 }, + invalidSelections: [], + }); await queryBar.setQuery(''); await queryBar.submitQuery(); @@ -332,16 +360,25 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('Applies dashboard filters to options list control', async () => { - await ensureAvailableOptionsEql(['ruff', 'bark', 'bow ow ow']); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ + 'ruff', + 'bark', + 'bow ow ow', + ]); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions, + invalidSelections: [], + }); }); it('Does not apply disabled dashboard filters to options list control', async () => { await filterBar.toggleFilterEnabled('sound.keyword'); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - - await ensureAvailableOptionsEql(animalSoundAvailableOptions); - + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, + invalidSelections: [], + }); await filterBar.toggleFilterEnabled('sound.keyword'); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); @@ -352,7 +389,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(['hiss', 'grrr', 'meow', 'growl', 'grr']); + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ + 'hiss', + 'grrr', + 'meow', + 'growl', + 'grr', + ]); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions, + invalidSelections: [], + }); }); after(async () => { @@ -367,15 +414,23 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await queryBar.submitQuery(); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await retry.try(async () => { - await ensureAvailableOptionsEql(animalSoundAvailableOptions); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, + invalidSelections: [], }); }); it('Can search options list for available options', async () => { await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSearchForOption('meo'); - await ensureAvailableOptionsEql(['meow'], true); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { + suggestions: { meow: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.meow }, + invalidSelections: [], + }, + true + ); await dashboardControls.optionsListPopoverClearSearch(); await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); }); @@ -383,7 +438,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('Can search options list for available options case insensitive', async () => { await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSearchForOption('MEO'); - await ensureAvailableOptionsEql(['meow'], true); + await dashboardControls.ensureAvailableOptionsEqual( + controlId, + { + suggestions: { meow: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.meow }, + invalidSelections: [], + }, + true + ); await dashboardControls.optionsListPopoverClearSearch(); await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); }); @@ -460,7 +522,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('test data view runtime field', async () => { const FIELD_NAME = 'testRuntimeField'; - const FIELD_VALUES = ['G', 'H', 'B', 'R', 'M']; + const FIELD_VALUES = { + G: + OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.growl + + OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.grr + + OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.grrr, + H: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.hiss, + B: + OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.bark + + OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS['bow ow ow'], + R: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.ruff, + M: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.meow, + }; before(async () => { await common.navigateToApp('settings'); @@ -488,7 +561,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('new control has expected suggestions', async () => { controlId = (await dashboardControls.getAllControlIds())[0]; - await ensureAvailableOptionsEql(FIELD_VALUES); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: FIELD_VALUES, + invalidSelections: [], + }); }); it('making selection has expected results', async () => { @@ -609,15 +685,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await queryBar.submitQuery(); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql([ + + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ 'hiss', 'meow', 'growl', 'grr', - 'Ignored selection', - 'bark', ]); - + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: { ...suggestions, grr: suggestions.grr - 1 }, + invalidSelections: ['bark'], + }); // only valid selections are applied as filters. expect(await pieChart.getPieSliceCount()).to.be(1); }); @@ -627,7 +705,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await queryBar.submitQuery(); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(animalSoundAvailableOptions); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, + invalidSelections: [], + }); expect(await pieChart.getPieSliceCount()).to.be(2); }); @@ -635,8 +716,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await filterBar.addFilter({ field: 'sound.keyword', operation: 'is', value: 'hiss' }); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(['hiss', 'Ignored selections', 'meow', 'bark']); - + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: { + hiss: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.hiss, + }, + invalidSelections: ['meow', 'bark'], + }); // only valid selections are applied as filters. expect(await pieChart.getPieSliceCount()).to.be(1); }); @@ -658,14 +743,29 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await queryBar.submitQuery(); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(['hiss', 'meow', 'growl', 'grr']); + + const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ + 'hiss', + 'meow', + 'growl', + 'grr', + ]); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: { ...suggestions, grr: suggestions.grr - 1 }, + invalidSelections: [], + }); }); it('Does not mark multiple selections invalid with Filter', async () => { await filterBar.addFilter({ field: 'sound.keyword', operation: 'is', value: 'hiss' }); await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); - await ensureAvailableOptionsEql(['hiss']); + await dashboardControls.ensureAvailableOptionsEqual(controlId, { + suggestions: { + hiss: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS.hiss, + }, + invalidSelections: [], + }); }); }); diff --git a/test/functional/apps/discover/group1/_greeting_screen.ts b/test/functional/apps/discover/group1/_greeting_screen.ts new file mode 100644 index 0000000000000..874be8d284605 --- /dev/null +++ b/test/functional/apps/discover/group1/_greeting_screen.ts @@ -0,0 +1,65 @@ +/* + * 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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; + +import { FtrProviderContext } from '../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const retry = getService('retry'); + const kibanaServer = getService('kibanaServer'); + const testSubjects = getService('testSubjects'); + const esArchiver = getService('esArchiver'); + const security = getService('security'); + const PageObjects = getPageObjects(['common', 'header', 'discover', 'timePicker']); + const defaultSettings = { + defaultIndex: 'logstash-*', + }; + + describe('discover greeting screen', function describeIndexTests() { + before(async function () { + await security.testUser.setRoles(['kibana_admin', 'version_test', 'test_logstash_reader']); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover.json'); + await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); + await kibanaServer.uiSettings.replace(defaultSettings); + }); + + after(async () => { + await security.testUser.restoreDefaults(); + }); + + it('should create adhoc data view when there are no data view', async () => { + await kibanaServer.uiSettings.replace(defaultSettings); + await PageObjects.common.navigateToApp('management'); + await PageObjects.header.waitUntilLoadingHasFinished(); + await testSubjects.click('dataViews'); + await testSubjects.click('checkboxSelectAll'); + + await testSubjects.click('delete-data-views-button'); + await testSubjects.click('confirmModalConfirmButton'); + + await PageObjects.common.navigateToApp('discover'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + await testSubjects.click('createDataViewButton'); + + await testSubjects.setValue('createIndexPatternTitleInput', 'logs', { + clearWithKeyboard: true, + typeCharByChar: true, + }); + await retry.waitFor('timestamp field loaded', async () => { + const timestampField = await testSubjects.find('timestampField'); + return !(await timestampField.elementHasClass('euiComboBox-isDisabled')); + }); + await testSubjects.click('exploreIndexPatternButton'); + await PageObjects.header.waitUntilLoadingHasFinished(); + expect(await PageObjects.discover.isAdHocDataViewSelected()).to.be(true); + }); + }); +} diff --git a/test/functional/apps/discover/group1/_sidebar.ts b/test/functional/apps/discover/group1/_sidebar.ts index 09190a0a39702..a62a379c20224 100644 --- a/test/functional/apps/discover/group1/_sidebar.ts +++ b/test/functional/apps/discover/group1/_sidebar.ts @@ -26,8 +26,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const filterBar = getService('filterBar'); const fieldEditor = getService('fieldEditor'); - // Failing: See https://github.com/elastic/kibana/issues/147687 - describe.skip('discover sidebar', function describeIndexTests() { + describe('discover sidebar', function describeIndexTests() { before(async function () { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); }); @@ -46,6 +45,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/discover'); await kibanaServer.savedObjects.cleanStandardList(); await kibanaServer.uiSettings.replace({}); + await PageObjects.discover.cleanSidebarLocalStorage(); }); describe('field filtering', function () { @@ -541,6 +541,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await testSubjects.existOrFail('discoverNoResultsError'); // still has error // check that the sidebar is rendered event after a refresh + await PageObjects.discover.waitUntilSidebarHasLoaded(); allFields = await PageObjects.discover.getAllFieldNames(); expect(allFields.includes('_invalid-runtimefield')).to.be(true); diff --git a/test/functional/apps/discover/group1/index.ts b/test/functional/apps/discover/group1/index.ts index 82fd341ccce04..1766df1a58c94 100644 --- a/test/functional/apps/discover/group1/index.ts +++ b/test/functional/apps/discover/group1/index.ts @@ -34,6 +34,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./_sidebar')); loadTestFile(require.resolve('./_source_filters')); loadTestFile(require.resolve('./_large_string')); + loadTestFile(require.resolve('./_greeting_screen')); loadTestFile(require.resolve('./_inspector')); loadTestFile(require.resolve('./_date_nanos')); loadTestFile(require.resolve('./_date_nanos_mixed')); diff --git a/test/functional/apps/discover/group2/_indexpattern_without_timefield.ts b/test/functional/apps/discover/group2/_indexpattern_without_timefield.ts index 8fe192618f2ff..2531a368861c3 100644 --- a/test/functional/apps/discover/group2/_indexpattern_without_timefield.ts +++ b/test/functional/apps/discover/group2/_indexpattern_without_timefield.ts @@ -129,5 +129,22 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.discover.assertHitCount('1'); }); + + it('should allow switching from data views with different timefields and sort correctly', async () => { + await PageObjects.common.navigateToApp('discover'); + await PageObjects.discover.selectIndexPattern('with-timefield'); + await PageObjects.header.waitUntilLoadingHasFinished(); + let url = await browser.getCurrentUrl(); + expect(url).to.contain(`@timestamp`); + + await PageObjects.discover.selectIndexPattern('with-different-timefield'); + await PageObjects.header.waitUntilLoadingHasFinished(); + url = await browser.getCurrentUrl(); + expect(url).to.contain(`with-different-timefield`); + await browser.goBack(); + await PageObjects.header.waitUntilLoadingHasFinished(); + url = await browser.getCurrentUrl(); + expect(url).to.contain(`@timestamp`); + }); }); } diff --git a/test/functional/apps/discover/group2/_search_on_page_load.ts b/test/functional/apps/discover/group2/_search_on_page_load.ts index cb2b21e3849db..2f3ad427335cd 100644 --- a/test/functional/apps/discover/group2/_search_on_page_load.ts +++ b/test/functional/apps/discover/group2/_search_on_page_load.ts @@ -35,6 +35,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const waitForFetches = (fetchesNumber: number) => async () => { const nrOfFetches = await PageObjects.discover.getNrOfFetches(); + log.debug('actual number of fetches', nrOfFetches); return nrOfFetches === fetchesNumber; }; @@ -144,7 +145,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await testSubjects.click('discoverNewButton'); await PageObjects.header.waitUntilLoadingHasFinished(); - await retry.waitFor('number of fetches to be 1', waitForFetches(1)); + await retry.waitFor('number of fetches to be 0', waitForFetches(0)); expect(await PageObjects.discover.doesSidebarShowFields()).to.be(false); }); }); diff --git a/test/functional/apps/management/_files.ts b/test/functional/apps/management/_files.ts index b117e376a39a6..deebdb18f374b 100644 --- a/test/functional/apps/management/_files.ts +++ b/test/functional/apps/management/_files.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import expect from '@kbn/expect/expect'; +import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { diff --git a/test/functional/config.base.js b/test/functional/config.base.js index aadaae3c8d81b..5e4d89d6c195b 100644 --- a/test/functional/config.base.js +++ b/test/functional/config.base.js @@ -391,7 +391,7 @@ export default async function ({ readConfigFile }) { cluster: [], indices: [ { - names: ['without-timefield', 'with-timefield'], + names: ['without-timefield', 'with-timefield', 'with-different-timefield'], privileges: ['read', 'view_index_metadata'], field_security: { grant: ['*'], except: [] }, }, diff --git a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json index aea1bf770c18f..3bd71cfb198dd 100644 --- a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json +++ b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json @@ -31,3 +31,22 @@ } } +{ + "type": "doc", + "value": { + "id": "with-different-timefield-1", + "index": "with-different-timefield", + "source": { + "@message" : "ole", + "with-different-timefield": "2019-10-22T23:50:13.253Z", + "referer": "http://twitter.com/error/takuya-onishi", + "request": "/uploads/dafydd-williams.jpg", + "response": "200", + "type": "apache", + "url": "https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/dafydd-williams.jpg" + } + } +} + + + diff --git a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/mappings.json b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/mappings.json index dd41e01592a7b..0d1fe46408f36 100644 --- a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/mappings.json +++ b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/mappings.json @@ -30,3 +30,23 @@ } } } + +{ + "type": "index", + "value": { + "index": "with-different-timefield", + "mappings": { + "properties": { + "different-timefield": { + "type": "date" + } + } + }, + "settings": { + "index": { + "number_of_replicas": "0", + "number_of_shards": "1" + } + } + } +} diff --git a/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json b/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json index d5906dc8a2e99..d0c7b2f55b975 100644 --- a/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json +++ b/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json @@ -14,6 +14,22 @@ "version": "WzEzLDJd" } +{ + "attributes": { + "fields": "[]", + "timeFieldName": "with-different-timefield", + "title": "with-different-timefield" + }, + "coreMigrationVersion": "7.17.1", + "id": "with-different-timefield", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzEzLDJd" +} + { "attributes": { "fields": "[]", @@ -27,4 +43,4 @@ "references": [], "type": "index-pattern", "version": "WzEyLDJd" -} \ No newline at end of file +} diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts index c7fa5f3d241c4..0f5a6d41e6fe0 100644 --- a/test/functional/page_objects/dashboard_page.ts +++ b/test/functional/page_objects/dashboard_page.ts @@ -324,6 +324,12 @@ export class DashboardPageObject extends FtrService { } } + public async expectUnsavedChangesBadge() { + await this.retry.try(async () => { + await this.testSubjects.existOrFail('dashboardUnsavedChangesBadge'); + }); + } + public async clickNewDashboard(continueEditing = false) { const discardButtonExists = await this.testSubjects.exists('discardDashboardPromptButton'); if (!continueEditing && discardButtonExists) { diff --git a/test/functional/page_objects/dashboard_page_controls.ts b/test/functional/page_objects/dashboard_page_controls.ts index a584fbed741e9..cdb48b067aec5 100644 --- a/test/functional/page_objects/dashboard_page_controls.ts +++ b/test/functional/page_objects/dashboard_page_controls.ts @@ -13,7 +13,7 @@ import { ControlWidth, } from '@kbn/controls-plugin/common'; import { ControlGroupChainingSystem } from '@kbn/controls-plugin/common/control_group/types'; -import { SortingType } from '@kbn/controls-plugin/common/options_list/suggestions_sorting'; +import { OptionsListSortingType } from '@kbn/controls-plugin/common/options_list/suggestions_sorting'; import { WebElementWrapper } from '../services/lib/web_element_wrapper'; import { FtrService } from '../ftr_provider_context'; @@ -25,7 +25,7 @@ const CONTROL_DISPLAY_NAMES: { [key: string]: string } = { }; interface OptionsListAdditionalSettings { - defaultSortType?: SortingType; + defaultSortType?: OptionsListSortingType; ignoreTimeout?: boolean; allowMultiple?: boolean; hideExclude?: boolean; @@ -33,6 +33,17 @@ interface OptionsListAdditionalSettings { hideSort?: boolean; } +export const OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS: { [key: string]: number } = { + hiss: 5, + ruff: 4, + bark: 3, + grrr: 3, + meow: 3, + growl: 2, + grr: 2, + 'bow ow ow': 1, +}; + export class DashboardPageControls extends FtrService { private readonly log = this.ctx.getService('log'); private readonly find = this.ctx.getService('find'); @@ -375,11 +386,44 @@ export class DashboardPageControls extends FtrService { return +(await availableOptions.getAttribute('data-option-count')); } - public async optionsListPopoverGetAvailableOptions(filterOutExists: boolean = true) { + public async optionsListPopoverGetAvailableOptions() { this.log.debug(`getting available options from options list`); const availableOptions = await this.testSubjects.find(`optionsList-control-available-options`); - const availableOptionsArray = (await availableOptions.getVisibleText()).split('\n'); - return filterOutExists ? availableOptionsArray.slice(1) : availableOptionsArray; + + const suggestionElements = await availableOptions.findAllByClassName( + 'optionsList__validSuggestion' + ); + const suggestions: { [key: string]: number } = await suggestionElements.reduce( + async (promise, option) => { + const acc = await promise; + const [key, docCount] = (await option.getVisibleText()).split('\n'); + return { ...acc, [key]: Number(docCount) }; + }, + Promise.resolve({} as { [key: string]: number }) + ); + + const invalidSelectionElements = await availableOptions.findAllByClassName( + 'optionsList__selectionInvalid' + ); + const invalidSelections = await Promise.all( + invalidSelectionElements.map(async (option) => { + return await option.getVisibleText(); + }) + ); + + return { suggestions, invalidSelections }; + } + + public async ensureAvailableOptionsEqual( + controlId: string, + expectation: { suggestions: { [key: string]: number }; invalidSelections: string[] }, + skipOpen?: boolean + ) { + if (!skipOpen) await this.optionsListOpenPopover(controlId); + await this.retry.try(async () => { + expect(await this.optionsListPopoverGetAvailableOptions()).to.eql(expectation); + }); + if (!skipOpen) await this.optionsListEnsurePopoverIsClosed(controlId); } public async optionsListPopoverSearchForOption(search: string) { @@ -394,7 +438,7 @@ export class DashboardPageControls extends FtrService { await this.find.clickByCssSelector('.euiFormControlLayoutClearButton'); } - public async optionsListPopoverSetSort(sort: SortingType) { + public async optionsListPopoverSetSort(sort: OptionsListSortingType) { this.log.debug(`select sorting type for suggestions`); await this.optionsListPopoverAssertOpen(); diff --git a/test/functional/page_objects/discover_page.ts b/test/functional/page_objects/discover_page.ts index d6c12c9bb9e43..7db95f8063c12 100644 --- a/test/functional/page_objects/discover_page.ts +++ b/test/functional/page_objects/discover_page.ts @@ -463,6 +463,10 @@ export class DiscoverPageObject extends FtrService { ).getAttribute('innerText'); } + public async cleanSidebarLocalStorage(): Promise { + await this.browser.setLocalStorageItem('discover.unifiedFieldList.initiallyOpenSections', '{}'); + } + public async waitUntilSidebarHasLoaded() { await this.retry.waitFor('sidebar is loaded', async () => { return (await this.getSidebarAriaDescription()).length > 0; @@ -555,6 +559,12 @@ export class DiscoverPageObject extends FtrService { } } + public async isAdHocDataViewSelected() { + const dataView = await this.getCurrentlySelectedDataView(); + await this.testSubjects.click('discover-dataView-switch-link'); + return this.testSubjects.exists(`dataViewItemTempBadge-${dataView}`); + } + public async isFieldSelected(field: string) { if (!(await this.testSubjects.exists('fieldListGroupedSelectedFields'))) { return false; @@ -779,7 +789,10 @@ export class DiscoverPageObject extends FtrService { return button.getAttribute('title'); } - public async getCurrentDataViewId() { + /** + * Validates if data view references in the URL are equal. + */ + public async validateDataViewReffsEquality() { const currentUrl = await this.browser.getCurrentUrl(); const matches = currentUrl.matchAll(/index:[^,]*/g); const indexes = []; @@ -792,14 +805,25 @@ export class DiscoverPageObject extends FtrService { if (first) { const allEqual = indexes.every((val) => val === first); if (allEqual) { - return first; + return { valid: true, result: first }; } else { - throw new Error( - 'Discover URL state contains different index references. They should be all the same.' - ); + return { + valid: false, + message: + 'Discover URL state contains different index references. They should be all the same.', + }; } } - throw new Error("Discover URL state doesn't contain an index reference."); + return { valid: false, message: "Discover URL state doesn't contain an index reference." }; + } + + public async getCurrentDataViewId() { + const validationResult = await this.validateDataViewReffsEquality(); + if (validationResult.valid) { + return validationResult.result!; + } else { + throw new Error(validationResult.message); + } } public async addRuntimeField(name: string, script: string) { diff --git a/test/functional/services/filter_bar.ts b/test/functional/services/filter_bar.ts index 5751b17a3a126..30cb97d3d6519 100644 --- a/test/functional/services/filter_bar.ts +++ b/test/functional/services/filter_bar.ts @@ -194,6 +194,14 @@ export class FilterBarService extends FtrService { }); } + public async pressConfirmOnFilterEditorConfirmModal() { + await this.retry.try(async () => { + const confirmModal = await this.testSubjects.find(`close-filter-editor-confirm-modal`); + const cancelButton = await confirmModal.findByTestSubject('confirmModalConfirmButton'); + await cancelButton.click(); + }); + } + private async addOrFilter(path: string) { const filterForm = await this.testSubjects.find(`filter-${path}`); const addOrBtn = await filterForm.findByTestSubject('add-or-filter'); diff --git a/test/functional/services/remote/webdriver.ts b/test/functional/services/remote/webdriver.ts index 21eae36a67b7c..af2e1056e6867 100644 --- a/test/functional/services/remote/webdriver.ts +++ b/test/functional/services/remote/webdriver.ts @@ -26,7 +26,7 @@ import { Executor } from 'selenium-webdriver/lib/http'; import { getLogger } from 'selenium-webdriver/lib/logging'; import { installDriver } from 'ms-chromium-edge-driver'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { pollForLogEntry$ } from './poll_for_log_entry'; import { createStdoutSocket } from './create_stdout_stream'; import { preventParallelCalls } from './prevent_parallel_calls'; diff --git a/test/health_gateway/plugins/status/tsconfig.json b/test/health_gateway/plugins/status/tsconfig.json index 481e1091600fd..ca820cb2858d4 100644 --- a/test/health_gateway/plugins/status/tsconfig.json +++ b/test/health_gateway/plugins/status/tsconfig.json @@ -1,13 +1,16 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "server/**/*.ts", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema" ] } diff --git a/test/health_gateway/services/health_gateway.ts b/test/health_gateway/services/health_gateway.ts index dc3480c4552a8..a84b995e38e9c 100644 --- a/test/health_gateway/services/health_gateway.ts +++ b/test/health_gateway/services/health_gateway.ts @@ -11,7 +11,7 @@ import { format } from 'url'; import getPort from 'get-port'; import supertest from 'supertest'; import { ProcRunner } from '@kbn/dev-proc-runner'; -import { REPO_ROOT } from '@kbn/utils'; +import { REPO_ROOT } from '@kbn/repo-info'; import { FtrService } from '../../functional/ftr_provider_context'; interface HealthGatewayOptions { diff --git a/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json b/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json index 99f621e423747..5e64dd7d0c932 100644 --- a/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json +++ b/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json @@ -1,16 +1,15 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true + "outDir": "target/types", }, "include": [ "server/**/*.ts", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, + "@kbn/core", ], } diff --git a/test/interactive_setup_functional/tests/enrollment_token.ts b/test/interactive_setup_functional/tests/enrollment_token.ts index 5af4ed0fc3f2e..fb86a9a6f6913 100644 --- a/test/interactive_setup_functional/tests/enrollment_token.ts +++ b/test/interactive_setup_functional/tests/enrollment_token.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import type { FtrProviderContext } from '../../functional/ftr_provider_context'; import { getElasticsearchCaCertificate } from '../../interactive_setup_api_integration/fixtures/tls_tools'; diff --git a/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json b/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json index c50067e5cb872..db591faecfd18 100644 --- a/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json +++ b/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,12 +10,15 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/expressions/tsconfig.json" }, - { "path": "../../../../src/plugins/inspector/tsconfig.json" }, - { "path": "../../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../../src/plugins/kibana_utils/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/inspector-plugin", + "@kbn/data-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/config-schema", ] } diff --git a/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json b/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json index 97fa33bb4d1ed..bf146797a42ee 100644 --- a/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json +++ b/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json @@ -1,15 +1,17 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/app_link_test/tsconfig.json b/test/plugin_functional/plugins/app_link_test/tsconfig.json index 5e38e7f98cbb6..b44abdbe6224d 100644 --- a/test/plugin_functional/plugins/app_link_test/tsconfig.json +++ b/test/plugin_functional/plugins/app_link_test/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,11 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/plugins/kibana_react/tsconfig.json" } + "@kbn/kibana-react-plugin", + "@kbn/core", ] } diff --git a/test/plugin_functional/plugins/core_app_status/tsconfig.json b/test/plugin_functional/plugins/core_app_status/tsconfig.json index c81a6cc88fae2..ef3b1a3322e43 100644 --- a/test/plugin_functional/plugins/core_app_status/tsconfig.json +++ b/test/plugin_functional/plugins/core_app_status/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "index.ts", @@ -11,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, + "@kbn/core", ], } diff --git a/test/plugin_functional/plugins/core_history_block/tsconfig.json b/test/plugin_functional/plugins/core_history_block/tsconfig.json index 4804462c5637d..f7ddd34a35c2e 100644 --- a/test/plugin_functional/plugins/core_history_block/tsconfig.json +++ b/test/plugin_functional/plugins/core_history_block/tsconfig.json @@ -1,12 +1,14 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": ["index.ts", "public/**/*.ts", "public/**/*.tsx", "../../../../typings/**/*"], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/kibana_react/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin" ] } diff --git a/test/plugin_functional/plugins/core_http/tsconfig.json b/test/plugin_functional/plugins/core_http/tsconfig.json index 151126379c603..1031bd9b38024 100644 --- a/test/plugin_functional/plugins/core_http/tsconfig.json +++ b/test/plugin_functional/plugins/core_http/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,10 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_a/tsconfig.json b/test/plugin_functional/plugins/core_plugin_a/tsconfig.json index 151126379c603..1031bd9b38024 100644 --- a/test/plugin_functional/plugins/core_plugin_a/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_a/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,10 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json b/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json index b69ff0d55b060..c4001804608cc 100644 --- a/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_b/tsconfig.json b/test/plugin_functional/plugins/core_plugin_b/tsconfig.json index 582a563fa87d6..0a3cc148df189 100644 --- a/test/plugin_functional/plugins/core_plugin_b/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_b/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,12 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../core_plugin_a/tsconfig.json" }, + "@kbn/core", + "@kbn/core-plugin-a-plugin", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json b/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json index a45b03ddb0183..3a0bc171cada7 100644 --- a/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, + "@kbn/core", ] } diff --git a/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json b/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json index b69ff0d55b060..c4001804608cc 100644 --- a/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json b/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json index 151126379c603..a51c8d185a06a 100644 --- a/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,12 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", + "@kbn/config", ] } diff --git a/test/plugin_functional/plugins/core_plugin_execution_context/tsconfig.json b/test/plugin_functional/plugins/core_plugin_execution_context/tsconfig.json index 7e4d103b3c8b9..7b61be54e3c9e 100644 --- a/test/plugin_functional/plugins/core_plugin_execution_context/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_execution_context/tsconfig.json @@ -1,14 +1,16 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "server/**/*.ts", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json b/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json index da607f805aca3..b8e50d76d9628 100644 --- a/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json b/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json index 4e34148ffcc4f..b158efd9c6fb8 100644 --- a/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json @@ -1,14 +1,17 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "server/**/*.ts", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json b/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json index da607f805aca3..b8e50d76d9628 100644 --- a/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,8 +9,10 @@ "public/**/*.tsx", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json b/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json index 1010dbde5e134..452f8602deec3 100644 --- a/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "index.ts", @@ -11,8 +9,10 @@ "public/**/*.ts", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, + "@kbn/core", ], } diff --git a/test/plugin_functional/plugins/data_search/tsconfig.json b/test/plugin_functional/plugins/data_search/tsconfig.json index fd0c6aee86728..fb37a658fe59a 100644 --- a/test/plugin_functional/plugins/data_search/tsconfig.json +++ b/test/plugin_functional/plugins/data_search/tsconfig.json @@ -1,15 +1,18 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "server/**/*.ts", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/data/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json b/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json index 4e34148ffcc4f..b7a209b858dd3 100644 --- a/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json @@ -1,14 +1,16 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "server/**/*.ts", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/index_patterns/tsconfig.json b/test/plugin_functional/plugins/index_patterns/tsconfig.json index 9eb1323172491..da94640700c7d 100644 --- a/test/plugin_functional/plugins/index_patterns/tsconfig.json +++ b/test/plugin_functional/plugins/index_patterns/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,9 +9,12 @@ "server/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/data/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json b/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json index 5ee68ce60a9a8..a3fe79437f30d 100644 --- a/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json +++ b/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,11 +9,13 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../../../src/plugins/kibana_react/tsconfig.json" }, + "@kbn/core", + "@kbn/ui-actions-plugin", + "@kbn/embeddable-plugin", + "@kbn/kibana-react-plugin", ] } diff --git a/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json b/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json index 2d0007320313b..e4faa6b886967 100644 --- a/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json +++ b/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,11 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/navigation/tsconfig.json" }, + "@kbn/core", + "@kbn/navigation-plugin", ] } diff --git a/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json b/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json index 954a4daa1eef0..0b75f43b4b7f7 100644 --- a/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json +++ b/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,11 +9,13 @@ "public/**/*.tsx", "../../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../../src/plugins/visualizations/tsconfig.json" }, - { "path": "../../../../src/plugins/expressions/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/visualizations-plugin", + "@kbn/expressions-plugin", ] } diff --git a/test/plugin_functional/plugins/management_test_plugin/tsconfig.json b/test/plugin_functional/plugins/management_test_plugin/tsconfig.json index ee1ece5036cff..91f33da6a5de4 100644 --- a/test/plugin_functional/plugins/management_test_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/management_test_plugin/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -9,9 +9,11 @@ "public/**/*.tsx", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/management/tsconfig.json" }, + "@kbn/core", + "@kbn/management-plugin", ] } diff --git a/test/plugin_functional/plugins/rendering_plugin/tsconfig.json b/test/plugin_functional/plugins/rendering_plugin/tsconfig.json index 151126379c603..192e9f0fb4f5a 100644 --- a/test/plugin_functional/plugins/rendering_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/rendering_plugin/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,11 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json b/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json index 97fa33bb4d1ed..bf146797a42ee 100644 --- a/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json +++ b/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json @@ -1,15 +1,17 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json b/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json index 151126379c603..1031bd9b38024 100644 --- a/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json +++ b/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,8 +10,10 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json b/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json index 97fa33bb4d1ed..bf146797a42ee 100644 --- a/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json +++ b/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json @@ -1,15 +1,17 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/plugin_functional/plugins/session_notifications/tsconfig.json b/test/plugin_functional/plugins/session_notifications/tsconfig.json index 32b53be5109fb..a7881eb76bf92 100644 --- a/test/plugin_functional/plugins/session_notifications/tsconfig.json +++ b/test/plugin_functional/plugins/session_notifications/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,10 +10,12 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../../../src/plugins/data/tsconfig.json" }, + "@kbn/core", + "@kbn/navigation-plugin", + "@kbn/data-plugin", ] } diff --git a/test/plugin_functional/plugins/telemetry/tsconfig.json b/test/plugin_functional/plugins/telemetry/tsconfig.json index bde8ed4c57ae0..e4d237e88538b 100644 --- a/test/plugin_functional/plugins/telemetry/tsconfig.json +++ b/test/plugin_functional/plugins/telemetry/tsconfig.json @@ -1,12 +1,14 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": ["public/**/*.ts", "types.ts", "../../../../typings/**/*"], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/telemetry/tsconfig.json" }, + "@kbn/core", + "@kbn/telemetry-plugin", ] } diff --git a/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json b/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json index 1282ecf76b30e..7a9ab454d85a5 100644 --- a/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json @@ -1,14 +1,17 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", ] } diff --git a/test/plugin_functional/plugins/usage_collection/tsconfig.json b/test/plugin_functional/plugins/usage_collection/tsconfig.json index 56abcf79f17d0..96ee2dd5a3127 100644 --- a/test/plugin_functional/plugins/usage_collection/tsconfig.json +++ b/test/plugin_functional/plugins/usage_collection/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,9 +10,11 @@ "server/**/*.ts", "../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../src/core/tsconfig.json" }, - { "path": "../../../../src/plugins/usage_collection/tsconfig.json" }, + "@kbn/core", + "@kbn/usage-collection-plugin", ] } diff --git a/test/scripts/jenkins_defend_workflows_cypress.sh b/test/scripts/jenkins_defend_workflows_cypress.sh new file mode 100755 index 0000000000000..755c3093d4fc8 --- /dev/null +++ b/test/scripts/jenkins_defend_workflows_cypress.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +source test/scripts/jenkins_test_setup_xpack.sh + +echo " -> Running defend workflows cypress tests" +cd "$XPACK_DIR" + +node scripts/functional_tests \ + --debug --bail \ + --kibana-install-dir "$KIBANA_INSTALL_DIR" \ + --config test/defend_workflows_cypress/cli_config.ts + +echo "" +echo "" diff --git a/test/server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json b/test/server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json index e0bcff939a451..8789ef4f3583d 100644 --- a/test/server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json +++ b/test/server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json @@ -1,15 +1,18 @@ { "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "index.ts", "server/**/*.ts", "../../../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../../src/core/tsconfig.json" } + "@kbn/core", + "@kbn/config-schema", ] } diff --git a/test/server_integration/__fixtures__/plugins/status_plugin_b/tsconfig.json b/test/server_integration/__fixtures__/plugins/status_plugin_b/tsconfig.json index 0d45d9195da6d..4b333551c1495 100644 --- a/test/server_integration/__fixtures__/plugins/status_plugin_b/tsconfig.json +++ b/test/server_integration/__fixtures__/plugins/status_plugin_b/tsconfig.json @@ -1,15 +1,17 @@ { "extends": "../../../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "server/**/*.ts", "../../../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../../../src/core/tsconfig.json" } + "@kbn/core" ] } diff --git a/test/server_integration/http/ssl_with_p12_intermediate/index.js b/test/server_integration/http/ssl_with_p12_intermediate/index.js index 54ec6f53d144d..e6ea68d7f8af9 100644 --- a/test/server_integration/http/ssl_with_p12_intermediate/index.js +++ b/test/server_integration/http/ssl_with_p12_intermediate/index.js @@ -9,7 +9,8 @@ export default function ({ getService }) { const supertest = getService('supertest'); - describe('kibana server with ssl', () => { + // FLAKY: https://github.com/elastic/kibana/issues/148515 + describe.skip('kibana server with ssl', () => { it('handles requests using ssl with a P12 keystore that uses an intermediate CA', async () => { await supertest.get('/').expect(302); }); diff --git a/test/tsconfig.json b/test/tsconfig.json index 904735349c3ad..2d4e7e38b9428 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,10 +1,7 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true, + "outDir": "target/types", "types": [ "node", "@emotion/react/types/css-prop", @@ -29,44 +26,50 @@ "*/plugins/**/*", ], "kbn_references": [ - { "path": "../src/core/tsconfig.json" }, + "@kbn/core", { "path": "../src/setup_node_env/tsconfig.json" }, - { "path": "../src/plugins/telemetry_management_section/tsconfig.json" }, - { "path": "../src/plugins/advanced_settings/tsconfig.json" }, - { "path": "../src/plugins/management/tsconfig.json" }, - { "path": "../src/plugins/bfetch/tsconfig.json" }, - { "path": "../src/plugins/charts/tsconfig.json" }, - { "path": "../src/plugins/console/tsconfig.json" }, - { "path": "../src/plugins/dashboard/tsconfig.json" }, - { "path": "../src/plugins/discover/tsconfig.json" }, - { "path": "../src/plugins/embeddable/tsconfig.json" }, - { "path": "../src/plugins/es_ui_shared/tsconfig.json" }, - { "path": "../src/plugins/expressions/tsconfig.json" }, - { "path": "../src/plugins/home/tsconfig.json" }, - { "path": "../src/plugins/inspector/tsconfig.json" }, - { "path": "../src/plugins/kibana_overview/tsconfig.json" }, - { "path": "../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../src/plugins/kibana_usage_collection/tsconfig.json" }, - { "path": "../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../src/plugins/navigation/tsconfig.json" }, - { "path": "../src/plugins/unified_search/tsconfig.json" }, - { "path": "../src/plugins/newsfeed/tsconfig.json" }, - { "path": "../src/plugins/saved_objects/tsconfig.json" }, - { "path": "../src/plugins/saved_objects_management/tsconfig.json" }, - { "path": "../src/plugins/saved_objects_tagging_oss/tsconfig.json" }, - { "path": "../src/plugins/telemetry_collection_manager/tsconfig.json" }, - { "path": "../src/plugins/telemetry/tsconfig.json" }, - { "path": "../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../src/plugins/url_forwarding/tsconfig.json" }, - { "path": "../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../src/plugins/data_view_management/tsconfig.json" }, - { "path": "../src/plugins/visualizations/tsconfig.json" }, - { "path": "analytics/fixtures/plugins/analytics_ftr_helpers/tsconfig.json"}, - { "path": "analytics/fixtures/plugins/analytics_plugin_a/tsconfig.json"}, + "@kbn/bfetch-plugin", + "@kbn/dashboard-plugin", + "@kbn/expressions-plugin", + "@kbn/saved-objects-management-plugin", + "@kbn/telemetry-plugin", + "@kbn/usage-collection-plugin", + "@kbn/visualizations-plugin", + "@kbn/analytics-ftr-helpers-plugin", + "@kbn/analytics-plugin-a-plugin", { "path": "interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json" }, - { "path": "plugin_functional/plugins/core_app_status/tsconfig.json" }, - { "path": "plugin_functional/plugins/core_provider_plugin/tsconfig.json" }, - { "path": "server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json" }, - { "path": "server_integration/__fixtures__/plugins/status_plugin_b/tsconfig.json" }, + "@kbn/core-app-status-plugin", + "@kbn/core-provider-plugin", + "@kbn/test", + "@kbn/repo-info", + "@kbn/utils", + "@kbn/expect", + "@kbn/data-plugin", + "@kbn/ftr-common-functional-services", + "@kbn/tooling-log", + "@kbn/std", + "@kbn/test-subj-selector", + "@kbn/rison", + "@kbn/controls-plugin", + "@kbn/field-formats-plugin", + "@kbn/axe-config", + "@kbn/dev-cli-runner", + "@kbn/dev-cli-errors", + "@kbn/data-view-field-editor-plugin", + "@kbn/data-views-plugin", + "@kbn/guided-onboarding-plugin", + "@kbn/guided-onboarding", + "@kbn/config-schema", + "@kbn/analytics", + "@kbn/field-types", + "@kbn/ftr-screenshot-filename", + "@kbn/es-archiver", + "@kbn/core-application-browser", + "@kbn/screenshot-mode-plugin", + "@kbn/dev-utils", + "@kbn/analytics-client", + "@kbn/safer-lodash-set", + "@kbn/utility-types", + "@kbn/dev-proc-runner", ] } diff --git a/tsconfig.base.json b/tsconfig.base.json index 24261b27d66ec..00ac0a8205740 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -3,11 +3,43 @@ "baseUrl": ".", "rootDir": ".", "paths": { - "@kbn/core": ["src/core"], - "@kbn/core/*": ["src/core/*"], // START AUTOMATED PACKAGE LISTING + "@kbn/ace": ["packages/kbn-ace"], + "@kbn/ace/*": ["packages/kbn-ace/*"], + "@kbn/actions-plugin": ["x-pack/plugins/actions"], + "@kbn/actions-plugin/*": ["x-pack/plugins/actions/*"], + "@kbn/advanced-settings-plugin": ["src/plugins/advanced_settings"], + "@kbn/advanced-settings-plugin/*": ["src/plugins/advanced_settings/*"], + "@kbn/aiops-components": ["x-pack/packages/ml/aiops_components"], + "@kbn/aiops-components/*": ["x-pack/packages/ml/aiops_components/*"], + "@kbn/aiops-plugin": ["x-pack/plugins/aiops"], + "@kbn/aiops-plugin/*": ["x-pack/plugins/aiops/*"], + "@kbn/aiops-utils": ["x-pack/packages/ml/aiops_utils"], + "@kbn/aiops-utils/*": ["x-pack/packages/ml/aiops_utils/*"], + "@kbn/alerting-example-plugin": ["x-pack/examples/alerting_example"], + "@kbn/alerting-example-plugin/*": ["x-pack/examples/alerting_example/*"], + "@kbn/alerting-fixture-plugin": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/alerts"], + "@kbn/alerting-fixture-plugin/*": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/alerts/*"], + "@kbn/alerting-plugin": ["x-pack/plugins/alerting"], + "@kbn/alerting-plugin/*": ["x-pack/plugins/alerting/*"], + "@kbn/alerts": ["packages/kbn-alerts"], + "@kbn/alerts/*": ["packages/kbn-alerts/*"], + "@kbn/ambient-common-types": ["packages/kbn-ambient-common-types"], + "@kbn/ambient-common-types/*": ["packages/kbn-ambient-common-types/*"], + "@kbn/ambient-ftr-types": ["packages/kbn-ambient-ftr-types"], + "@kbn/ambient-ftr-types/*": ["packages/kbn-ambient-ftr-types/*"], + "@kbn/ambient-storybook-types": ["packages/kbn-ambient-storybook-types"], + "@kbn/ambient-storybook-types/*": ["packages/kbn-ambient-storybook-types/*"], + "@kbn/ambient-ui-types": ["packages/kbn-ambient-ui-types"], + "@kbn/ambient-ui-types/*": ["packages/kbn-ambient-ui-types/*"], + "@kbn/analytics": ["packages/kbn-analytics"], + "@kbn/analytics/*": ["packages/kbn-analytics/*"], "@kbn/analytics-client": ["packages/analytics/client"], "@kbn/analytics-client/*": ["packages/analytics/client/*"], + "@kbn/analytics-ftr-helpers-plugin": ["test/analytics/fixtures/plugins/analytics_ftr_helpers"], + "@kbn/analytics-ftr-helpers-plugin/*": ["test/analytics/fixtures/plugins/analytics_ftr_helpers/*"], + "@kbn/analytics-plugin-a-plugin": ["test/analytics/fixtures/plugins/analytics_plugin_a"], + "@kbn/analytics-plugin-a-plugin/*": ["test/analytics/fixtures/plugins/analytics_plugin_a/*"], "@kbn/analytics-shippers-elastic-v3-browser": ["packages/analytics/shippers/elastic_v3/browser"], "@kbn/analytics-shippers-elastic-v3-browser/*": ["packages/analytics/shippers/elastic_v3/browser/*"], "@kbn/analytics-shippers-elastic-v3-common": ["packages/analytics/shippers/elastic_v3/common"], @@ -18,10 +50,98 @@ "@kbn/analytics-shippers-fullstory/*": ["packages/analytics/shippers/fullstory/*"], "@kbn/analytics-shippers-gainsight": ["packages/analytics/shippers/gainsight"], "@kbn/analytics-shippers-gainsight/*": ["packages/analytics/shippers/gainsight/*"], + "@kbn/apm-config-loader": ["packages/kbn-apm-config-loader"], + "@kbn/apm-config-loader/*": ["packages/kbn-apm-config-loader/*"], + "@kbn/apm-plugin": ["x-pack/plugins/apm"], + "@kbn/apm-plugin/*": ["x-pack/plugins/apm/*"], + "@kbn/apm-synthtrace": ["packages/kbn-apm-synthtrace"], + "@kbn/apm-synthtrace/*": ["packages/kbn-apm-synthtrace/*"], + "@kbn/apm-synthtrace-client": ["packages/kbn-apm-synthtrace-client"], + "@kbn/apm-synthtrace-client/*": ["packages/kbn-apm-synthtrace-client/*"], + "@kbn/apm-utils": ["packages/kbn-apm-utils"], + "@kbn/apm-utils/*": ["packages/kbn-apm-utils/*"], + "@kbn/app-link-test-plugin": ["test/plugin_functional/plugins/app_link_test"], + "@kbn/app-link-test-plugin/*": ["test/plugin_functional/plugins/app_link_test/*"], + "@kbn/application-usage-test-plugin": ["x-pack/test/usage_collection/plugins/application_usage_test"], + "@kbn/application-usage-test-plugin/*": ["x-pack/test/usage_collection/plugins/application_usage_test/*"], + "@kbn/axe-config": ["packages/kbn-axe-config"], + "@kbn/axe-config/*": ["packages/kbn-axe-config/*"], + "@kbn/babel-plugin-package-imports": ["packages/kbn-babel-plugin-package-imports"], + "@kbn/babel-plugin-package-imports/*": ["packages/kbn-babel-plugin-package-imports/*"], + "@kbn/babel-preset": ["packages/kbn-babel-preset"], + "@kbn/babel-preset/*": ["packages/kbn-babel-preset/*"], + "@kbn/babel-register": ["packages/kbn-babel-register"], + "@kbn/babel-register/*": ["packages/kbn-babel-register/*"], + "@kbn/babel-transform": ["packages/kbn-babel-transform"], + "@kbn/babel-transform/*": ["packages/kbn-babel-transform/*"], + "@kbn/banners-plugin": ["x-pack/plugins/banners"], + "@kbn/banners-plugin/*": ["x-pack/plugins/banners/*"], + "@kbn/bazel-packages": ["packages/kbn-bazel-packages"], + "@kbn/bazel-packages/*": ["packages/kbn-bazel-packages/*"], + "@kbn/bazel-runner": ["packages/kbn-bazel-runner"], + "@kbn/bazel-runner/*": ["packages/kbn-bazel-runner/*"], + "@kbn/bfetch-explorer-plugin": ["examples/bfetch_explorer"], + "@kbn/bfetch-explorer-plugin/*": ["examples/bfetch_explorer/*"], + "@kbn/bfetch-plugin": ["src/plugins/bfetch"], + "@kbn/bfetch-plugin/*": ["src/plugins/bfetch/*"], + "@kbn/canvas-plugin": ["x-pack/plugins/canvas"], + "@kbn/canvas-plugin/*": ["x-pack/plugins/canvas/*"], + "@kbn/cases-components": ["packages/kbn-cases-components"], + "@kbn/cases-components/*": ["packages/kbn-cases-components/*"], + "@kbn/cases-fixture-plugin": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/cases"], + "@kbn/cases-fixture-plugin/*": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/cases/*"], + "@kbn/cases-plugin": ["x-pack/plugins/cases"], + "@kbn/cases-plugin/*": ["x-pack/plugins/cases/*"], + "@kbn/chart-icons": ["packages/kbn-chart-icons"], + "@kbn/chart-icons/*": ["packages/kbn-chart-icons/*"], + "@kbn/charts-plugin": ["src/plugins/charts"], + "@kbn/charts-plugin/*": ["src/plugins/charts/*"], + "@kbn/ci-stats-core": ["packages/kbn-ci-stats-core"], + "@kbn/ci-stats-core/*": ["packages/kbn-ci-stats-core/*"], + "@kbn/ci-stats-performance-metrics": ["packages/kbn-ci-stats-performance-metrics"], + "@kbn/ci-stats-performance-metrics/*": ["packages/kbn-ci-stats-performance-metrics/*"], + "@kbn/ci-stats-reporter": ["packages/kbn-ci-stats-reporter"], + "@kbn/ci-stats-reporter/*": ["packages/kbn-ci-stats-reporter/*"], + "@kbn/cli-dev-mode": ["packages/kbn-cli-dev-mode"], + "@kbn/cli-dev-mode/*": ["packages/kbn-cli-dev-mode/*"], + "@kbn/cloud-chat-plugin": ["x-pack/plugins/cloud_integrations/cloud_chat"], + "@kbn/cloud-chat-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_chat/*"], + "@kbn/cloud-data-migration-plugin": ["x-pack/plugins/cloud_integrations/cloud_data_migration"], + "@kbn/cloud-data-migration-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_data_migration/*"], + "@kbn/cloud-defend-plugin": ["x-pack/plugins/cloud_defend"], + "@kbn/cloud-defend-plugin/*": ["x-pack/plugins/cloud_defend/*"], + "@kbn/cloud-experiments-plugin": ["x-pack/plugins/cloud_integrations/cloud_experiments"], + "@kbn/cloud-experiments-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_experiments/*"], + "@kbn/cloud-full-story-plugin": ["x-pack/plugins/cloud_integrations/cloud_full_story"], + "@kbn/cloud-full-story-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_full_story/*"], + "@kbn/cloud-gainsight-plugin": ["x-pack/plugins/cloud_integrations/cloud_gain_sight"], + "@kbn/cloud-gainsight-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_gain_sight/*"], + "@kbn/cloud-links-plugin": ["x-pack/plugins/cloud_integrations/cloud_links"], + "@kbn/cloud-links-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_links/*"], + "@kbn/cloud-plugin": ["x-pack/plugins/cloud"], + "@kbn/cloud-plugin/*": ["x-pack/plugins/cloud/*"], + "@kbn/cloud-security-posture-plugin": ["x-pack/plugins/cloud_security_posture"], + "@kbn/cloud-security-posture-plugin/*": ["x-pack/plugins/cloud_security_posture/*"], + "@kbn/coloring": ["packages/kbn-coloring"], + "@kbn/coloring/*": ["packages/kbn-coloring/*"], + "@kbn/config": ["packages/kbn-config"], + "@kbn/config/*": ["packages/kbn-config/*"], + "@kbn/config-mocks": ["packages/kbn-config-mocks"], + "@kbn/config-mocks/*": ["packages/kbn-config-mocks/*"], + "@kbn/config-schema": ["packages/kbn-config-schema"], + "@kbn/config-schema/*": ["packages/kbn-config-schema/*"], + "@kbn/console-plugin": ["src/plugins/console"], + "@kbn/console-plugin/*": ["src/plugins/console/*"], "@kbn/content-management-content-editor": ["packages/content-management/content_editor"], "@kbn/content-management-content-editor/*": ["packages/content-management/content_editor/*"], "@kbn/content-management-table-list": ["packages/content-management/table_list"], "@kbn/content-management-table-list/*": ["packages/content-management/table_list/*"], + "@kbn/controls-example-plugin": ["examples/controls_example"], + "@kbn/controls-example-plugin/*": ["examples/controls_example/*"], + "@kbn/controls-plugin": ["src/plugins/controls"], + "@kbn/controls-plugin/*": ["src/plugins/controls/*"], + "@kbn/core": ["src/core"], + "@kbn/core/*": ["src/core/*"], "@kbn/core-analytics-browser": ["packages/core/analytics/core-analytics-browser"], "@kbn/core-analytics-browser/*": ["packages/core/analytics/core-analytics-browser/*"], "@kbn/core-analytics-browser-internal": ["packages/core/analytics/core-analytics-browser-internal"], @@ -34,6 +154,8 @@ "@kbn/core-analytics-server-internal/*": ["packages/core/analytics/core-analytics-server-internal/*"], "@kbn/core-analytics-server-mocks": ["packages/core/analytics/core-analytics-server-mocks"], "@kbn/core-analytics-server-mocks/*": ["packages/core/analytics/core-analytics-server-mocks/*"], + "@kbn/core-app-status-plugin": ["test/plugin_functional/plugins/core_app_status"], + "@kbn/core-app-status-plugin/*": ["test/plugin_functional/plugins/core_app_status/*"], "@kbn/core-application-browser": ["packages/core/application/core-application-browser"], "@kbn/core-application-browser/*": ["packages/core/application/core-application-browser/*"], "@kbn/core-application-browser-internal": ["packages/core/application/core-application-browser-internal"], @@ -140,6 +262,8 @@ "@kbn/core-fatal-errors-browser-internal/*": ["packages/core/fatal-errors/core-fatal-errors-browser-internal/*"], "@kbn/core-fatal-errors-browser-mocks": ["packages/core/fatal-errors/core-fatal-errors-browser-mocks"], "@kbn/core-fatal-errors-browser-mocks/*": ["packages/core/fatal-errors/core-fatal-errors-browser-mocks/*"], + "@kbn/core-history-block-plugin": ["test/plugin_functional/plugins/core_history_block"], + "@kbn/core-history-block-plugin/*": ["test/plugin_functional/plugins/core_history_block/*"], "@kbn/core-http-browser": ["packages/core/http/core-http-browser"], "@kbn/core-http-browser/*": ["packages/core/http/core-http-browser/*"], "@kbn/core-http-browser-internal": ["packages/core/http/core-http-browser-internal"], @@ -152,6 +276,8 @@ "@kbn/core-http-context-server-internal/*": ["packages/core/http/core-http-context-server-internal/*"], "@kbn/core-http-context-server-mocks": ["packages/core/http/core-http-context-server-mocks"], "@kbn/core-http-context-server-mocks/*": ["packages/core/http/core-http-context-server-mocks/*"], + "@kbn/core-http-plugin": ["test/plugin_functional/plugins/core_http"], + "@kbn/core-http-plugin/*": ["test/plugin_functional/plugins/core_http/*"], "@kbn/core-http-request-handler-context-server": ["packages/core/http/core-http-request-handler-context-server"], "@kbn/core-http-request-handler-context-server/*": ["packages/core/http/core-http-request-handler-context-server/*"], "@kbn/core-http-request-handler-context-server-internal": ["packages/core/http/core-http-request-handler-context-server-internal"], @@ -250,6 +376,26 @@ "@kbn/core-overlays-browser-internal/*": ["packages/core/overlays/core-overlays-browser-internal/*"], "@kbn/core-overlays-browser-mocks": ["packages/core/overlays/core-overlays-browser-mocks"], "@kbn/core-overlays-browser-mocks/*": ["packages/core/overlays/core-overlays-browser-mocks/*"], + "@kbn/core-plugin-a-plugin": ["test/plugin_functional/plugins/core_plugin_a"], + "@kbn/core-plugin-a-plugin/*": ["test/plugin_functional/plugins/core_plugin_a/*"], + "@kbn/core-plugin-appleave-plugin": ["test/plugin_functional/plugins/core_plugin_appleave"], + "@kbn/core-plugin-appleave-plugin/*": ["test/plugin_functional/plugins/core_plugin_appleave/*"], + "@kbn/core-plugin-b-plugin": ["test/plugin_functional/plugins/core_plugin_b"], + "@kbn/core-plugin-b-plugin/*": ["test/plugin_functional/plugins/core_plugin_b/*"], + "@kbn/core-plugin-chromeless-plugin": ["test/plugin_functional/plugins/core_plugin_chromeless"], + "@kbn/core-plugin-chromeless-plugin/*": ["test/plugin_functional/plugins/core_plugin_chromeless/*"], + "@kbn/core-plugin-deep-links-plugin": ["test/plugin_functional/plugins/core_plugin_deep_links"], + "@kbn/core-plugin-deep-links-plugin/*": ["test/plugin_functional/plugins/core_plugin_deep_links/*"], + "@kbn/core-plugin-deprecations-plugin": ["test/plugin_functional/plugins/core_plugin_deprecations"], + "@kbn/core-plugin-deprecations-plugin/*": ["test/plugin_functional/plugins/core_plugin_deprecations/*"], + "@kbn/core-plugin-execution-context-plugin": ["test/plugin_functional/plugins/core_plugin_execution_context"], + "@kbn/core-plugin-execution-context-plugin/*": ["test/plugin_functional/plugins/core_plugin_execution_context/*"], + "@kbn/core-plugin-helpmenu-plugin": ["test/plugin_functional/plugins/core_plugin_helpmenu"], + "@kbn/core-plugin-helpmenu-plugin/*": ["test/plugin_functional/plugins/core_plugin_helpmenu/*"], + "@kbn/core-plugin-route-timeouts-plugin": ["test/plugin_functional/plugins/core_plugin_route_timeouts"], + "@kbn/core-plugin-route-timeouts-plugin/*": ["test/plugin_functional/plugins/core_plugin_route_timeouts/*"], + "@kbn/core-plugin-static-assets-plugin": ["test/plugin_functional/plugins/core_plugin_static_assets"], + "@kbn/core-plugin-static-assets-plugin/*": ["test/plugin_functional/plugins/core_plugin_static_assets/*"], "@kbn/core-plugins-base-server-internal": ["packages/core/plugins/core-plugins-base-server-internal"], "@kbn/core-plugins-base-server-internal/*": ["packages/core/plugins/core-plugins-base-server-internal/*"], "@kbn/core-plugins-browser": ["packages/core/plugins/core-plugins-browser"], @@ -270,6 +416,8 @@ "@kbn/core-preboot-server-internal/*": ["packages/core/preboot/core-preboot-server-internal/*"], "@kbn/core-preboot-server-mocks": ["packages/core/preboot/core-preboot-server-mocks"], "@kbn/core-preboot-server-mocks/*": ["packages/core/preboot/core-preboot-server-mocks/*"], + "@kbn/core-provider-plugin": ["test/plugin_functional/plugins/core_provider_plugin"], + "@kbn/core-provider-plugin/*": ["test/plugin_functional/plugins/core_provider_plugin/*"], "@kbn/core-rendering-browser-internal": ["packages/core/rendering/core-rendering-browser-internal"], "@kbn/core-rendering-browser-internal/*": ["packages/core/rendering/core-rendering-browser-internal/*"], "@kbn/core-rendering-browser-mocks": ["packages/core/rendering/core-rendering-browser-mocks"], @@ -366,66 +514,42 @@ "@kbn/core-usage-data-server-internal/*": ["packages/core/usage-data/core-usage-data-server-internal/*"], "@kbn/core-usage-data-server-mocks": ["packages/core/usage-data/core-usage-data-server-mocks"], "@kbn/core-usage-data-server-mocks/*": ["packages/core/usage-data/core-usage-data-server-mocks/*"], - "@kbn/home-sample-data-card": ["packages/home/sample_data_card"], - "@kbn/home-sample-data-card/*": ["packages/home/sample_data_card/*"], - "@kbn/home-sample-data-tab": ["packages/home/sample_data_tab"], - "@kbn/home-sample-data-tab/*": ["packages/home/sample_data_tab/*"], - "@kbn/home-sample-data-types": ["packages/home/sample_data_types"], - "@kbn/home-sample-data-types/*": ["packages/home/sample_data_types/*"], - "@kbn/ace": ["packages/kbn-ace"], - "@kbn/ace/*": ["packages/kbn-ace/*"], - "@kbn/alerts": ["packages/kbn-alerts"], - "@kbn/alerts/*": ["packages/kbn-alerts/*"], - "@kbn/ambient-common-types": ["packages/kbn-ambient-common-types"], - "@kbn/ambient-common-types/*": ["packages/kbn-ambient-common-types/*"], - "@kbn/ambient-ftr-types": ["packages/kbn-ambient-ftr-types"], - "@kbn/ambient-ftr-types/*": ["packages/kbn-ambient-ftr-types/*"], - "@kbn/ambient-storybook-types": ["packages/kbn-ambient-storybook-types"], - "@kbn/ambient-storybook-types/*": ["packages/kbn-ambient-storybook-types/*"], - "@kbn/ambient-ui-types": ["packages/kbn-ambient-ui-types"], - "@kbn/ambient-ui-types/*": ["packages/kbn-ambient-ui-types/*"], - "@kbn/analytics": ["packages/kbn-analytics"], - "@kbn/analytics/*": ["packages/kbn-analytics/*"], - "@kbn/apm-config-loader": ["packages/kbn-apm-config-loader"], - "@kbn/apm-config-loader/*": ["packages/kbn-apm-config-loader/*"], - "@kbn/apm-synthtrace": ["packages/kbn-apm-synthtrace"], - "@kbn/apm-synthtrace/*": ["packages/kbn-apm-synthtrace/*"], - "@kbn/apm-utils": ["packages/kbn-apm-utils"], - "@kbn/apm-utils/*": ["packages/kbn-apm-utils/*"], - "@kbn/axe-config": ["packages/kbn-axe-config"], - "@kbn/axe-config/*": ["packages/kbn-axe-config/*"], - "@kbn/babel-plugin-synthetic-packages": ["packages/kbn-babel-plugin-synthetic-packages"], - "@kbn/babel-plugin-synthetic-packages/*": ["packages/kbn-babel-plugin-synthetic-packages/*"], - "@kbn/babel-preset": ["packages/kbn-babel-preset"], - "@kbn/babel-preset/*": ["packages/kbn-babel-preset/*"], - "@kbn/bazel-packages": ["packages/kbn-bazel-packages"], - "@kbn/bazel-packages/*": ["packages/kbn-bazel-packages/*"], - "@kbn/bazel-runner": ["packages/kbn-bazel-runner"], - "@kbn/bazel-runner/*": ["packages/kbn-bazel-runner/*"], - "@kbn/cases-components": ["packages/kbn-cases-components"], - "@kbn/cases-components/*": ["packages/kbn-cases-components/*"], - "@kbn/chart-icons": ["packages/kbn-chart-icons"], - "@kbn/chart-icons/*": ["packages/kbn-chart-icons/*"], - "@kbn/ci-stats-core": ["packages/kbn-ci-stats-core"], - "@kbn/ci-stats-core/*": ["packages/kbn-ci-stats-core/*"], - "@kbn/ci-stats-performance-metrics": ["packages/kbn-ci-stats-performance-metrics"], - "@kbn/ci-stats-performance-metrics/*": ["packages/kbn-ci-stats-performance-metrics/*"], - "@kbn/ci-stats-reporter": ["packages/kbn-ci-stats-reporter"], - "@kbn/ci-stats-reporter/*": ["packages/kbn-ci-stats-reporter/*"], - "@kbn/cli-dev-mode": ["packages/kbn-cli-dev-mode"], - "@kbn/cli-dev-mode/*": ["packages/kbn-cli-dev-mode/*"], - "@kbn/coloring": ["packages/kbn-coloring"], - "@kbn/coloring/*": ["packages/kbn-coloring/*"], - "@kbn/config": ["packages/kbn-config"], - "@kbn/config/*": ["packages/kbn-config/*"], - "@kbn/config-mocks": ["packages/kbn-config-mocks"], - "@kbn/config-mocks/*": ["packages/kbn-config-mocks/*"], - "@kbn/config-schema": ["packages/kbn-config-schema"], - "@kbn/config-schema/*": ["packages/kbn-config-schema/*"], + "@kbn/coverage-fixtures-plugin": ["test/common/fixtures/plugins/coverage"], + "@kbn/coverage-fixtures-plugin/*": ["test/common/fixtures/plugins/coverage/*"], + "@kbn/cross-cluster-replication-plugin": ["x-pack/plugins/cross_cluster_replication"], + "@kbn/cross-cluster-replication-plugin/*": ["x-pack/plugins/cross_cluster_replication/*"], "@kbn/crypto": ["packages/kbn-crypto"], "@kbn/crypto/*": ["packages/kbn-crypto/*"], "@kbn/crypto-browser": ["packages/kbn-crypto-browser"], "@kbn/crypto-browser/*": ["packages/kbn-crypto-browser/*"], + "@kbn/custom-branding-plugin": ["x-pack/plugins/custom_branding"], + "@kbn/custom-branding-plugin/*": ["x-pack/plugins/custom_branding/*"], + "@kbn/custom-integrations-plugin": ["src/plugins/custom_integrations"], + "@kbn/custom-integrations-plugin/*": ["src/plugins/custom_integrations/*"], + "@kbn/cypress-config": ["packages/kbn-cypress-config"], + "@kbn/cypress-config/*": ["packages/kbn-cypress-config/*"], + "@kbn/dashboard-embeddable-examples-plugin": ["examples/dashboard_embeddable_examples"], + "@kbn/dashboard-embeddable-examples-plugin/*": ["examples/dashboard_embeddable_examples/*"], + "@kbn/dashboard-enhanced-plugin": ["x-pack/plugins/dashboard_enhanced"], + "@kbn/dashboard-enhanced-plugin/*": ["x-pack/plugins/dashboard_enhanced/*"], + "@kbn/dashboard-plugin": ["src/plugins/dashboard"], + "@kbn/dashboard-plugin/*": ["src/plugins/dashboard/*"], + "@kbn/data-plugin": ["src/plugins/data"], + "@kbn/data-plugin/*": ["src/plugins/data/*"], + "@kbn/data-search-plugin": ["test/plugin_functional/plugins/data_search"], + "@kbn/data-search-plugin/*": ["test/plugin_functional/plugins/data_search/*"], + "@kbn/data-view-editor-plugin": ["src/plugins/data_view_editor"], + "@kbn/data-view-editor-plugin/*": ["src/plugins/data_view_editor/*"], + "@kbn/data-view-field-editor-example-plugin": ["examples/data_view_field_editor_example"], + "@kbn/data-view-field-editor-example-plugin/*": ["examples/data_view_field_editor_example/*"], + "@kbn/data-view-field-editor-plugin": ["src/plugins/data_view_field_editor"], + "@kbn/data-view-field-editor-plugin/*": ["src/plugins/data_view_field_editor/*"], + "@kbn/data-view-management-plugin": ["src/plugins/data_view_management"], + "@kbn/data-view-management-plugin/*": ["src/plugins/data_view_management/*"], + "@kbn/data-views-plugin": ["src/plugins/data_views"], + "@kbn/data-views-plugin/*": ["src/plugins/data_views/*"], + "@kbn/data-visualizer-plugin": ["x-pack/plugins/data_visualizer"], + "@kbn/data-visualizer-plugin/*": ["x-pack/plugins/data_visualizer/*"], "@kbn/datemath": ["packages/kbn-datemath"], "@kbn/datemath/*": ["packages/kbn-datemath/*"], "@kbn/dev-cli-errors": ["packages/kbn-dev-cli-errors"], @@ -434,8 +558,16 @@ "@kbn/dev-cli-runner/*": ["packages/kbn-dev-cli-runner/*"], "@kbn/dev-proc-runner": ["packages/kbn-dev-proc-runner"], "@kbn/dev-proc-runner/*": ["packages/kbn-dev-proc-runner/*"], + "@kbn/dev-tools-plugin": ["src/plugins/dev_tools"], + "@kbn/dev-tools-plugin/*": ["src/plugins/dev_tools/*"], "@kbn/dev-utils": ["packages/kbn-dev-utils"], "@kbn/dev-utils/*": ["packages/kbn-dev-utils/*"], + "@kbn/developer-examples-plugin": ["examples/developer_examples"], + "@kbn/developer-examples-plugin/*": ["examples/developer_examples/*"], + "@kbn/discover-enhanced-plugin": ["x-pack/plugins/discover_enhanced"], + "@kbn/discover-enhanced-plugin/*": ["x-pack/plugins/discover_enhanced/*"], + "@kbn/discover-plugin": ["src/plugins/discover"], + "@kbn/discover-plugin/*": ["src/plugins/discover/*"], "@kbn/doc-links": ["packages/kbn-doc-links"], "@kbn/doc-links/*": ["packages/kbn-doc-links/*"], "@kbn/docs-utils": ["packages/kbn-docs-utils"], @@ -444,6 +576,24 @@ "@kbn/ebt-tools/*": ["packages/kbn-ebt-tools/*"], "@kbn/ecs": ["packages/kbn-ecs"], "@kbn/ecs/*": ["packages/kbn-ecs/*"], + "@kbn/elasticsearch-client-plugin": ["test/plugin_functional/plugins/elasticsearch_client_plugin"], + "@kbn/elasticsearch-client-plugin/*": ["test/plugin_functional/plugins/elasticsearch_client_plugin/*"], + "@kbn/elasticsearch-client-xpack-plugin": ["x-pack/test/plugin_api_integration/plugins/elasticsearch_client"], + "@kbn/elasticsearch-client-xpack-plugin/*": ["x-pack/test/plugin_api_integration/plugins/elasticsearch_client/*"], + "@kbn/embeddable-enhanced-plugin": ["x-pack/plugins/embeddable_enhanced"], + "@kbn/embeddable-enhanced-plugin/*": ["x-pack/plugins/embeddable_enhanced/*"], + "@kbn/embeddable-examples-plugin": ["examples/embeddable_examples"], + "@kbn/embeddable-examples-plugin/*": ["examples/embeddable_examples/*"], + "@kbn/embeddable-explorer-plugin": ["examples/embeddable_explorer"], + "@kbn/embeddable-explorer-plugin/*": ["examples/embeddable_explorer/*"], + "@kbn/embeddable-plugin": ["src/plugins/embeddable"], + "@kbn/embeddable-plugin/*": ["src/plugins/embeddable/*"], + "@kbn/embedded-lens-example-plugin": ["x-pack/examples/embedded_lens_example"], + "@kbn/embedded-lens-example-plugin/*": ["x-pack/examples/embedded_lens_example/*"], + "@kbn/encrypted-saved-objects-plugin": ["x-pack/plugins/encrypted_saved_objects"], + "@kbn/encrypted-saved-objects-plugin/*": ["x-pack/plugins/encrypted_saved_objects/*"], + "@kbn/enterprise-search-plugin": ["x-pack/plugins/enterprise_search"], + "@kbn/enterprise-search-plugin/*": ["x-pack/plugins/enterprise_search/*"], "@kbn/es": ["packages/kbn-es"], "@kbn/es/*": ["packages/kbn-es/*"], "@kbn/es-archiver": ["packages/kbn-es-archiver"], @@ -454,6 +604,8 @@ "@kbn/es-query/*": ["packages/kbn-es-query/*"], "@kbn/es-types": ["packages/kbn-es-types"], "@kbn/es-types/*": ["packages/kbn-es-types/*"], + "@kbn/es-ui-shared-plugin": ["src/plugins/es_ui_shared"], + "@kbn/es-ui-shared-plugin/*": ["src/plugins/es_ui_shared/*"], "@kbn/eslint-config": ["packages/kbn-eslint-config"], "@kbn/eslint-config/*": ["packages/kbn-eslint-config/*"], "@kbn/eslint-plugin-disable": ["packages/kbn-eslint-plugin-disable"], @@ -462,14 +614,70 @@ "@kbn/eslint-plugin-eslint/*": ["packages/kbn-eslint-plugin-eslint/*"], "@kbn/eslint-plugin-imports": ["packages/kbn-eslint-plugin-imports"], "@kbn/eslint-plugin-imports/*": ["packages/kbn-eslint-plugin-imports/*"], + "@kbn/event-annotation-plugin": ["src/plugins/event_annotation"], + "@kbn/event-annotation-plugin/*": ["src/plugins/event_annotation/*"], + "@kbn/event-log-fixture-plugin": ["x-pack/test/plugin_api_integration/plugins/event_log"], + "@kbn/event-log-fixture-plugin/*": ["x-pack/test/plugin_api_integration/plugins/event_log/*"], + "@kbn/event-log-plugin": ["x-pack/plugins/event_log"], + "@kbn/event-log-plugin/*": ["x-pack/plugins/event_log/*"], "@kbn/expect": ["packages/kbn-expect"], "@kbn/expect/*": ["packages/kbn-expect/*"], + "@kbn/exploratory-view-example-plugin": ["x-pack/examples/exploratory_view_example"], + "@kbn/exploratory-view-example-plugin/*": ["x-pack/examples/exploratory_view_example/*"], + "@kbn/expression-error-plugin": ["src/plugins/expression_error"], + "@kbn/expression-error-plugin/*": ["src/plugins/expression_error/*"], + "@kbn/expression-gauge-plugin": ["src/plugins/chart_expressions/expression_gauge"], + "@kbn/expression-gauge-plugin/*": ["src/plugins/chart_expressions/expression_gauge/*"], + "@kbn/expression-heatmap-plugin": ["src/plugins/chart_expressions/expression_heatmap"], + "@kbn/expression-heatmap-plugin/*": ["src/plugins/chart_expressions/expression_heatmap/*"], + "@kbn/expression-image-plugin": ["src/plugins/expression_image"], + "@kbn/expression-image-plugin/*": ["src/plugins/expression_image/*"], + "@kbn/expression-legacy-metric-vis-plugin": ["src/plugins/chart_expressions/expression_legacy_metric"], + "@kbn/expression-legacy-metric-vis-plugin/*": ["src/plugins/chart_expressions/expression_legacy_metric/*"], + "@kbn/expression-metric-plugin": ["src/plugins/expression_metric"], + "@kbn/expression-metric-plugin/*": ["src/plugins/expression_metric/*"], + "@kbn/expression-metric-vis-plugin": ["src/plugins/chart_expressions/expression_metric"], + "@kbn/expression-metric-vis-plugin/*": ["src/plugins/chart_expressions/expression_metric/*"], + "@kbn/expression-partition-vis-plugin": ["src/plugins/chart_expressions/expression_partition_vis"], + "@kbn/expression-partition-vis-plugin/*": ["src/plugins/chart_expressions/expression_partition_vis/*"], + "@kbn/expression-repeat-image-plugin": ["src/plugins/expression_repeat_image"], + "@kbn/expression-repeat-image-plugin/*": ["src/plugins/expression_repeat_image/*"], + "@kbn/expression-reveal-image-plugin": ["src/plugins/expression_reveal_image"], + "@kbn/expression-reveal-image-plugin/*": ["src/plugins/expression_reveal_image/*"], + "@kbn/expression-shape-plugin": ["src/plugins/expression_shape"], + "@kbn/expression-shape-plugin/*": ["src/plugins/expression_shape/*"], + "@kbn/expression-tagcloud-plugin": ["src/plugins/chart_expressions/expression_tagcloud"], + "@kbn/expression-tagcloud-plugin/*": ["src/plugins/chart_expressions/expression_tagcloud/*"], + "@kbn/expression-xy-plugin": ["src/plugins/chart_expressions/expression_xy"], + "@kbn/expression-xy-plugin/*": ["src/plugins/chart_expressions/expression_xy/*"], + "@kbn/expressions-explorer-plugin": ["examples/expressions_explorer"], + "@kbn/expressions-explorer-plugin/*": ["examples/expressions_explorer/*"], + "@kbn/expressions-plugin": ["src/plugins/expressions"], + "@kbn/expressions-plugin/*": ["src/plugins/expressions/*"], "@kbn/failed-test-reporter-cli": ["packages/kbn-failed-test-reporter-cli"], "@kbn/failed-test-reporter-cli/*": ["packages/kbn-failed-test-reporter-cli/*"], + "@kbn/feature-usage-test-plugin": ["x-pack/test/plugin_api_integration/plugins/feature_usage_test"], + "@kbn/feature-usage-test-plugin/*": ["x-pack/test/plugin_api_integration/plugins/feature_usage_test/*"], + "@kbn/features-plugin": ["x-pack/plugins/features"], + "@kbn/features-plugin/*": ["x-pack/plugins/features/*"], + "@kbn/field-formats-example-plugin": ["examples/field_formats_example"], + "@kbn/field-formats-example-plugin/*": ["examples/field_formats_example/*"], + "@kbn/field-formats-plugin": ["src/plugins/field_formats"], + "@kbn/field-formats-plugin/*": ["src/plugins/field_formats/*"], "@kbn/field-types": ["packages/kbn-field-types"], "@kbn/field-types/*": ["packages/kbn-field-types/*"], + "@kbn/file-upload-plugin": ["x-pack/plugins/file_upload"], + "@kbn/file-upload-plugin/*": ["x-pack/plugins/file_upload/*"], + "@kbn/files-example-plugin": ["examples/files_example"], + "@kbn/files-example-plugin/*": ["examples/files_example/*"], + "@kbn/files-management-plugin": ["src/plugins/files_management"], + "@kbn/files-management-plugin/*": ["src/plugins/files_management/*"], + "@kbn/files-plugin": ["src/plugins/files"], + "@kbn/files-plugin/*": ["src/plugins/files/*"], "@kbn/find-used-node-modules": ["packages/kbn-find-used-node-modules"], "@kbn/find-used-node-modules/*": ["packages/kbn-find-used-node-modules/*"], + "@kbn/fleet-plugin": ["x-pack/plugins/fleet"], + "@kbn/fleet-plugin/*": ["x-pack/plugins/fleet/*"], "@kbn/flot-charts": ["packages/kbn-flot-charts"], "@kbn/flot-charts/*": ["packages/kbn-flot-charts/*"], "@kbn/ftr-common-functional-services": ["packages/kbn-ftr-common-functional-services"], @@ -480,20 +688,64 @@ "@kbn/generate/*": ["packages/kbn-generate/*"], "@kbn/get-repo-files": ["packages/kbn-get-repo-files"], "@kbn/get-repo-files/*": ["packages/kbn-get-repo-files/*"], + "@kbn/global-search-bar-plugin": ["x-pack/plugins/global_search_bar"], + "@kbn/global-search-bar-plugin/*": ["x-pack/plugins/global_search_bar/*"], + "@kbn/global-search-plugin": ["x-pack/plugins/global_search"], + "@kbn/global-search-plugin/*": ["x-pack/plugins/global_search/*"], + "@kbn/global-search-providers-plugin": ["x-pack/plugins/global_search_providers"], + "@kbn/global-search-providers-plugin/*": ["x-pack/plugins/global_search_providers/*"], + "@kbn/global-search-test-plugin": ["x-pack/test/plugin_functional/plugins/global_search_test"], + "@kbn/global-search-test-plugin/*": ["x-pack/test/plugin_functional/plugins/global_search_test/*"], + "@kbn/graph-plugin": ["x-pack/plugins/graph"], + "@kbn/graph-plugin/*": ["x-pack/plugins/graph/*"], + "@kbn/grokdebugger-plugin": ["x-pack/plugins/grokdebugger"], + "@kbn/grokdebugger-plugin/*": ["x-pack/plugins/grokdebugger/*"], "@kbn/guided-onboarding": ["packages/kbn-guided-onboarding"], "@kbn/guided-onboarding/*": ["packages/kbn-guided-onboarding/*"], + "@kbn/guided-onboarding-example-plugin": ["examples/guided_onboarding_example"], + "@kbn/guided-onboarding-example-plugin/*": ["examples/guided_onboarding_example/*"], + "@kbn/guided-onboarding-plugin": ["src/plugins/guided_onboarding"], + "@kbn/guided-onboarding-plugin/*": ["src/plugins/guided_onboarding/*"], "@kbn/handlebars": ["packages/kbn-handlebars"], "@kbn/handlebars/*": ["packages/kbn-handlebars/*"], "@kbn/hapi-mocks": ["packages/kbn-hapi-mocks"], "@kbn/hapi-mocks/*": ["packages/kbn-hapi-mocks/*"], "@kbn/health-gateway-server": ["packages/kbn-health-gateway-server"], "@kbn/health-gateway-server/*": ["packages/kbn-health-gateway-server/*"], + "@kbn/hello-world-plugin": ["examples/hello_world"], + "@kbn/hello-world-plugin/*": ["examples/hello_world/*"], + "@kbn/home-plugin": ["src/plugins/home"], + "@kbn/home-plugin/*": ["src/plugins/home/*"], + "@kbn/home-sample-data-card": ["packages/home/sample_data_card"], + "@kbn/home-sample-data-card/*": ["packages/home/sample_data_card/*"], + "@kbn/home-sample-data-tab": ["packages/home/sample_data_tab"], + "@kbn/home-sample-data-tab/*": ["packages/home/sample_data_tab/*"], + "@kbn/home-sample-data-types": ["packages/home/sample_data_types"], + "@kbn/home-sample-data-types/*": ["packages/home/sample_data_types/*"], "@kbn/i18n": ["packages/kbn-i18n"], "@kbn/i18n/*": ["packages/kbn-i18n/*"], "@kbn/i18n-react": ["packages/kbn-i18n-react"], "@kbn/i18n-react/*": ["packages/kbn-i18n-react/*"], + "@kbn/image-embeddable-plugin": ["src/plugins/image_embeddable"], + "@kbn/image-embeddable-plugin/*": ["src/plugins/image_embeddable/*"], "@kbn/import-resolver": ["packages/kbn-import-resolver"], "@kbn/import-resolver/*": ["packages/kbn-import-resolver/*"], + "@kbn/index-lifecycle-management-plugin": ["x-pack/plugins/index_lifecycle_management"], + "@kbn/index-lifecycle-management-plugin/*": ["x-pack/plugins/index_lifecycle_management/*"], + "@kbn/index-management-plugin": ["x-pack/plugins/index_management"], + "@kbn/index-management-plugin/*": ["x-pack/plugins/index_management/*"], + "@kbn/index-patterns-test-plugin": ["test/plugin_functional/plugins/index_patterns"], + "@kbn/index-patterns-test-plugin/*": ["test/plugin_functional/plugins/index_patterns/*"], + "@kbn/infra-plugin": ["x-pack/plugins/infra"], + "@kbn/infra-plugin/*": ["x-pack/plugins/infra/*"], + "@kbn/ingest-pipelines-plugin": ["x-pack/plugins/ingest_pipelines"], + "@kbn/ingest-pipelines-plugin/*": ["x-pack/plugins/ingest_pipelines/*"], + "@kbn/input-control-vis-plugin": ["src/plugins/input_control_vis"], + "@kbn/input-control-vis-plugin/*": ["src/plugins/input_control_vis/*"], + "@kbn/inspector-plugin": ["src/plugins/inspector"], + "@kbn/inspector-plugin/*": ["src/plugins/inspector/*"], + "@kbn/interactive-setup-plugin": ["src/plugins/interactive_setup"], + "@kbn/interactive-setup-plugin/*": ["src/plugins/interactive_setup/*"], "@kbn/interpreter": ["packages/kbn-interpreter"], "@kbn/interpreter/*": ["packages/kbn-interpreter/*"], "@kbn/io-ts-utils": ["packages/kbn-io-ts-utils"], @@ -502,28 +754,114 @@ "@kbn/jest-serializers/*": ["packages/kbn-jest-serializers/*"], "@kbn/journeys": ["packages/kbn-journeys"], "@kbn/journeys/*": ["packages/kbn-journeys/*"], + "@kbn/kbn-health-gateway-status-plugin": ["test/health_gateway/plugins/status"], + "@kbn/kbn-health-gateway-status-plugin/*": ["test/health_gateway/plugins/status/*"], + "@kbn/kbn-sample-panel-action-plugin": ["test/plugin_functional/plugins/kbn_sample_panel_action"], + "@kbn/kbn-sample-panel-action-plugin/*": ["test/plugin_functional/plugins/kbn_sample_panel_action/*"], + "@kbn/kbn-top-nav-plugin": ["test/plugin_functional/plugins/kbn_top_nav"], + "@kbn/kbn-top-nav-plugin/*": ["test/plugin_functional/plugins/kbn_top_nav/*"], + "@kbn/kbn-tp-custom-visualizations-plugin": ["test/plugin_functional/plugins/kbn_tp_custom_visualizations"], + "@kbn/kbn-tp-custom-visualizations-plugin/*": ["test/plugin_functional/plugins/kbn_tp_custom_visualizations/*"], + "@kbn/kbn-tp-run-pipeline-plugin": ["test/interpreter_functional/plugins/kbn_tp_run_pipeline"], + "@kbn/kbn-tp-run-pipeline-plugin/*": ["test/interpreter_functional/plugins/kbn_tp_run_pipeline/*"], "@kbn/kibana-manifest-schema": ["packages/kbn-kibana-manifest-schema"], "@kbn/kibana-manifest-schema/*": ["packages/kbn-kibana-manifest-schema/*"], + "@kbn/kibana-overview-plugin": ["src/plugins/kibana_overview"], + "@kbn/kibana-overview-plugin/*": ["src/plugins/kibana_overview/*"], + "@kbn/kibana-react-plugin": ["src/plugins/kibana_react"], + "@kbn/kibana-react-plugin/*": ["src/plugins/kibana_react/*"], + "@kbn/kibana-usage-collection-plugin": ["src/plugins/kibana_usage_collection"], + "@kbn/kibana-usage-collection-plugin/*": ["src/plugins/kibana_usage_collection/*"], + "@kbn/kibana-utils-plugin": ["src/plugins/kibana_utils"], + "@kbn/kibana-utils-plugin/*": ["src/plugins/kibana_utils/*"], + "@kbn/kubernetes-security-plugin": ["x-pack/plugins/kubernetes_security"], + "@kbn/kubernetes-security-plugin/*": ["x-pack/plugins/kubernetes_security/*"], "@kbn/language-documentation-popover": ["packages/kbn-language-documentation-popover"], "@kbn/language-documentation-popover/*": ["packages/kbn-language-documentation-popover/*"], + "@kbn/lens-plugin": ["x-pack/plugins/lens"], + "@kbn/lens-plugin/*": ["x-pack/plugins/lens/*"], + "@kbn/license-api-guard-plugin": ["x-pack/plugins/license_api_guard"], + "@kbn/license-api-guard-plugin/*": ["x-pack/plugins/license_api_guard/*"], + "@kbn/license-management-plugin": ["x-pack/plugins/license_management"], + "@kbn/license-management-plugin/*": ["x-pack/plugins/license_management/*"], + "@kbn/licensing-plugin": ["x-pack/plugins/licensing"], + "@kbn/licensing-plugin/*": ["x-pack/plugins/licensing/*"], + "@kbn/lists-plugin": ["x-pack/plugins/lists"], + "@kbn/lists-plugin/*": ["x-pack/plugins/lists/*"], + "@kbn/locator-examples-plugin": ["examples/locator_examples"], + "@kbn/locator-examples-plugin/*": ["examples/locator_examples/*"], + "@kbn/locator-explorer-plugin": ["examples/locator_explorer"], + "@kbn/locator-explorer-plugin/*": ["examples/locator_explorer/*"], "@kbn/logging": ["packages/kbn-logging"], "@kbn/logging/*": ["packages/kbn-logging/*"], "@kbn/logging-mocks": ["packages/kbn-logging-mocks"], "@kbn/logging-mocks/*": ["packages/kbn-logging-mocks/*"], + "@kbn/logstash-plugin": ["x-pack/plugins/logstash"], + "@kbn/logstash-plugin/*": ["x-pack/plugins/logstash/*"], "@kbn/managed-vscode-config": ["packages/kbn-managed-vscode-config"], "@kbn/managed-vscode-config/*": ["packages/kbn-managed-vscode-config/*"], "@kbn/managed-vscode-config-cli": ["packages/kbn-managed-vscode-config-cli"], "@kbn/managed-vscode-config-cli/*": ["packages/kbn-managed-vscode-config-cli/*"], + "@kbn/management-plugin": ["src/plugins/management"], + "@kbn/management-plugin/*": ["src/plugins/management/*"], + "@kbn/management-test-plugin": ["test/plugin_functional/plugins/management_test_plugin"], + "@kbn/management-test-plugin/*": ["test/plugin_functional/plugins/management_test_plugin/*"], "@kbn/mapbox-gl": ["packages/kbn-mapbox-gl"], "@kbn/mapbox-gl/*": ["packages/kbn-mapbox-gl/*"], + "@kbn/maps-custom-raster-source-plugin": ["x-pack/examples/third_party_maps_source_example"], + "@kbn/maps-custom-raster-source-plugin/*": ["x-pack/examples/third_party_maps_source_example/*"], + "@kbn/maps-ems-plugin": ["src/plugins/maps_ems"], + "@kbn/maps-ems-plugin/*": ["src/plugins/maps_ems/*"], + "@kbn/maps-plugin": ["x-pack/plugins/maps"], + "@kbn/maps-plugin/*": ["x-pack/plugins/maps/*"], + "@kbn/ml-agg-utils": ["x-pack/packages/ml/agg_utils"], + "@kbn/ml-agg-utils/*": ["x-pack/packages/ml/agg_utils/*"], + "@kbn/ml-is-defined": ["x-pack/packages/ml/is_defined"], + "@kbn/ml-is-defined/*": ["x-pack/packages/ml/is_defined/*"], + "@kbn/ml-is-populated-object": ["x-pack/packages/ml/is_populated_object"], + "@kbn/ml-is-populated-object/*": ["x-pack/packages/ml/is_populated_object/*"], + "@kbn/ml-local-storage": ["x-pack/packages/ml/local_storage"], + "@kbn/ml-local-storage/*": ["x-pack/packages/ml/local_storage/*"], + "@kbn/ml-nested-property": ["x-pack/packages/ml/nested_property"], + "@kbn/ml-nested-property/*": ["x-pack/packages/ml/nested_property/*"], + "@kbn/ml-plugin": ["x-pack/plugins/ml"], + "@kbn/ml-plugin/*": ["x-pack/plugins/ml/*"], + "@kbn/ml-string-hash": ["x-pack/packages/ml/string_hash"], + "@kbn/ml-string-hash/*": ["x-pack/packages/ml/string_hash/*"], + "@kbn/ml-url-state": ["x-pack/packages/ml/url_state"], + "@kbn/ml-url-state/*": ["x-pack/packages/ml/url_state/*"], "@kbn/monaco": ["packages/kbn-monaco"], "@kbn/monaco/*": ["packages/kbn-monaco/*"], + "@kbn/monitoring-collection-plugin": ["x-pack/plugins/monitoring_collection"], + "@kbn/monitoring-collection-plugin/*": ["x-pack/plugins/monitoring_collection/*"], + "@kbn/monitoring-plugin": ["x-pack/plugins/monitoring"], + "@kbn/monitoring-plugin/*": ["x-pack/plugins/monitoring/*"], + "@kbn/navigation-plugin": ["src/plugins/navigation"], + "@kbn/navigation-plugin/*": ["src/plugins/navigation/*"], + "@kbn/newsfeed-fixtures-plugin": ["test/common/fixtures/plugins/newsfeed"], + "@kbn/newsfeed-fixtures-plugin/*": ["test/common/fixtures/plugins/newsfeed/*"], + "@kbn/newsfeed-plugin": ["src/plugins/newsfeed"], + "@kbn/newsfeed-plugin/*": ["src/plugins/newsfeed/*"], + "@kbn/notifications-plugin": ["x-pack/plugins/notifications"], + "@kbn/notifications-plugin/*": ["x-pack/plugins/notifications/*"], + "@kbn/observability-plugin": ["x-pack/plugins/observability"], + "@kbn/observability-plugin/*": ["x-pack/plugins/observability/*"], + "@kbn/open-telemetry-instrumented-plugin": ["test/common/fixtures/plugins/otel_metrics"], + "@kbn/open-telemetry-instrumented-plugin/*": ["test/common/fixtures/plugins/otel_metrics/*"], "@kbn/optimizer": ["packages/kbn-optimizer"], "@kbn/optimizer/*": ["packages/kbn-optimizer/*"], "@kbn/optimizer-webpack-helpers": ["packages/kbn-optimizer-webpack-helpers"], "@kbn/optimizer-webpack-helpers/*": ["packages/kbn-optimizer-webpack-helpers/*"], "@kbn/osquery-io-ts-types": ["packages/kbn-osquery-io-ts-types"], "@kbn/osquery-io-ts-types/*": ["packages/kbn-osquery-io-ts-types/*"], + "@kbn/osquery-plugin": ["x-pack/plugins/osquery"], + "@kbn/osquery-plugin/*": ["x-pack/plugins/osquery/*"], + "@kbn/package-map": ["packages/kbn-package-map"], + "@kbn/package-map/*": ["packages/kbn-package-map/*"], + "@kbn/paertial-results-example-plugin": ["examples/partial_results_example"], + "@kbn/paertial-results-example-plugin/*": ["examples/partial_results_example/*"], + "@kbn/painless-lab-plugin": ["x-pack/plugins/painless_lab"], + "@kbn/painless-lab-plugin/*": ["x-pack/plugins/painless_lab/*"], "@kbn/peggy": ["packages/kbn-peggy"], "@kbn/peggy/*": ["packages/kbn-peggy/*"], "@kbn/peggy-loader": ["packages/kbn-peggy-loader"], @@ -536,18 +874,86 @@ "@kbn/plugin-generator/*": ["packages/kbn-plugin-generator/*"], "@kbn/plugin-helpers": ["packages/kbn-plugin-helpers"], "@kbn/plugin-helpers/*": ["packages/kbn-plugin-helpers/*"], + "@kbn/preboot-example-plugin": ["examples/preboot_example"], + "@kbn/preboot-example-plugin/*": ["examples/preboot_example/*"], + "@kbn/presentation-util-plugin": ["src/plugins/presentation_util"], + "@kbn/presentation-util-plugin/*": ["src/plugins/presentation_util/*"], + "@kbn/profiling-plugin": ["x-pack/plugins/profiling"], + "@kbn/profiling-plugin/*": ["x-pack/plugins/profiling/*"], "@kbn/react-field": ["packages/kbn-react-field"], "@kbn/react-field/*": ["packages/kbn-react-field/*"], + "@kbn/remote-clusters-plugin": ["x-pack/plugins/remote_clusters"], + "@kbn/remote-clusters-plugin/*": ["x-pack/plugins/remote_clusters/*"], + "@kbn/rendering-plugin": ["test/plugin_functional/plugins/rendering_plugin"], + "@kbn/rendering-plugin/*": ["test/plugin_functional/plugins/rendering_plugin/*"], + "@kbn/repo-info": ["packages/kbn-repo-info"], + "@kbn/repo-info/*": ["packages/kbn-repo-info/*"], + "@kbn/repo-path": ["packages/kbn-repo-path"], + "@kbn/repo-path/*": ["packages/kbn-repo-path/*"], "@kbn/repo-source-classifier": ["packages/kbn-repo-source-classifier"], "@kbn/repo-source-classifier/*": ["packages/kbn-repo-source-classifier/*"], "@kbn/repo-source-classifier-cli": ["packages/kbn-repo-source-classifier-cli"], "@kbn/repo-source-classifier-cli/*": ["packages/kbn-repo-source-classifier-cli/*"], + "@kbn/reporting-example-plugin": ["x-pack/examples/reporting_example"], + "@kbn/reporting-example-plugin/*": ["x-pack/examples/reporting_example/*"], + "@kbn/reporting-plugin": ["x-pack/plugins/reporting"], + "@kbn/reporting-plugin/*": ["x-pack/plugins/reporting/*"], + "@kbn/resolver-test-plugin": ["x-pack/test/plugin_functional/plugins/resolver_test"], + "@kbn/resolver-test-plugin/*": ["x-pack/test/plugin_functional/plugins/resolver_test/*"], + "@kbn/response-stream-plugin": ["examples/response_stream"], + "@kbn/response-stream-plugin/*": ["examples/response_stream/*"], "@kbn/rison": ["packages/kbn-rison"], "@kbn/rison/*": ["packages/kbn-rison/*"], + "@kbn/rollup-plugin": ["x-pack/plugins/rollup"], + "@kbn/rollup-plugin/*": ["x-pack/plugins/rollup/*"], + "@kbn/routing-example-plugin": ["examples/routing_example"], + "@kbn/routing-example-plugin/*": ["examples/routing_example/*"], "@kbn/rule-data-utils": ["packages/kbn-rule-data-utils"], "@kbn/rule-data-utils/*": ["packages/kbn-rule-data-utils/*"], + "@kbn/rule-registry-plugin": ["x-pack/plugins/rule_registry"], + "@kbn/rule-registry-plugin/*": ["x-pack/plugins/rule_registry/*"], + "@kbn/runtime-fields-plugin": ["x-pack/plugins/runtime_fields"], + "@kbn/runtime-fields-plugin/*": ["x-pack/plugins/runtime_fields/*"], "@kbn/safer-lodash-set": ["packages/kbn-safer-lodash-set"], "@kbn/safer-lodash-set/*": ["packages/kbn-safer-lodash-set/*"], + "@kbn/sample-task-plugin": ["x-pack/test/plugin_api_integration/plugins/sample_task_plugin"], + "@kbn/sample-task-plugin/*": ["x-pack/test/plugin_api_integration/plugins/sample_task_plugin/*"], + "@kbn/saved-object-export-transforms-plugin": ["test/plugin_functional/plugins/saved_object_export_transforms"], + "@kbn/saved-object-export-transforms-plugin/*": ["test/plugin_functional/plugins/saved_object_export_transforms/*"], + "@kbn/saved-object-import-warnings-plugin": ["test/plugin_functional/plugins/saved_object_import_warnings"], + "@kbn/saved-object-import-warnings-plugin/*": ["test/plugin_functional/plugins/saved_object_import_warnings/*"], + "@kbn/saved-objects-finder-plugin": ["src/plugins/saved_objects_finder"], + "@kbn/saved-objects-finder-plugin/*": ["src/plugins/saved_objects_finder/*"], + "@kbn/saved-objects-hidden-type-plugin": ["test/plugin_functional/plugins/saved_objects_hidden_type"], + "@kbn/saved-objects-hidden-type-plugin/*": ["test/plugin_functional/plugins/saved_objects_hidden_type/*"], + "@kbn/saved-objects-management-plugin": ["src/plugins/saved_objects_management"], + "@kbn/saved-objects-management-plugin/*": ["src/plugins/saved_objects_management/*"], + "@kbn/saved-objects-plugin": ["src/plugins/saved_objects"], + "@kbn/saved-objects-plugin/*": ["src/plugins/saved_objects/*"], + "@kbn/saved-objects-tagging-oss-plugin": ["src/plugins/saved_objects_tagging_oss"], + "@kbn/saved-objects-tagging-oss-plugin/*": ["src/plugins/saved_objects_tagging_oss/*"], + "@kbn/saved-objects-tagging-plugin": ["x-pack/plugins/saved_objects_tagging"], + "@kbn/saved-objects-tagging-plugin/*": ["x-pack/plugins/saved_objects_tagging/*"], + "@kbn/saved-search-plugin": ["src/plugins/saved_search"], + "@kbn/saved-search-plugin/*": ["src/plugins/saved_search/*"], + "@kbn/screenshot-mode-example-plugin": ["examples/screenshot_mode_example"], + "@kbn/screenshot-mode-example-plugin/*": ["examples/screenshot_mode_example/*"], + "@kbn/screenshot-mode-plugin": ["src/plugins/screenshot_mode"], + "@kbn/screenshot-mode-plugin/*": ["src/plugins/screenshot_mode/*"], + "@kbn/screenshotting-example-plugin": ["x-pack/examples/screenshotting_example"], + "@kbn/screenshotting-example-plugin/*": ["x-pack/examples/screenshotting_example/*"], + "@kbn/screenshotting-plugin": ["x-pack/plugins/screenshotting"], + "@kbn/screenshotting-plugin/*": ["x-pack/plugins/screenshotting/*"], + "@kbn/search-examples-plugin": ["examples/search_examples"], + "@kbn/search-examples-plugin/*": ["examples/search_examples/*"], + "@kbn/searchprofiler-plugin": ["x-pack/plugins/searchprofiler"], + "@kbn/searchprofiler-plugin/*": ["x-pack/plugins/searchprofiler/*"], + "@kbn/security-plugin": ["x-pack/plugins/security"], + "@kbn/security-plugin/*": ["x-pack/plugins/security/*"], + "@kbn/security-solution-plugin": ["x-pack/plugins/security_solution"], + "@kbn/security-solution-plugin/*": ["x-pack/plugins/security_solution/*"], + "@kbn/security-test-endpoints-plugin": ["x-pack/test/security_functional/fixtures/common/test_endpoints"], + "@kbn/security-test-endpoints-plugin/*": ["x-pack/test/security_functional/fixtures/common/test_endpoints/*"], "@kbn/securitysolution-autocomplete": ["packages/kbn-securitysolution-autocomplete"], "@kbn/securitysolution-autocomplete/*": ["packages/kbn-securitysolution-autocomplete/*"], "@kbn/securitysolution-es-utils": ["packages/kbn-securitysolution-es-utils"], @@ -582,76 +988,28 @@ "@kbn/server-http-tools/*": ["packages/kbn-server-http-tools/*"], "@kbn/server-route-repository": ["packages/kbn-server-route-repository"], "@kbn/server-route-repository/*": ["packages/kbn-server-route-repository/*"], + "@kbn/session-notifications-plugin": ["test/plugin_functional/plugins/session_notifications"], + "@kbn/session-notifications-plugin/*": ["test/plugin_functional/plugins/session_notifications/*"], + "@kbn/session-view-plugin": ["x-pack/plugins/session_view"], + "@kbn/session-view-plugin/*": ["x-pack/plugins/session_view/*"], + "@kbn/share-examples-plugin": ["examples/share_examples"], + "@kbn/share-examples-plugin/*": ["examples/share_examples/*"], + "@kbn/share-plugin": ["src/plugins/share"], + "@kbn/share-plugin/*": ["src/plugins/share/*"], "@kbn/shared-svg": ["packages/kbn-shared-svg"], "@kbn/shared-svg/*": ["packages/kbn-shared-svg/*"], - "@kbn/shared-ux-utility": ["packages/kbn-shared-ux-utility"], - "@kbn/shared-ux-utility/*": ["packages/kbn-shared-ux-utility/*"], - "@kbn/some-dev-log": ["packages/kbn-some-dev-log"], - "@kbn/some-dev-log/*": ["packages/kbn-some-dev-log/*"], - "@kbn/sort-package-json": ["packages/kbn-sort-package-json"], - "@kbn/sort-package-json/*": ["packages/kbn-sort-package-json/*"], - "@kbn/spec-to-console": ["packages/kbn-spec-to-console"], - "@kbn/spec-to-console/*": ["packages/kbn-spec-to-console/*"], - "@kbn/std": ["packages/kbn-std"], - "@kbn/std/*": ["packages/kbn-std/*"], - "@kbn/stdio-dev-helpers": ["packages/kbn-stdio-dev-helpers"], - "@kbn/stdio-dev-helpers/*": ["packages/kbn-stdio-dev-helpers/*"], - "@kbn/storybook": ["packages/kbn-storybook"], - "@kbn/storybook/*": ["packages/kbn-storybook/*"], - "@kbn/synthetic-package-map": ["packages/kbn-synthetic-package-map"], - "@kbn/synthetic-package-map/*": ["packages/kbn-synthetic-package-map/*"], - "@kbn/telemetry-tools": ["packages/kbn-telemetry-tools"], - "@kbn/telemetry-tools/*": ["packages/kbn-telemetry-tools/*"], - "@kbn/test": ["packages/kbn-test"], - "@kbn/test/*": ["packages/kbn-test/*"], - "@kbn/test-jest-helpers": ["packages/kbn-test-jest-helpers"], - "@kbn/test-jest-helpers/*": ["packages/kbn-test-jest-helpers/*"], - "@kbn/test-subj-selector": ["packages/kbn-test-subj-selector"], - "@kbn/test-subj-selector/*": ["packages/kbn-test-subj-selector/*"], - "@kbn/timelion-grammar": ["packages/kbn-timelion-grammar"], - "@kbn/timelion-grammar/*": ["packages/kbn-timelion-grammar/*"], - "@kbn/tinymath": ["packages/kbn-tinymath"], - "@kbn/tinymath/*": ["packages/kbn-tinymath/*"], - "@kbn/tooling-log": ["packages/kbn-tooling-log"], - "@kbn/tooling-log/*": ["packages/kbn-tooling-log/*"], - "@kbn/type-summarizer": ["packages/kbn-type-summarizer"], - "@kbn/type-summarizer/*": ["packages/kbn-type-summarizer/*"], - "@kbn/type-summarizer-cli": ["packages/kbn-type-summarizer-cli"], - "@kbn/type-summarizer-cli/*": ["packages/kbn-type-summarizer-cli/*"], - "@kbn/type-summarizer-core": ["packages/kbn-type-summarizer-core"], - "@kbn/type-summarizer-core/*": ["packages/kbn-type-summarizer-core/*"], - "@kbn/typed-react-router-config": ["packages/kbn-typed-react-router-config"], - "@kbn/typed-react-router-config/*": ["packages/kbn-typed-react-router-config/*"], - "@kbn/ui-framework": ["packages/kbn-ui-framework"], - "@kbn/ui-framework/*": ["packages/kbn-ui-framework/*"], - "@kbn/ui-shared-deps-npm": ["packages/kbn-ui-shared-deps-npm"], - "@kbn/ui-shared-deps-npm/*": ["packages/kbn-ui-shared-deps-npm/*"], - "@kbn/ui-shared-deps-src": ["packages/kbn-ui-shared-deps-src"], - "@kbn/ui-shared-deps-src/*": ["packages/kbn-ui-shared-deps-src/*"], - "@kbn/ui-theme": ["packages/kbn-ui-theme"], - "@kbn/ui-theme/*": ["packages/kbn-ui-theme/*"], - "@kbn/user-profile-components": ["packages/kbn-user-profile-components"], - "@kbn/user-profile-components/*": ["packages/kbn-user-profile-components/*"], - "@kbn/utility-types": ["packages/kbn-utility-types"], - "@kbn/utility-types/*": ["packages/kbn-utility-types/*"], - "@kbn/utility-types-jest": ["packages/kbn-utility-types-jest"], - "@kbn/utility-types-jest/*": ["packages/kbn-utility-types-jest/*"], - "@kbn/utils": ["packages/kbn-utils"], - "@kbn/utils/*": ["packages/kbn-utils/*"], - "@kbn/yarn-lock-validator": ["packages/kbn-yarn-lock-validator"], - "@kbn/yarn-lock-validator/*": ["packages/kbn-yarn-lock-validator/*"], "@kbn/shared-ux-avatar-solution": ["packages/shared-ux/avatar/solution"], "@kbn/shared-ux-avatar-solution/*": ["packages/shared-ux/avatar/solution/*"], "@kbn/shared-ux-avatar-user-profile-components": ["packages/shared-ux/avatar/user_profile/impl"], "@kbn/shared-ux-avatar-user-profile-components/*": ["packages/shared-ux/avatar/user_profile/impl/*"], - "@kbn/shared-ux-button-toolbar": ["packages/shared-ux/button_toolbar"], - "@kbn/shared-ux-button-toolbar/*": ["packages/shared-ux/button_toolbar/*"], "@kbn/shared-ux-button-exit-full-screen": ["packages/shared-ux/button/exit_full_screen/impl"], "@kbn/shared-ux-button-exit-full-screen/*": ["packages/shared-ux/button/exit_full_screen/impl/*"], "@kbn/shared-ux-button-exit-full-screen-mocks": ["packages/shared-ux/button/exit_full_screen/mocks"], "@kbn/shared-ux-button-exit-full-screen-mocks/*": ["packages/shared-ux/button/exit_full_screen/mocks/*"], "@kbn/shared-ux-button-exit-full-screen-types": ["packages/shared-ux/button/exit_full_screen/types"], "@kbn/shared-ux-button-exit-full-screen-types/*": ["packages/shared-ux/button/exit_full_screen/types/*"], + "@kbn/shared-ux-button-toolbar": ["packages/shared-ux/button_toolbar"], + "@kbn/shared-ux-button-toolbar/*": ["packages/shared-ux/button_toolbar/*"], "@kbn/shared-ux-card-no-data": ["packages/shared-ux/card/no_data/impl"], "@kbn/shared-ux-card-no-data/*": ["packages/shared-ux/card/no_data/impl/*"], "@kbn/shared-ux-card-no-data-mocks": ["packages/shared-ux/card/no_data/mocks"], @@ -660,18 +1018,18 @@ "@kbn/shared-ux-card-no-data-types/*": ["packages/shared-ux/card/no_data/types/*"], "@kbn/shared-ux-file-context": ["packages/shared-ux/file/context"], "@kbn/shared-ux-file-context/*": ["packages/shared-ux/file/context/*"], - "@kbn/shared-ux-file-picker": ["packages/shared-ux/file/file_picker/impl"], - "@kbn/shared-ux-file-picker/*": ["packages/shared-ux/file/file_picker/impl/*"], - "@kbn/shared-ux-file-upload": ["packages/shared-ux/file/file_upload/impl"], - "@kbn/shared-ux-file-upload/*": ["packages/shared-ux/file/file_upload/impl/*"], "@kbn/shared-ux-file-image": ["packages/shared-ux/file/image/impl"], "@kbn/shared-ux-file-image/*": ["packages/shared-ux/file/image/impl/*"], "@kbn/shared-ux-file-image-mocks": ["packages/shared-ux/file/image/mocks"], "@kbn/shared-ux-file-image-mocks/*": ["packages/shared-ux/file/image/mocks/*"], "@kbn/shared-ux-file-mocks": ["packages/shared-ux/file/mocks"], "@kbn/shared-ux-file-mocks/*": ["packages/shared-ux/file/mocks/*"], + "@kbn/shared-ux-file-picker": ["packages/shared-ux/file/file_picker/impl"], + "@kbn/shared-ux-file-picker/*": ["packages/shared-ux/file/file_picker/impl/*"], "@kbn/shared-ux-file-types": ["packages/shared-ux/file/types"], "@kbn/shared-ux-file-types/*": ["packages/shared-ux/file/types/*"], + "@kbn/shared-ux-file-upload": ["packages/shared-ux/file/file_upload/impl"], + "@kbn/shared-ux-file-upload/*": ["packages/shared-ux/file/file_upload/impl/*"], "@kbn/shared-ux-file-util": ["packages/shared-ux/file/util"], "@kbn/shared-ux-file-util/*": ["packages/shared-ux/file/util/*"], "@kbn/shared-ux-link-redirect-app": ["packages/shared-ux/link/redirect_app/impl"], @@ -704,14 +1062,14 @@ "@kbn/shared-ux-page-kibana-template-mocks/*": ["packages/shared-ux/page/kibana_template/mocks/*"], "@kbn/shared-ux-page-kibana-template-types": ["packages/shared-ux/page/kibana_template/types"], "@kbn/shared-ux-page-kibana-template-types/*": ["packages/shared-ux/page/kibana_template/types/*"], + "@kbn/shared-ux-page-no-data": ["packages/shared-ux/page/no_data/impl"], + "@kbn/shared-ux-page-no-data/*": ["packages/shared-ux/page/no_data/impl/*"], "@kbn/shared-ux-page-no-data-config": ["packages/shared-ux/page/no_data_config/impl"], "@kbn/shared-ux-page-no-data-config/*": ["packages/shared-ux/page/no_data_config/impl/*"], "@kbn/shared-ux-page-no-data-config-mocks": ["packages/shared-ux/page/no_data_config/mocks"], "@kbn/shared-ux-page-no-data-config-mocks/*": ["packages/shared-ux/page/no_data_config/mocks/*"], "@kbn/shared-ux-page-no-data-config-types": ["packages/shared-ux/page/no_data_config/types"], "@kbn/shared-ux-page-no-data-config-types/*": ["packages/shared-ux/page/no_data_config/types/*"], - "@kbn/shared-ux-page-no-data": ["packages/shared-ux/page/no_data/impl"], - "@kbn/shared-ux-page-no-data/*": ["packages/shared-ux/page/no_data/impl/*"], "@kbn/shared-ux-page-no-data-mocks": ["packages/shared-ux/page/no_data/mocks"], "@kbn/shared-ux-page-no-data-mocks/*": ["packages/shared-ux/page/no_data/mocks/*"], "@kbn/shared-ux-page-no-data-types": ["packages/shared-ux/page/no_data/types"], @@ -736,206 +1094,154 @@ "@kbn/shared-ux-storybook-config/*": ["packages/shared-ux/storybook/config/*"], "@kbn/shared-ux-storybook-mock": ["packages/shared-ux/storybook/mock"], "@kbn/shared-ux-storybook-mock/*": ["packages/shared-ux/storybook/mock/*"], - "@kbn/ml-agg-utils": ["x-pack/packages/ml/agg_utils"], - "@kbn/ml-agg-utils/*": ["x-pack/packages/ml/agg_utils/*"], - "@kbn/aiops-components": ["x-pack/packages/ml/aiops_components"], - "@kbn/aiops-components/*": ["x-pack/packages/ml/aiops_components/*"], - "@kbn/aiops-utils": ["x-pack/packages/ml/aiops_utils"], - "@kbn/aiops-utils/*": ["x-pack/packages/ml/aiops_utils/*"], - "@kbn/ml-is-populated-object": ["x-pack/packages/ml/is_populated_object"], - "@kbn/ml-is-populated-object/*": ["x-pack/packages/ml/is_populated_object/*"], - "@kbn/ml-string-hash": ["x-pack/packages/ml/string_hash"], - "@kbn/ml-string-hash/*": ["x-pack/packages/ml/string_hash/*"], - "@kbn/bfetch-explorer-plugin": ["examples/bfetch_explorer"], - "@kbn/bfetch-explorer-plugin/*": ["examples/bfetch_explorer/*"], - "@kbn/controls-example-plugin": ["examples/controls_example"], - "@kbn/controls-example-plugin/*": ["examples/controls_example/*"], - "@kbn/dashboard-embeddable-examples-plugin": ["examples/dashboard_embeddable_examples"], - "@kbn/dashboard-embeddable-examples-plugin/*": ["examples/dashboard_embeddable_examples/*"], - "@kbn/data-view-field-editor-example-plugin": ["examples/data_view_field_editor_example"], - "@kbn/data-view-field-editor-example-plugin/*": ["examples/data_view_field_editor_example/*"], - "@kbn/developer-examples-plugin": ["examples/developer_examples"], - "@kbn/developer-examples-plugin/*": ["examples/developer_examples/*"], - "@kbn/embeddable-examples-plugin": ["examples/embeddable_examples"], - "@kbn/embeddable-examples-plugin/*": ["examples/embeddable_examples/*"], - "@kbn/embeddable-explorer-plugin": ["examples/embeddable_explorer"], - "@kbn/embeddable-explorer-plugin/*": ["examples/embeddable_explorer/*"], - "@kbn/expressions-explorer-plugin": ["examples/expressions_explorer"], - "@kbn/expressions-explorer-plugin/*": ["examples/expressions_explorer/*"], - "@kbn/field-formats-example-plugin": ["examples/field_formats_example"], - "@kbn/field-formats-example-plugin/*": ["examples/field_formats_example/*"], - "@kbn/files-example-plugin": ["examples/files_example"], - "@kbn/files-example-plugin/*": ["examples/files_example/*"], - "@kbn/guided-onboarding-example-plugin": ["examples/guided_onboarding_example"], - "@kbn/guided-onboarding-example-plugin/*": ["examples/guided_onboarding_example/*"], - "@kbn/hello-world-plugin": ["examples/hello_world"], - "@kbn/hello-world-plugin/*": ["examples/hello_world/*"], - "@kbn/locator-examples-plugin": ["examples/locator_examples"], - "@kbn/locator-examples-plugin/*": ["examples/locator_examples/*"], - "@kbn/locator-explorer-plugin": ["examples/locator_explorer"], - "@kbn/locator-explorer-plugin/*": ["examples/locator_explorer/*"], - "@kbn/paertial-results-example-plugin": ["examples/partial_results_example"], - "@kbn/paertial-results-example-plugin/*": ["examples/partial_results_example/*"], - "@kbn/preboot-example-plugin": ["examples/preboot_example"], - "@kbn/preboot-example-plugin/*": ["examples/preboot_example/*"], - "@kbn/response-stream-plugin": ["examples/response_stream"], - "@kbn/response-stream-plugin/*": ["examples/response_stream/*"], - "@kbn/routing-example-plugin": ["examples/routing_example"], - "@kbn/routing-example-plugin/*": ["examples/routing_example/*"], - "@kbn/screenshot-mode-example-plugin": ["examples/screenshot_mode_example"], - "@kbn/screenshot-mode-example-plugin/*": ["examples/screenshot_mode_example/*"], - "@kbn/search-examples-plugin": ["examples/search_examples"], - "@kbn/search-examples-plugin/*": ["examples/search_examples/*"], - "@kbn/share-examples-plugin": ["examples/share_examples"], - "@kbn/share-examples-plugin/*": ["examples/share_examples/*"], + "@kbn/shared-ux-utility": ["packages/kbn-shared-ux-utility"], + "@kbn/shared-ux-utility/*": ["packages/kbn-shared-ux-utility/*"], + "@kbn/slo-schema": ["packages/kbn-slo-schema"], + "@kbn/slo-schema/*": ["packages/kbn-slo-schema/*"], + "@kbn/snapshot-restore-plugin": ["x-pack/plugins/snapshot_restore"], + "@kbn/snapshot-restore-plugin/*": ["x-pack/plugins/snapshot_restore/*"], + "@kbn/some-dev-log": ["packages/kbn-some-dev-log"], + "@kbn/some-dev-log/*": ["packages/kbn-some-dev-log/*"], + "@kbn/sort-package-json": ["packages/kbn-sort-package-json"], + "@kbn/sort-package-json/*": ["packages/kbn-sort-package-json/*"], + "@kbn/spaces-plugin": ["x-pack/plugins/spaces"], + "@kbn/spaces-plugin/*": ["x-pack/plugins/spaces/*"], + "@kbn/spec-to-console": ["packages/kbn-spec-to-console"], + "@kbn/spec-to-console/*": ["packages/kbn-spec-to-console/*"], + "@kbn/stack-alerts-plugin": ["x-pack/plugins/stack_alerts"], + "@kbn/stack-alerts-plugin/*": ["x-pack/plugins/stack_alerts/*"], + "@kbn/stack-connectors-plugin": ["x-pack/plugins/stack_connectors"], + "@kbn/stack-connectors-plugin/*": ["x-pack/plugins/stack_connectors/*"], + "@kbn/stack-management-usage-test-plugin": ["x-pack/test/usage_collection/plugins/stack_management_usage_test"], + "@kbn/stack-management-usage-test-plugin/*": ["x-pack/test/usage_collection/plugins/stack_management_usage_test/*"], "@kbn/state-containers-examples-plugin": ["examples/state_containers_examples"], "@kbn/state-containers-examples-plugin/*": ["examples/state_containers_examples/*"], + "@kbn/status-plugin-a-plugin": ["test/server_integration/__fixtures__/plugins/status_plugin_a"], + "@kbn/status-plugin-a-plugin/*": ["test/server_integration/__fixtures__/plugins/status_plugin_a/*"], + "@kbn/status-plugin-b-plugin": ["test/server_integration/__fixtures__/plugins/status_plugin_b"], + "@kbn/status-plugin-b-plugin/*": ["test/server_integration/__fixtures__/plugins/status_plugin_b/*"], + "@kbn/std": ["packages/kbn-std"], + "@kbn/std/*": ["packages/kbn-std/*"], + "@kbn/stdio-dev-helpers": ["packages/kbn-stdio-dev-helpers"], + "@kbn/stdio-dev-helpers/*": ["packages/kbn-stdio-dev-helpers/*"], + "@kbn/storybook": ["packages/kbn-storybook"], + "@kbn/storybook/*": ["packages/kbn-storybook/*"], + "@kbn/synthetics-plugin": ["x-pack/plugins/synthetics"], + "@kbn/synthetics-plugin/*": ["x-pack/plugins/synthetics/*"], + "@kbn/task-manager-performance-plugin": ["x-pack/test/plugin_api_perf/plugins/task_manager_performance"], + "@kbn/task-manager-performance-plugin/*": ["x-pack/test/plugin_api_perf/plugins/task_manager_performance/*"], + "@kbn/task-manager-plugin": ["x-pack/plugins/task_manager"], + "@kbn/task-manager-plugin/*": ["x-pack/plugins/task_manager/*"], + "@kbn/telemetry-collection-manager-plugin": ["src/plugins/telemetry_collection_manager"], + "@kbn/telemetry-collection-manager-plugin/*": ["src/plugins/telemetry_collection_manager/*"], + "@kbn/telemetry-collection-xpack-plugin": ["x-pack/plugins/telemetry_collection_xpack"], + "@kbn/telemetry-collection-xpack-plugin/*": ["x-pack/plugins/telemetry_collection_xpack/*"], + "@kbn/telemetry-management-section-plugin": ["src/plugins/telemetry_management_section"], + "@kbn/telemetry-management-section-plugin/*": ["src/plugins/telemetry_management_section/*"], + "@kbn/telemetry-plugin": ["src/plugins/telemetry"], + "@kbn/telemetry-plugin/*": ["src/plugins/telemetry/*"], + "@kbn/telemetry-test-plugin": ["test/plugin_functional/plugins/telemetry"], + "@kbn/telemetry-test-plugin/*": ["test/plugin_functional/plugins/telemetry/*"], + "@kbn/telemetry-tools": ["packages/kbn-telemetry-tools"], + "@kbn/telemetry-tools/*": ["packages/kbn-telemetry-tools/*"], + "@kbn/test": ["packages/kbn-test"], + "@kbn/test/*": ["packages/kbn-test/*"], + "@kbn/test-feature-usage-plugin": ["x-pack/test/licensing_plugin/plugins/test_feature_usage"], + "@kbn/test-feature-usage-plugin/*": ["x-pack/test/licensing_plugin/plugins/test_feature_usage/*"], + "@kbn/test-jest-helpers": ["packages/kbn-test-jest-helpers"], + "@kbn/test-jest-helpers/*": ["packages/kbn-test-jest-helpers/*"], + "@kbn/test-subj-selector": ["packages/kbn-test-subj-selector"], + "@kbn/test-subj-selector/*": ["packages/kbn-test-subj-selector/*"], + "@kbn/testing-embedded-lens-plugin": ["x-pack/examples/testing_embedded_lens"], + "@kbn/testing-embedded-lens-plugin/*": ["x-pack/examples/testing_embedded_lens/*"], + "@kbn/third-party-lens-navigation-prompt-plugin": ["x-pack/examples/third_party_lens_navigation_prompt"], + "@kbn/third-party-lens-navigation-prompt-plugin/*": ["x-pack/examples/third_party_lens_navigation_prompt/*"], + "@kbn/third-party-vis-lens-example-plugin": ["x-pack/examples/third_party_vis_lens_example"], + "@kbn/third-party-vis-lens-example-plugin/*": ["x-pack/examples/third_party_vis_lens_example/*"], + "@kbn/threat-intelligence-plugin": ["x-pack/plugins/threat_intelligence"], + "@kbn/threat-intelligence-plugin/*": ["x-pack/plugins/threat_intelligence/*"], + "@kbn/timelines-plugin": ["x-pack/plugins/timelines"], + "@kbn/timelines-plugin/*": ["x-pack/plugins/timelines/*"], + "@kbn/timelion-grammar": ["packages/kbn-timelion-grammar"], + "@kbn/timelion-grammar/*": ["packages/kbn-timelion-grammar/*"], + "@kbn/tinymath": ["packages/kbn-tinymath"], + "@kbn/tinymath/*": ["packages/kbn-tinymath/*"], + "@kbn/tooling-log": ["packages/kbn-tooling-log"], + "@kbn/tooling-log/*": ["packages/kbn-tooling-log/*"], + "@kbn/transform-plugin": ["x-pack/plugins/transform"], + "@kbn/transform-plugin/*": ["x-pack/plugins/transform/*"], + "@kbn/translations-plugin": ["x-pack/plugins/translations"], + "@kbn/translations-plugin/*": ["x-pack/plugins/translations/*"], + "@kbn/triggers-actions-ui-example-plugin": ["x-pack/examples/triggers_actions_ui_example"], + "@kbn/triggers-actions-ui-example-plugin/*": ["x-pack/examples/triggers_actions_ui_example/*"], + "@kbn/triggers-actions-ui-plugin": ["x-pack/plugins/triggers_actions_ui"], + "@kbn/triggers-actions-ui-plugin/*": ["x-pack/plugins/triggers_actions_ui/*"], + "@kbn/ts-project-linter": ["packages/kbn-ts-project-linter"], + "@kbn/ts-project-linter/*": ["packages/kbn-ts-project-linter/*"], + "@kbn/ts-project-linter-cli": ["packages/kbn-ts-project-linter-cli"], + "@kbn/ts-project-linter-cli/*": ["packages/kbn-ts-project-linter-cli/*"], + "@kbn/ts-projects": ["packages/kbn-ts-projects"], + "@kbn/ts-projects/*": ["packages/kbn-ts-projects/*"], + "@kbn/ts-type-check-cli": ["packages/kbn-ts-type-check-cli"], + "@kbn/ts-type-check-cli/*": ["packages/kbn-ts-type-check-cli/*"], + "@kbn/typed-react-router-config": ["packages/kbn-typed-react-router-config"], + "@kbn/typed-react-router-config/*": ["packages/kbn-typed-react-router-config/*"], + "@kbn/ui-actions-enhanced-examples-plugin": ["x-pack/examples/ui_actions_enhanced_examples"], + "@kbn/ui-actions-enhanced-examples-plugin/*": ["x-pack/examples/ui_actions_enhanced_examples/*"], + "@kbn/ui-actions-enhanced-plugin": ["src/plugins/ui_actions_enhanced"], + "@kbn/ui-actions-enhanced-plugin/*": ["src/plugins/ui_actions_enhanced/*"], "@kbn/ui-actions-examples-plugin": ["examples/ui_action_examples"], "@kbn/ui-actions-examples-plugin/*": ["examples/ui_action_examples/*"], "@kbn/ui-actions-explorer-plugin": ["examples/ui_actions_explorer"], "@kbn/ui-actions-explorer-plugin/*": ["examples/ui_actions_explorer/*"], + "@kbn/ui-actions-plugin": ["src/plugins/ui_actions"], + "@kbn/ui-actions-plugin/*": ["src/plugins/ui_actions/*"], + "@kbn/ui-framework": ["packages/kbn-ui-framework"], + "@kbn/ui-framework/*": ["packages/kbn-ui-framework/*"], + "@kbn/ui-settings-plugin": ["test/plugin_functional/plugins/ui_settings_plugin"], + "@kbn/ui-settings-plugin/*": ["test/plugin_functional/plugins/ui_settings_plugin/*"], + "@kbn/ui-shared-deps-npm": ["packages/kbn-ui-shared-deps-npm"], + "@kbn/ui-shared-deps-npm/*": ["packages/kbn-ui-shared-deps-npm/*"], + "@kbn/ui-shared-deps-src": ["packages/kbn-ui-shared-deps-src"], + "@kbn/ui-shared-deps-src/*": ["packages/kbn-ui-shared-deps-src/*"], + "@kbn/ui-theme": ["packages/kbn-ui-theme"], + "@kbn/ui-theme/*": ["packages/kbn-ui-theme/*"], + "@kbn/unified-field-list-plugin": ["src/plugins/unified_field_list"], + "@kbn/unified-field-list-plugin/*": ["src/plugins/unified_field_list/*"], + "@kbn/unified-histogram-plugin": ["src/plugins/unified_histogram"], + "@kbn/unified-histogram-plugin/*": ["src/plugins/unified_histogram/*"], + "@kbn/unified-search-plugin": ["src/plugins/unified_search"], + "@kbn/unified-search-plugin/*": ["src/plugins/unified_search/*"], + "@kbn/upgrade-assistant-plugin": ["x-pack/plugins/upgrade_assistant"], + "@kbn/upgrade-assistant-plugin/*": ["x-pack/plugins/upgrade_assistant/*"], + "@kbn/url-drilldown-plugin": ["x-pack/plugins/drilldowns/url_drilldown"], + "@kbn/url-drilldown-plugin/*": ["x-pack/plugins/drilldowns/url_drilldown/*"], + "@kbn/url-forwarding-plugin": ["src/plugins/url_forwarding"], + "@kbn/url-forwarding-plugin/*": ["src/plugins/url_forwarding/*"], + "@kbn/usage-collection-plugin": ["src/plugins/usage_collection"], + "@kbn/usage-collection-plugin/*": ["src/plugins/usage_collection/*"], + "@kbn/usage-collection-test-plugin": ["test/plugin_functional/plugins/usage_collection"], + "@kbn/usage-collection-test-plugin/*": ["test/plugin_functional/plugins/usage_collection/*"], + "@kbn/user-profile-components": ["packages/kbn-user-profile-components"], + "@kbn/user-profile-components/*": ["packages/kbn-user-profile-components/*"], "@kbn/user-profile-examples-plugin": ["examples/user_profile_examples"], "@kbn/user-profile-examples-plugin/*": ["examples/user_profile_examples/*"], - "@kbn/advanced-settings-plugin": ["src/plugins/advanced_settings"], - "@kbn/advanced-settings-plugin/*": ["src/plugins/advanced_settings/*"], - "@kbn/bfetch-plugin": ["src/plugins/bfetch"], - "@kbn/bfetch-plugin/*": ["src/plugins/bfetch/*"], - "@kbn/expression-gauge-plugin": ["src/plugins/chart_expressions/expression_gauge"], - "@kbn/expression-gauge-plugin/*": ["src/plugins/chart_expressions/expression_gauge/*"], - "@kbn/expression-heatmap-plugin": ["src/plugins/chart_expressions/expression_heatmap"], - "@kbn/expression-heatmap-plugin/*": ["src/plugins/chart_expressions/expression_heatmap/*"], - "@kbn/expression-legacy-metric-vis-plugin": ["src/plugins/chart_expressions/expression_legacy_metric"], - "@kbn/expression-legacy-metric-vis-plugin/*": ["src/plugins/chart_expressions/expression_legacy_metric/*"], - "@kbn/expression-metric-vis-plugin": ["src/plugins/chart_expressions/expression_metric"], - "@kbn/expression-metric-vis-plugin/*": ["src/plugins/chart_expressions/expression_metric/*"], - "@kbn/expression-partition-vis-plugin": ["src/plugins/chart_expressions/expression_partition_vis"], - "@kbn/expression-partition-vis-plugin/*": ["src/plugins/chart_expressions/expression_partition_vis/*"], - "@kbn/expression-tagcloud-plugin": ["src/plugins/chart_expressions/expression_tagcloud"], - "@kbn/expression-tagcloud-plugin/*": ["src/plugins/chart_expressions/expression_tagcloud/*"], - "@kbn/expression-xy-plugin": ["src/plugins/chart_expressions/expression_xy"], - "@kbn/expression-xy-plugin/*": ["src/plugins/chart_expressions/expression_xy/*"], - "@kbn/charts-plugin": ["src/plugins/charts"], - "@kbn/charts-plugin/*": ["src/plugins/charts/*"], - "@kbn/console-plugin": ["src/plugins/console"], - "@kbn/console-plugin/*": ["src/plugins/console/*"], - "@kbn/controls-plugin": ["src/plugins/controls"], - "@kbn/controls-plugin/*": ["src/plugins/controls/*"], - "@kbn/custom-integrations-plugin": ["src/plugins/custom_integrations"], - "@kbn/custom-integrations-plugin/*": ["src/plugins/custom_integrations/*"], - "@kbn/dashboard-plugin": ["src/plugins/dashboard"], - "@kbn/dashboard-plugin/*": ["src/plugins/dashboard/*"], - "@kbn/data-view-editor-plugin": ["src/plugins/data_view_editor"], - "@kbn/data-view-editor-plugin/*": ["src/plugins/data_view_editor/*"], - "@kbn/data-view-field-editor-plugin": ["src/plugins/data_view_field_editor"], - "@kbn/data-view-field-editor-plugin/*": ["src/plugins/data_view_field_editor/*"], - "@kbn/data-view-management-plugin": ["src/plugins/data_view_management"], - "@kbn/data-view-management-plugin/*": ["src/plugins/data_view_management/*"], - "@kbn/data-views-plugin": ["src/plugins/data_views"], - "@kbn/data-views-plugin/*": ["src/plugins/data_views/*"], - "@kbn/data-plugin": ["src/plugins/data"], - "@kbn/data-plugin/*": ["src/plugins/data/*"], - "@kbn/dev-tools-plugin": ["src/plugins/dev_tools"], - "@kbn/dev-tools-plugin/*": ["src/plugins/dev_tools/*"], - "@kbn/discover-plugin": ["src/plugins/discover"], - "@kbn/discover-plugin/*": ["src/plugins/discover/*"], - "@kbn/embeddable-plugin": ["src/plugins/embeddable"], - "@kbn/embeddable-plugin/*": ["src/plugins/embeddable/*"], - "@kbn/es-ui-shared-plugin": ["src/plugins/es_ui_shared"], - "@kbn/es-ui-shared-plugin/*": ["src/plugins/es_ui_shared/*"], - "@kbn/event-annotation-plugin": ["src/plugins/event_annotation"], - "@kbn/event-annotation-plugin/*": ["src/plugins/event_annotation/*"], - "@kbn/expression-error-plugin": ["src/plugins/expression_error"], - "@kbn/expression-error-plugin/*": ["src/plugins/expression_error/*"], - "@kbn/expression-image-plugin": ["src/plugins/expression_image"], - "@kbn/expression-image-plugin/*": ["src/plugins/expression_image/*"], - "@kbn/expression-metric-plugin": ["src/plugins/expression_metric"], - "@kbn/expression-metric-plugin/*": ["src/plugins/expression_metric/*"], - "@kbn/expression-repeat-image-plugin": ["src/plugins/expression_repeat_image"], - "@kbn/expression-repeat-image-plugin/*": ["src/plugins/expression_repeat_image/*"], - "@kbn/expression-reveal-image-plugin": ["src/plugins/expression_reveal_image"], - "@kbn/expression-reveal-image-plugin/*": ["src/plugins/expression_reveal_image/*"], - "@kbn/expression-shape-plugin": ["src/plugins/expression_shape"], - "@kbn/expression-shape-plugin/*": ["src/plugins/expression_shape/*"], - "@kbn/expressions-plugin": ["src/plugins/expressions"], - "@kbn/expressions-plugin/*": ["src/plugins/expressions/*"], - "@kbn/field-formats-plugin": ["src/plugins/field_formats"], - "@kbn/field-formats-plugin/*": ["src/plugins/field_formats/*"], - "@kbn/files-management-plugin": ["src/plugins/files_management"], - "@kbn/files-management-plugin/*": ["src/plugins/files_management/*"], - "@kbn/files-plugin": ["src/plugins/files"], - "@kbn/files-plugin/*": ["src/plugins/files/*"], - "@kbn/guided-onboarding-plugin": ["src/plugins/guided_onboarding"], - "@kbn/guided-onboarding-plugin/*": ["src/plugins/guided_onboarding/*"], - "@kbn/home-plugin": ["src/plugins/home"], - "@kbn/home-plugin/*": ["src/plugins/home/*"], - "@kbn/image-embeddable-plugin": ["src/plugins/image_embeddable"], - "@kbn/image-embeddable-plugin/*": ["src/plugins/image_embeddable/*"], - "@kbn/input-control-vis-plugin": ["src/plugins/input_control_vis"], - "@kbn/input-control-vis-plugin/*": ["src/plugins/input_control_vis/*"], - "@kbn/inspector-plugin": ["src/plugins/inspector"], - "@kbn/inspector-plugin/*": ["src/plugins/inspector/*"], - "@kbn/interactive-setup-plugin": ["src/plugins/interactive_setup"], - "@kbn/interactive-setup-plugin/*": ["src/plugins/interactive_setup/*"], - "@kbn/kibana-overview-plugin": ["src/plugins/kibana_overview"], - "@kbn/kibana-overview-plugin/*": ["src/plugins/kibana_overview/*"], - "@kbn/kibana-react-plugin": ["src/plugins/kibana_react"], - "@kbn/kibana-react-plugin/*": ["src/plugins/kibana_react/*"], - "@kbn/kibana-usage-collection-plugin": ["src/plugins/kibana_usage_collection"], - "@kbn/kibana-usage-collection-plugin/*": ["src/plugins/kibana_usage_collection/*"], - "@kbn/kibana-utils-plugin": ["src/plugins/kibana_utils"], - "@kbn/kibana-utils-plugin/*": ["src/plugins/kibana_utils/*"], - "@kbn/management-plugin": ["src/plugins/management"], - "@kbn/management-plugin/*": ["src/plugins/management/*"], - "@kbn/maps-ems-plugin": ["src/plugins/maps_ems"], - "@kbn/maps-ems-plugin/*": ["src/plugins/maps_ems/*"], - "@kbn/navigation-plugin": ["src/plugins/navigation"], - "@kbn/navigation-plugin/*": ["src/plugins/navigation/*"], - "@kbn/newsfeed-plugin": ["src/plugins/newsfeed"], - "@kbn/newsfeed-plugin/*": ["src/plugins/newsfeed/*"], - "@kbn/presentation-util-plugin": ["src/plugins/presentation_util"], - "@kbn/presentation-util-plugin/*": ["src/plugins/presentation_util/*"], - "@kbn/saved-objects-finder-plugin": ["src/plugins/saved_objects_finder"], - "@kbn/saved-objects-finder-plugin/*": ["src/plugins/saved_objects_finder/*"], - "@kbn/saved-objects-management-plugin": ["src/plugins/saved_objects_management"], - "@kbn/saved-objects-management-plugin/*": ["src/plugins/saved_objects_management/*"], - "@kbn/saved-objects-tagging-oss-plugin": ["src/plugins/saved_objects_tagging_oss"], - "@kbn/saved-objects-tagging-oss-plugin/*": ["src/plugins/saved_objects_tagging_oss/*"], - "@kbn/saved-objects-plugin": ["src/plugins/saved_objects"], - "@kbn/saved-objects-plugin/*": ["src/plugins/saved_objects/*"], - "@kbn/saved-search-plugin": ["src/plugins/saved_search"], - "@kbn/saved-search-plugin/*": ["src/plugins/saved_search/*"], - "@kbn/screenshot-mode-plugin": ["src/plugins/screenshot_mode"], - "@kbn/screenshot-mode-plugin/*": ["src/plugins/screenshot_mode/*"], - "@kbn/share-plugin": ["src/plugins/share"], - "@kbn/share-plugin/*": ["src/plugins/share/*"], - "@kbn/telemetry-collection-manager-plugin": ["src/plugins/telemetry_collection_manager"], - "@kbn/telemetry-collection-manager-plugin/*": ["src/plugins/telemetry_collection_manager/*"], - "@kbn/telemetry-management-section-plugin": ["src/plugins/telemetry_management_section"], - "@kbn/telemetry-management-section-plugin/*": ["src/plugins/telemetry_management_section/*"], - "@kbn/telemetry-plugin": ["src/plugins/telemetry"], - "@kbn/telemetry-plugin/*": ["src/plugins/telemetry/*"], - "@kbn/ui-actions-enhanced-plugin": ["src/plugins/ui_actions_enhanced"], - "@kbn/ui-actions-enhanced-plugin/*": ["src/plugins/ui_actions_enhanced/*"], - "@kbn/ui-actions-plugin": ["src/plugins/ui_actions"], - "@kbn/ui-actions-plugin/*": ["src/plugins/ui_actions/*"], - "@kbn/unified-field-list-plugin": ["src/plugins/unified_field_list"], - "@kbn/unified-field-list-plugin/*": ["src/plugins/unified_field_list/*"], - "@kbn/unified-histogram-plugin": ["src/plugins/unified_histogram"], - "@kbn/unified-histogram-plugin/*": ["src/plugins/unified_histogram/*"], - "@kbn/unified-search-plugin": ["src/plugins/unified_search"], - "@kbn/unified-search-plugin/*": ["src/plugins/unified_search/*"], - "@kbn/url-forwarding-plugin": ["src/plugins/url_forwarding"], - "@kbn/url-forwarding-plugin/*": ["src/plugins/url_forwarding/*"], - "@kbn/usage-collection-plugin": ["src/plugins/usage_collection"], - "@kbn/usage-collection-plugin/*": ["src/plugins/usage_collection/*"], + "@kbn/utility-types": ["packages/kbn-utility-types"], + "@kbn/utility-types/*": ["packages/kbn-utility-types/*"], + "@kbn/utility-types-jest": ["packages/kbn-utility-types-jest"], + "@kbn/utility-types-jest/*": ["packages/kbn-utility-types-jest/*"], + "@kbn/utils": ["packages/kbn-utils"], + "@kbn/utils/*": ["packages/kbn-utils/*"], + "@kbn/ux-plugin": ["x-pack/plugins/ux"], + "@kbn/ux-plugin/*": ["x-pack/plugins/ux/*"], "@kbn/vis-default-editor-plugin": ["src/plugins/vis_default_editor"], "@kbn/vis-default-editor-plugin/*": ["src/plugins/vis_default_editor/*"], - "@kbn/vis-type-markdown-plugin": ["src/plugins/vis_type_markdown"], - "@kbn/vis-type-markdown-plugin/*": ["src/plugins/vis_type_markdown/*"], "@kbn/vis-type-gauge-plugin": ["src/plugins/vis_types/gauge"], "@kbn/vis-type-gauge-plugin/*": ["src/plugins/vis_types/gauge/*"], "@kbn/vis-type-heatmap-plugin": ["src/plugins/vis_types/heatmap"], "@kbn/vis-type-heatmap-plugin/*": ["src/plugins/vis_types/heatmap/*"], + "@kbn/vis-type-markdown-plugin": ["src/plugins/vis_type_markdown"], + "@kbn/vis-type-markdown-plugin/*": ["src/plugins/vis_type_markdown/*"], "@kbn/vis-type-metric-plugin": ["src/plugins/vis_types/metric"], "@kbn/vis-type-metric-plugin/*": ["src/plugins/vis_types/metric/*"], "@kbn/vis-type-pie-plugin": ["src/plugins/vis_types/pie"], @@ -956,292 +1262,12 @@ "@kbn/vis-type-xy-plugin/*": ["src/plugins/vis_types/xy/*"], "@kbn/visualizations-plugin": ["src/plugins/visualizations"], "@kbn/visualizations-plugin/*": ["src/plugins/visualizations/*"], - "@kbn/analytics-ftr-helpers-plugin": ["test/analytics/fixtures/plugins/analytics_ftr_helpers"], - "@kbn/analytics-ftr-helpers-plugin/*": ["test/analytics/fixtures/plugins/analytics_ftr_helpers/*"], - "@kbn/analytics-plugin-a-plugin": ["test/analytics/fixtures/plugins/analytics_plugin_a"], - "@kbn/analytics-plugin-a-plugin/*": ["test/analytics/fixtures/plugins/analytics_plugin_a/*"], - "@kbn/coverage-fixtures-plugin": ["test/common/fixtures/plugins/coverage"], - "@kbn/coverage-fixtures-plugin/*": ["test/common/fixtures/plugins/coverage/*"], - "@kbn/newsfeed-fixtures-plugin": ["test/common/fixtures/plugins/newsfeed"], - "@kbn/newsfeed-fixtures-plugin/*": ["test/common/fixtures/plugins/newsfeed/*"], - "@kbn/open-telemetry-instrumented-plugin": ["test/common/fixtures/plugins/otel_metrics"], - "@kbn/open-telemetry-instrumented-plugin/*": ["test/common/fixtures/plugins/otel_metrics/*"], - "@kbn/kbn-health-gateway-status-plugin": ["test/health_gateway/plugins/status"], - "@kbn/kbn-health-gateway-status-plugin/*": ["test/health_gateway/plugins/status/*"], - "@kbn/kbn-tp-run-pipeline-plugin": ["test/interpreter_functional/plugins/kbn_tp_run_pipeline"], - "@kbn/kbn-tp-run-pipeline-plugin/*": ["test/interpreter_functional/plugins/kbn_tp_run_pipeline/*"], - "@kbn/app-link-test-plugin": ["test/plugin_functional/plugins/app_link_test"], - "@kbn/app-link-test-plugin/*": ["test/plugin_functional/plugins/app_link_test/*"], - "@kbn/core-app-status-plugin": ["test/plugin_functional/plugins/core_app_status"], - "@kbn/core-app-status-plugin/*": ["test/plugin_functional/plugins/core_app_status/*"], - "@kbn/core-history-block-plugin": ["test/plugin_functional/plugins/core_history_block"], - "@kbn/core-history-block-plugin/*": ["test/plugin_functional/plugins/core_history_block/*"], - "@kbn/core-http-plugin": ["test/plugin_functional/plugins/core_http"], - "@kbn/core-http-plugin/*": ["test/plugin_functional/plugins/core_http/*"], - "@kbn/core-plugin-a-plugin": ["test/plugin_functional/plugins/core_plugin_a"], - "@kbn/core-plugin-a-plugin/*": ["test/plugin_functional/plugins/core_plugin_a/*"], - "@kbn/core-plugin-appleave-plugin": ["test/plugin_functional/plugins/core_plugin_appleave"], - "@kbn/core-plugin-appleave-plugin/*": ["test/plugin_functional/plugins/core_plugin_appleave/*"], - "@kbn/core-plugin-b-plugin": ["test/plugin_functional/plugins/core_plugin_b"], - "@kbn/core-plugin-b-plugin/*": ["test/plugin_functional/plugins/core_plugin_b/*"], - "@kbn/core-plugin-chromeless-plugin": ["test/plugin_functional/plugins/core_plugin_chromeless"], - "@kbn/core-plugin-chromeless-plugin/*": ["test/plugin_functional/plugins/core_plugin_chromeless/*"], - "@kbn/core-plugin-deep-links-plugin": ["test/plugin_functional/plugins/core_plugin_deep_links"], - "@kbn/core-plugin-deep-links-plugin/*": ["test/plugin_functional/plugins/core_plugin_deep_links/*"], - "@kbn/core-plugin-deprecations-plugin": ["test/plugin_functional/plugins/core_plugin_deprecations"], - "@kbn/core-plugin-deprecations-plugin/*": ["test/plugin_functional/plugins/core_plugin_deprecations/*"], - "@kbn/core-plugin-execution-context-plugin": ["test/plugin_functional/plugins/core_plugin_execution_context"], - "@kbn/core-plugin-execution-context-plugin/*": ["test/plugin_functional/plugins/core_plugin_execution_context/*"], - "@kbn/core-plugin-helpmenu-plugin": ["test/plugin_functional/plugins/core_plugin_helpmenu"], - "@kbn/core-plugin-helpmenu-plugin/*": ["test/plugin_functional/plugins/core_plugin_helpmenu/*"], - "@kbn/core-plugin-route-timeouts-plugin": ["test/plugin_functional/plugins/core_plugin_route_timeouts"], - "@kbn/core-plugin-route-timeouts-plugin/*": ["test/plugin_functional/plugins/core_plugin_route_timeouts/*"], - "@kbn/core-plugin-static-assets-plugin": ["test/plugin_functional/plugins/core_plugin_static_assets"], - "@kbn/core-plugin-static-assets-plugin/*": ["test/plugin_functional/plugins/core_plugin_static_assets/*"], - "@kbn/core-provider-plugin": ["test/plugin_functional/plugins/core_provider_plugin"], - "@kbn/core-provider-plugin/*": ["test/plugin_functional/plugins/core_provider_plugin/*"], - "@kbn/data-search-plugin": ["test/plugin_functional/plugins/data_search"], - "@kbn/data-search-plugin/*": ["test/plugin_functional/plugins/data_search/*"], - "@kbn/elasticsearch-client-plugin": ["test/plugin_functional/plugins/elasticsearch_client_plugin"], - "@kbn/elasticsearch-client-plugin/*": ["test/plugin_functional/plugins/elasticsearch_client_plugin/*"], - "@kbn/index-patterns-test-plugin": ["test/plugin_functional/plugins/index_patterns"], - "@kbn/index-patterns-test-plugin/*": ["test/plugin_functional/plugins/index_patterns/*"], - "@kbn/kbn-sample-panel-action-plugin": ["test/plugin_functional/plugins/kbn_sample_panel_action"], - "@kbn/kbn-sample-panel-action-plugin/*": ["test/plugin_functional/plugins/kbn_sample_panel_action/*"], - "@kbn/kbn-top-nav-plugin": ["test/plugin_functional/plugins/kbn_top_nav"], - "@kbn/kbn-top-nav-plugin/*": ["test/plugin_functional/plugins/kbn_top_nav/*"], - "@kbn/kbn-tp-custom-visualizations-plugin": ["test/plugin_functional/plugins/kbn_tp_custom_visualizations"], - "@kbn/kbn-tp-custom-visualizations-plugin/*": ["test/plugin_functional/plugins/kbn_tp_custom_visualizations/*"], - "@kbn/management-test-plugin": ["test/plugin_functional/plugins/management_test_plugin"], - "@kbn/management-test-plugin/*": ["test/plugin_functional/plugins/management_test_plugin/*"], - "@kbn/rendering-plugin": ["test/plugin_functional/plugins/rendering_plugin"], - "@kbn/rendering-plugin/*": ["test/plugin_functional/plugins/rendering_plugin/*"], - "@kbn/saved-object-export-transforms-plugin": ["test/plugin_functional/plugins/saved_object_export_transforms"], - "@kbn/saved-object-export-transforms-plugin/*": ["test/plugin_functional/plugins/saved_object_export_transforms/*"], - "@kbn/saved-object-import-warnings-plugin": ["test/plugin_functional/plugins/saved_object_import_warnings"], - "@kbn/saved-object-import-warnings-plugin/*": ["test/plugin_functional/plugins/saved_object_import_warnings/*"], - "@kbn/saved-objects-hidden-type-plugin": ["test/plugin_functional/plugins/saved_objects_hidden_type"], - "@kbn/saved-objects-hidden-type-plugin/*": ["test/plugin_functional/plugins/saved_objects_hidden_type/*"], - "@kbn/session-notifications-plugin": ["test/plugin_functional/plugins/session_notifications"], - "@kbn/session-notifications-plugin/*": ["test/plugin_functional/plugins/session_notifications/*"], - "@kbn/telemetry-test-plugin": ["test/plugin_functional/plugins/telemetry"], - "@kbn/telemetry-test-plugin/*": ["test/plugin_functional/plugins/telemetry/*"], - "@kbn/ui-settings-plugin": ["test/plugin_functional/plugins/ui_settings_plugin"], - "@kbn/ui-settings-plugin/*": ["test/plugin_functional/plugins/ui_settings_plugin/*"], - "@kbn/usage-collection-test-plugin": ["test/plugin_functional/plugins/usage_collection"], - "@kbn/usage-collection-test-plugin/*": ["test/plugin_functional/plugins/usage_collection/*"], - "@kbn/status-plugin-a-plugin": ["test/server_integration/__fixtures__/plugins/status_plugin_a"], - "@kbn/status-plugin-a-plugin/*": ["test/server_integration/__fixtures__/plugins/status_plugin_a/*"], - "@kbn/status-plugin-b-plugin": ["test/server_integration/__fixtures__/plugins/status_plugin_b"], - "@kbn/status-plugin-b-plugin/*": ["test/server_integration/__fixtures__/plugins/status_plugin_b/*"], - "@kbn/alerting-example-plugin": ["x-pack/examples/alerting_example"], - "@kbn/alerting-example-plugin/*": ["x-pack/examples/alerting_example/*"], - "@kbn/embedded-lens-example-plugin": ["x-pack/examples/embedded_lens_example"], - "@kbn/embedded-lens-example-plugin/*": ["x-pack/examples/embedded_lens_example/*"], - "@kbn/exploratory-view-example-plugin": ["x-pack/examples/exploratory_view_example"], - "@kbn/exploratory-view-example-plugin/*": ["x-pack/examples/exploratory_view_example/*"], - "@kbn/reporting-example-plugin": ["x-pack/examples/reporting_example"], - "@kbn/reporting-example-plugin/*": ["x-pack/examples/reporting_example/*"], - "@kbn/screenshotting-example-plugin": ["x-pack/examples/screenshotting_example"], - "@kbn/screenshotting-example-plugin/*": ["x-pack/examples/screenshotting_example/*"], - "@kbn/testing-embedded-lens-plugin": ["x-pack/examples/testing_embedded_lens"], - "@kbn/testing-embedded-lens-plugin/*": ["x-pack/examples/testing_embedded_lens/*"], - "@kbn/third-party-lens-navigation-prompt-plugin": ["x-pack/examples/third_party_lens_navigation_prompt"], - "@kbn/third-party-lens-navigation-prompt-plugin/*": ["x-pack/examples/third_party_lens_navigation_prompt/*"], - "@kbn/maps-custom-raster-source-plugin": ["x-pack/examples/third_party_maps_source_example"], - "@kbn/maps-custom-raster-source-plugin/*": ["x-pack/examples/third_party_maps_source_example/*"], - "@kbn/third-party-vis-lens-example-plugin": ["x-pack/examples/third_party_vis_lens_example"], - "@kbn/third-party-vis-lens-example-plugin/*": ["x-pack/examples/third_party_vis_lens_example/*"], - "@kbn/triggers-actions-ui-example-plugin": ["x-pack/examples/triggers_actions_ui_example"], - "@kbn/triggers-actions-ui-example-plugin/*": ["x-pack/examples/triggers_actions_ui_example/*"], - "@kbn/ui-actions-enhanced-examples-plugin": ["x-pack/examples/ui_actions_enhanced_examples"], - "@kbn/ui-actions-enhanced-examples-plugin/*": ["x-pack/examples/ui_actions_enhanced_examples/*"], - "@kbn/actions-plugin": ["x-pack/plugins/actions"], - "@kbn/actions-plugin/*": ["x-pack/plugins/actions/*"], - "@kbn/aiops-plugin": ["x-pack/plugins/aiops"], - "@kbn/aiops-plugin/*": ["x-pack/plugins/aiops/*"], - "@kbn/alerting-plugin": ["x-pack/plugins/alerting"], - "@kbn/alerting-plugin/*": ["x-pack/plugins/alerting/*"], - "@kbn/apm-plugin": ["x-pack/plugins/apm"], - "@kbn/apm-plugin/*": ["x-pack/plugins/apm/*"], - "@kbn/banners-plugin": ["x-pack/plugins/banners"], - "@kbn/banners-plugin/*": ["x-pack/plugins/banners/*"], - "@kbn/canvas-plugin": ["x-pack/plugins/canvas"], - "@kbn/canvas-plugin/*": ["x-pack/plugins/canvas/*"], - "@kbn/cases-plugin": ["x-pack/plugins/cases"], - "@kbn/cases-plugin/*": ["x-pack/plugins/cases/*"], - "@kbn/cloud-defend-plugin": ["x-pack/plugins/cloud_defend"], - "@kbn/cloud-defend-plugin/*": ["x-pack/plugins/cloud_defend/*"], - "@kbn/cloud-chat-plugin": ["x-pack/plugins/cloud_integrations/cloud_chat"], - "@kbn/cloud-chat-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_chat/*"], - "@kbn/cloud-data-migration-plugin": ["x-pack/plugins/cloud_integrations/cloud_data_migration"], - "@kbn/cloud-data-migration-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_data_migration/*"], - "@kbn/cloud-experiments-plugin": ["x-pack/plugins/cloud_integrations/cloud_experiments"], - "@kbn/cloud-experiments-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_experiments/*"], - "@kbn/cloud-full-story-plugin": ["x-pack/plugins/cloud_integrations/cloud_full_story"], - "@kbn/cloud-full-story-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_full_story/*"], - "@kbn/cloud-gainsight-plugin": ["x-pack/plugins/cloud_integrations/cloud_gain_sight"], - "@kbn/cloud-gainsight-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_gain_sight/*"], - "@kbn/cloud-links-plugin": ["x-pack/plugins/cloud_integrations/cloud_links"], - "@kbn/cloud-links-plugin/*": ["x-pack/plugins/cloud_integrations/cloud_links/*"], - "@kbn/cloud-security-posture-plugin": ["x-pack/plugins/cloud_security_posture"], - "@kbn/cloud-security-posture-plugin/*": ["x-pack/plugins/cloud_security_posture/*"], - "@kbn/cloud-plugin": ["x-pack/plugins/cloud"], - "@kbn/cloud-plugin/*": ["x-pack/plugins/cloud/*"], - "@kbn/cross-cluster-replication-plugin": ["x-pack/plugins/cross_cluster_replication"], - "@kbn/cross-cluster-replication-plugin/*": ["x-pack/plugins/cross_cluster_replication/*"], - "@kbn/custom-branding-plugin": ["x-pack/plugins/custom_branding"], - "@kbn/custom-branding-plugin/*": ["x-pack/plugins/custom_branding/*"], - "@kbn/dashboard-enhanced-plugin": ["x-pack/plugins/dashboard_enhanced"], - "@kbn/dashboard-enhanced-plugin/*": ["x-pack/plugins/dashboard_enhanced/*"], - "@kbn/data-visualizer-plugin": ["x-pack/plugins/data_visualizer"], - "@kbn/data-visualizer-plugin/*": ["x-pack/plugins/data_visualizer/*"], - "@kbn/discover-enhanced-plugin": ["x-pack/plugins/discover_enhanced"], - "@kbn/discover-enhanced-plugin/*": ["x-pack/plugins/discover_enhanced/*"], - "@kbn/url-drilldown-plugin": ["x-pack/plugins/drilldowns/url_drilldown"], - "@kbn/url-drilldown-plugin/*": ["x-pack/plugins/drilldowns/url_drilldown/*"], - "@kbn/embeddable-enhanced-plugin": ["x-pack/plugins/embeddable_enhanced"], - "@kbn/embeddable-enhanced-plugin/*": ["x-pack/plugins/embeddable_enhanced/*"], - "@kbn/encrypted-saved-objects-plugin": ["x-pack/plugins/encrypted_saved_objects"], - "@kbn/encrypted-saved-objects-plugin/*": ["x-pack/plugins/encrypted_saved_objects/*"], - "@kbn/enterprise-search-plugin": ["x-pack/plugins/enterprise_search"], - "@kbn/enterprise-search-plugin/*": ["x-pack/plugins/enterprise_search/*"], - "@kbn/event-log-plugin": ["x-pack/plugins/event_log"], - "@kbn/event-log-plugin/*": ["x-pack/plugins/event_log/*"], - "@kbn/features-plugin": ["x-pack/plugins/features"], - "@kbn/features-plugin/*": ["x-pack/plugins/features/*"], - "@kbn/file-upload-plugin": ["x-pack/plugins/file_upload"], - "@kbn/file-upload-plugin/*": ["x-pack/plugins/file_upload/*"], - "@kbn/fleet-plugin": ["x-pack/plugins/fleet"], - "@kbn/fleet-plugin/*": ["x-pack/plugins/fleet/*"], - "@kbn/global-search-bar-plugin": ["x-pack/plugins/global_search_bar"], - "@kbn/global-search-bar-plugin/*": ["x-pack/plugins/global_search_bar/*"], - "@kbn/global-search-providers-plugin": ["x-pack/plugins/global_search_providers"], - "@kbn/global-search-providers-plugin/*": ["x-pack/plugins/global_search_providers/*"], - "@kbn/global-search-plugin": ["x-pack/plugins/global_search"], - "@kbn/global-search-plugin/*": ["x-pack/plugins/global_search/*"], - "@kbn/graph-plugin": ["x-pack/plugins/graph"], - "@kbn/graph-plugin/*": ["x-pack/plugins/graph/*"], - "@kbn/grokdebugger-plugin": ["x-pack/plugins/grokdebugger"], - "@kbn/grokdebugger-plugin/*": ["x-pack/plugins/grokdebugger/*"], - "@kbn/index-lifecycle-management-plugin": ["x-pack/plugins/index_lifecycle_management"], - "@kbn/index-lifecycle-management-plugin/*": ["x-pack/plugins/index_lifecycle_management/*"], - "@kbn/index-management-plugin": ["x-pack/plugins/index_management"], - "@kbn/index-management-plugin/*": ["x-pack/plugins/index_management/*"], - "@kbn/infra-plugin": ["x-pack/plugins/infra"], - "@kbn/infra-plugin/*": ["x-pack/plugins/infra/*"], - "@kbn/ingest-pipelines-plugin": ["x-pack/plugins/ingest_pipelines"], - "@kbn/ingest-pipelines-plugin/*": ["x-pack/plugins/ingest_pipelines/*"], - "@kbn/kubernetes-security-plugin": ["x-pack/plugins/kubernetes_security"], - "@kbn/kubernetes-security-plugin/*": ["x-pack/plugins/kubernetes_security/*"], - "@kbn/lens-plugin": ["x-pack/plugins/lens"], - "@kbn/lens-plugin/*": ["x-pack/plugins/lens/*"], - "@kbn/license-api-guard-plugin": ["x-pack/plugins/license_api_guard"], - "@kbn/license-api-guard-plugin/*": ["x-pack/plugins/license_api_guard/*"], - "@kbn/license-management-plugin": ["x-pack/plugins/license_management"], - "@kbn/license-management-plugin/*": ["x-pack/plugins/license_management/*"], - "@kbn/licensing-plugin": ["x-pack/plugins/licensing"], - "@kbn/licensing-plugin/*": ["x-pack/plugins/licensing/*"], - "@kbn/lists-plugin": ["x-pack/plugins/lists"], - "@kbn/lists-plugin/*": ["x-pack/plugins/lists/*"], - "@kbn/logstash-plugin": ["x-pack/plugins/logstash"], - "@kbn/logstash-plugin/*": ["x-pack/plugins/logstash/*"], - "@kbn/maps-plugin": ["x-pack/plugins/maps"], - "@kbn/maps-plugin/*": ["x-pack/plugins/maps/*"], - "@kbn/ml-plugin": ["x-pack/plugins/ml"], - "@kbn/ml-plugin/*": ["x-pack/plugins/ml/*"], - "@kbn/monitoring-collection-plugin": ["x-pack/plugins/monitoring_collection"], - "@kbn/monitoring-collection-plugin/*": ["x-pack/plugins/monitoring_collection/*"], - "@kbn/monitoring-plugin": ["x-pack/plugins/monitoring"], - "@kbn/monitoring-plugin/*": ["x-pack/plugins/monitoring/*"], - "@kbn/notifications-plugin": ["x-pack/plugins/notifications"], - "@kbn/notifications-plugin/*": ["x-pack/plugins/notifications/*"], - "@kbn/observability-plugin": ["x-pack/plugins/observability"], - "@kbn/observability-plugin/*": ["x-pack/plugins/observability/*"], - "@kbn/osquery-plugin": ["x-pack/plugins/osquery"], - "@kbn/osquery-plugin/*": ["x-pack/plugins/osquery/*"], - "@kbn/painless-lab-plugin": ["x-pack/plugins/painless_lab"], - "@kbn/painless-lab-plugin/*": ["x-pack/plugins/painless_lab/*"], - "@kbn/profiling-plugin": ["x-pack/plugins/profiling"], - "@kbn/profiling-plugin/*": ["x-pack/plugins/profiling/*"], - "@kbn/remote-clusters-plugin": ["x-pack/plugins/remote_clusters"], - "@kbn/remote-clusters-plugin/*": ["x-pack/plugins/remote_clusters/*"], - "@kbn/reporting-plugin": ["x-pack/plugins/reporting"], - "@kbn/reporting-plugin/*": ["x-pack/plugins/reporting/*"], - "@kbn/rollup-plugin": ["x-pack/plugins/rollup"], - "@kbn/rollup-plugin/*": ["x-pack/plugins/rollup/*"], - "@kbn/rule-registry-plugin": ["x-pack/plugins/rule_registry"], - "@kbn/rule-registry-plugin/*": ["x-pack/plugins/rule_registry/*"], - "@kbn/runtime-fields-plugin": ["x-pack/plugins/runtime_fields"], - "@kbn/runtime-fields-plugin/*": ["x-pack/plugins/runtime_fields/*"], - "@kbn/saved-objects-tagging-plugin": ["x-pack/plugins/saved_objects_tagging"], - "@kbn/saved-objects-tagging-plugin/*": ["x-pack/plugins/saved_objects_tagging/*"], - "@kbn/screenshotting-plugin": ["x-pack/plugins/screenshotting"], - "@kbn/screenshotting-plugin/*": ["x-pack/plugins/screenshotting/*"], - "@kbn/searchprofiler-plugin": ["x-pack/plugins/searchprofiler"], - "@kbn/searchprofiler-plugin/*": ["x-pack/plugins/searchprofiler/*"], - "@kbn/security-solution-plugin": ["x-pack/plugins/security_solution"], - "@kbn/security-solution-plugin/*": ["x-pack/plugins/security_solution/*"], - "@kbn/security-plugin": ["x-pack/plugins/security"], - "@kbn/security-plugin/*": ["x-pack/plugins/security/*"], - "@kbn/session-view-plugin": ["x-pack/plugins/session_view"], - "@kbn/session-view-plugin/*": ["x-pack/plugins/session_view/*"], - "@kbn/snapshot-restore-plugin": ["x-pack/plugins/snapshot_restore"], - "@kbn/snapshot-restore-plugin/*": ["x-pack/plugins/snapshot_restore/*"], - "@kbn/spaces-plugin": ["x-pack/plugins/spaces"], - "@kbn/spaces-plugin/*": ["x-pack/plugins/spaces/*"], - "@kbn/stack-alerts-plugin": ["x-pack/plugins/stack_alerts"], - "@kbn/stack-alerts-plugin/*": ["x-pack/plugins/stack_alerts/*"], - "@kbn/stack-connectors-plugin": ["x-pack/plugins/stack_connectors"], - "@kbn/stack-connectors-plugin/*": ["x-pack/plugins/stack_connectors/*"], - "@kbn/synthetics-plugin": ["x-pack/plugins/synthetics"], - "@kbn/synthetics-plugin/*": ["x-pack/plugins/synthetics/*"], - "@kbn/task-manager-plugin": ["x-pack/plugins/task_manager"], - "@kbn/task-manager-plugin/*": ["x-pack/plugins/task_manager/*"], - "@kbn/telemetry-collection-xpack-plugin": ["x-pack/plugins/telemetry_collection_xpack"], - "@kbn/telemetry-collection-xpack-plugin/*": ["x-pack/plugins/telemetry_collection_xpack/*"], - "@kbn/threat-intelligence-plugin": ["x-pack/plugins/threat_intelligence"], - "@kbn/threat-intelligence-plugin/*": ["x-pack/plugins/threat_intelligence/*"], - "@kbn/timelines-plugin": ["x-pack/plugins/timelines"], - "@kbn/timelines-plugin/*": ["x-pack/plugins/timelines/*"], - "@kbn/transform-plugin": ["x-pack/plugins/transform"], - "@kbn/transform-plugin/*": ["x-pack/plugins/transform/*"], - "@kbn/translations-plugin": ["x-pack/plugins/translations"], - "@kbn/translations-plugin/*": ["x-pack/plugins/translations/*"], - "@kbn/triggers-actions-ui-plugin": ["x-pack/plugins/triggers_actions_ui"], - "@kbn/triggers-actions-ui-plugin/*": ["x-pack/plugins/triggers_actions_ui/*"], - "@kbn/upgrade-assistant-plugin": ["x-pack/plugins/upgrade_assistant"], - "@kbn/upgrade-assistant-plugin/*": ["x-pack/plugins/upgrade_assistant/*"], - "@kbn/ux-plugin": ["x-pack/plugins/ux"], - "@kbn/ux-plugin/*": ["x-pack/plugins/ux/*"], "@kbn/watcher-plugin": ["x-pack/plugins/watcher"], "@kbn/watcher-plugin/*": ["x-pack/plugins/watcher/*"], - "@kbn/alerting-fixture-plugin": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/alerts"], - "@kbn/alerting-fixture-plugin/*": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/alerts/*"], - "@kbn/cases-fixture-plugin": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/cases"], - "@kbn/cases-fixture-plugin/*": ["x-pack/test/functional_with_es_ssl/fixtures/plugins/cases/*"], - "@kbn/test-feature-usage-plugin": ["x-pack/test/licensing_plugin/plugins/test_feature_usage"], - "@kbn/test-feature-usage-plugin/*": ["x-pack/test/licensing_plugin/plugins/test_feature_usage/*"], - "@kbn/elasticsearch-client-xpack-plugin": ["x-pack/test/plugin_api_integration/plugins/elasticsearch_client"], - "@kbn/elasticsearch-client-xpack-plugin/*": ["x-pack/test/plugin_api_integration/plugins/elasticsearch_client/*"], - "@kbn/event-log-fixture-plugin": ["x-pack/test/plugin_api_integration/plugins/event_log"], - "@kbn/event-log-fixture-plugin/*": ["x-pack/test/plugin_api_integration/plugins/event_log/*"], - "@kbn/feature-usage-test-plugin": ["x-pack/test/plugin_api_integration/plugins/feature_usage_test"], - "@kbn/feature-usage-test-plugin/*": ["x-pack/test/plugin_api_integration/plugins/feature_usage_test/*"], - "@kbn/sample-task-plugin": ["x-pack/test/plugin_api_integration/plugins/sample_task_plugin"], - "@kbn/sample-task-plugin/*": ["x-pack/test/plugin_api_integration/plugins/sample_task_plugin/*"], - "@kbn/task-manager-performance-plugin": ["x-pack/test/plugin_api_perf/plugins/task_manager_performance"], - "@kbn/task-manager-performance-plugin/*": ["x-pack/test/plugin_api_perf/plugins/task_manager_performance/*"], - "@kbn/global-search-test-plugin": ["x-pack/test/plugin_functional/plugins/global_search_test"], - "@kbn/global-search-test-plugin/*": ["x-pack/test/plugin_functional/plugins/global_search_test/*"], - "@kbn/resolver-test-plugin": ["x-pack/test/plugin_functional/plugins/resolver_test"], - "@kbn/resolver-test-plugin/*": ["x-pack/test/plugin_functional/plugins/resolver_test/*"], - "@kbn/security-test-endpoints-plugin": ["x-pack/test/security_functional/fixtures/common/test_endpoints"], - "@kbn/security-test-endpoints-plugin/*": ["x-pack/test/security_functional/fixtures/common/test_endpoints/*"], - "@kbn/application-usage-test-plugin": ["x-pack/test/usage_collection/plugins/application_usage_test"], - "@kbn/application-usage-test-plugin/*": ["x-pack/test/usage_collection/plugins/application_usage_test/*"], - "@kbn/stack-management-usage-test-plugin": ["x-pack/test/usage_collection/plugins/stack_management_usage_test"], - "@kbn/stack-management-usage-test-plugin/*": ["x-pack/test/usage_collection/plugins/stack_management_usage_test/*"], + "@kbn/web-worker-stub": ["packages/kbn-web-worker-stub"], + "@kbn/web-worker-stub/*": ["packages/kbn-web-worker-stub/*"], + "@kbn/yarn-lock-validator": ["packages/kbn-yarn-lock-validator"], + "@kbn/yarn-lock-validator/*": ["packages/kbn-yarn-lock-validator/*"], // END AUTOMATED PACKAGE LISTING // Allows for importing from `kibana` package for the exported types. "@emotion/core": ["typings/@emotion"], @@ -1297,8 +1323,6 @@ "moduleResolution": "node", // "resolveJsonModule" allows for importing, extracting types from and generating .json files. "resolveJsonModule": true, - // Do not resolve symlinks to their real path; treat a symlinked file like a real one. - "preserveSymlinks": true, // Disallow inconsistently-cased references to the same file. "forceConsistentCasingInFileNames": false, // Forbid unused local variables as the rule was deprecated by ts-lint diff --git a/tsconfig.bazel.json b/tsconfig.bazel.json deleted file mode 100644 index 892c727ef588e..0000000000000 --- a/tsconfig.bazel.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "incremental": false, - "composite": false - } -} diff --git a/tsconfig.json b/tsconfig.json index 0e1d602ee945a..91afa752c068d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,16 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "outDir": "target/root_types" + "outDir": "target/types" }, "include": [ "kibana.d.ts", "package.json", ], "kbn_references": [ - { "path": "./src/core/tsconfig.json" }, + "@kbn/core", + ], + "exclude": [ + "target/**/*", ] -} \ No newline at end of file +} diff --git a/x-pack/examples/alerting_example/tsconfig.json b/x-pack/examples/alerting_example/tsconfig.json index 024d7304ffad0..4e9b080673049 100644 --- a/x-pack/examples/alerting_example/tsconfig.json +++ b/x-pack/examples/alerting_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,15 +11,19 @@ "common/**/*.ts", "../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/charts/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../plugins/alerting/tsconfig.json" }, - { "path": "../../plugins/triggers_actions_ui/tsconfig.json" }, - { "path": "../../plugins/features/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/alerting-plugin", + "@kbn/triggers-actions-ui-plugin", + "@kbn/features-plugin", + "@kbn/developer-examples-plugin", + "@kbn/i18n", + "@kbn/core-application-common", ] } diff --git a/x-pack/examples/embedded_lens_example/tsconfig.json b/x-pack/examples/embedded_lens_example/tsconfig.json index d5689e03aeb6d..ea5b99db315de 100644 --- a/x-pack/examples/embedded_lens_example/tsconfig.json +++ b/x-pack/examples/embedded_lens_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,12 +10,16 @@ "server/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../plugins/lens/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/lens-plugin", + "@kbn/developer-examples-plugin", + "@kbn/data-views-plugin", + "@kbn/ui-actions-plugin", ] } diff --git a/x-pack/examples/exploratory_view_example/tsconfig.json b/x-pack/examples/exploratory_view_example/tsconfig.json index 795beb43c563f..aa3363da4fe98 100644 --- a/x-pack/examples/exploratory_view_example/tsconfig.json +++ b/x-pack/examples/exploratory_view_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,12 +10,15 @@ "server/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../plugins/observability/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/observability-plugin", + "@kbn/developer-examples-plugin", + "@kbn/data-views-plugin", + "@kbn/kibana-react-plugin", ] } diff --git a/x-pack/examples/reporting_example/tsconfig.json b/x-pack/examples/reporting_example/tsconfig.json index 4d20a411bd068..c8f6db0e76906 100644 --- a/x-pack/examples/reporting_example/tsconfig.json +++ b/x-pack/examples/reporting_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,13 +11,18 @@ "common/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../../src/plugins/screenshot_mode/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, - { "path": "../../plugins/reporting/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/navigation-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/developer-examples-plugin", + "@kbn/reporting-plugin", + "@kbn/share-plugin", + "@kbn/i18n-react", + "@kbn/utility-types", ] } diff --git a/x-pack/examples/screenshotting_example/tsconfig.json b/x-pack/examples/screenshotting_example/tsconfig.json index cf117533adc8c..3c1351f817c11 100644 --- a/x-pack/examples/screenshotting_example/tsconfig.json +++ b/x-pack/examples/screenshotting_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -11,13 +11,13 @@ "common/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../../src/plugins/screenshot_mode/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, - { "path": "../../plugins/screenshotting/tsconfig.json" } + "@kbn/core", + "@kbn/developer-examples-plugin", + "@kbn/screenshotting-plugin", + "@kbn/config-schema", ] } diff --git a/x-pack/examples/testing_embedded_lens/tsconfig.json b/x-pack/examples/testing_embedded_lens/tsconfig.json index d5689e03aeb6d..b5e78a46c3009 100644 --- a/x-pack/examples/testing_embedded_lens/tsconfig.json +++ b/x-pack/examples/testing_embedded_lens/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,12 +10,17 @@ "server/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../plugins/lens/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/lens-plugin", + "@kbn/developer-examples-plugin", + "@kbn/data-views-plugin", + "@kbn/ui-actions-plugin", + "@kbn/kibana-react-plugin", ] } diff --git a/x-pack/examples/third_party_lens_navigation_prompt/tsconfig.json b/x-pack/examples/third_party_lens_navigation_prompt/tsconfig.json index 2fe95c9cd4833..249de6790d8f5 100644 --- a/x-pack/examples/third_party_lens_navigation_prompt/tsconfig.json +++ b/x-pack/examples/third_party_lens_navigation_prompt/tsconfig.json @@ -1,22 +1,21 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", "public/**/*", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/expressions/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/data_views/tsconfig.json" }, - { "path": "../../../src/plugins/field_formats/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../plugins/lens/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/data-views-plugin", + "@kbn/lens-plugin", + "@kbn/developer-examples-plugin", + "@kbn/data-plugin", ] } diff --git a/x-pack/examples/third_party_maps_source_example/tsconfig.json b/x-pack/examples/third_party_maps_source_example/tsconfig.json index 988c6c54a2d29..4957d44a7f46a 100644 --- a/x-pack/examples/third_party_maps_source_example/tsconfig.json +++ b/x-pack/examples/third_party_maps_source_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", + "outDir": "target/types", }, "include": [ "public/**/*.ts", @@ -10,8 +10,12 @@ "../../../typings/**/*", ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../plugins/maps/tsconfig.json"}, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/maps-plugin", + "@kbn/developer-examples-plugin", + "@kbn/data-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/examples/third_party_vis_lens_example/tsconfig.json b/x-pack/examples/third_party_vis_lens_example/tsconfig.json index bb145ebd30065..ef98a7a9f4479 100644 --- a/x-pack/examples/third_party_vis_lens_example/tsconfig.json +++ b/x-pack/examples/third_party_vis_lens_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,15 +10,17 @@ "common/**/*", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/expressions/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/data_views/tsconfig.json" }, - { "path": "../../../src/plugins/field_formats/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../plugins/lens/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/expressions-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-views-plugin", + "@kbn/field-formats-plugin", + "@kbn/lens-plugin", + "@kbn/developer-examples-plugin", + "@kbn/interpreter", ] } diff --git a/x-pack/examples/triggers_actions_ui_example/tsconfig.json b/x-pack/examples/triggers_actions_ui_example/tsconfig.json index d28a560f8ba88..0e78735f7a134 100644 --- a/x-pack/examples/triggers_actions_ui_example/tsconfig.json +++ b/x-pack/examples/triggers_actions_ui_example/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,12 +10,17 @@ "server/**/*.ts", "../../../typings/**/*", ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../plugins/alerting/tsconfig.json" }, - { "path": "../../plugins/triggers_actions_ui/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/alerting-plugin", + "@kbn/triggers-actions-ui-plugin", + "@kbn/developer-examples-plugin", + "@kbn/rule-data-utils", + "@kbn/data-plugin", + "@kbn/i18n-react", ] } diff --git a/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json b/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json index 8b87cc628e771..2ab960659555e 100644 --- a/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json +++ b/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types" + "outDir": "target/types" }, "include": [ "index.ts", @@ -10,17 +10,24 @@ "server/**/*.ts", "../../../typings/**/*" ], - "exclude": [], + "exclude": [ + "target/**/*", + ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/share/tsconfig.json" }, - { "path": "../../../src/plugins/discover/tsconfig.json" }, - { "path": "../../../src/plugins/dashboard/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../../src/plugins/ui_actions_enhanced/tsconfig.json" }, - { "path": "../../../examples/developer_examples/tsconfig.json" }, - { "path": "../../plugins/dashboard_enhanced/tsconfig.json" }, + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/share-plugin", + "@kbn/discover-plugin", + "@kbn/dashboard-plugin", + "@kbn/embeddable-plugin", + "@kbn/ui-actions-enhanced-plugin", + "@kbn/developer-examples-plugin", + "@kbn/dashboard-enhanced-plugin", + "@kbn/data-plugin", + "@kbn/ui-actions-plugin", + "@kbn/i18n", + "@kbn/unified-search-plugin", + "@kbn/utility-types", ] } diff --git a/x-pack/packages/ml/agg_utils/BUILD.bazel b/x-pack/packages/ml/agg_utils/BUILD.bazel deleted file mode 100644 index ef8d59c000f01..0000000000000 --- a/x-pack/packages/ml/agg_utils/BUILD.bazel +++ /dev/null @@ -1,134 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "agg_utils" -PKG_REQUIRE_NAME = "@kbn/ml-agg-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//@elastic/elasticsearch", - "@npm//lodash", - "//packages/kbn-field-types", - "//x-pack/packages/ml/is_populated_object", - "//x-pack/packages/ml/string_hash", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/lodash", - "@npm//@elastic/elasticsearch", - "@npm//tslib", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/kbn-field-types:npm_module_types", - "//x-pack/packages/ml/is_populated_object:npm_module_types", - "//x-pack/packages/ml/string_hash:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/x-pack/packages/ml/agg_utils/kibana.jsonc b/x-pack/packages/ml/agg_utils/kibana.jsonc index 4bcfcbd8721a6..3c29356a24ada 100644 --- a/x-pack/packages/ml/agg_utils/kibana.jsonc +++ b/x-pack/packages/ml/agg_utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ml-agg-utils", - "owner": "@elastic/ml-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/ml-ui" } diff --git a/x-pack/packages/ml/agg_utils/package.json b/x-pack/packages/ml/agg_utils/package.json index 671b3c479e480..509fcaf1f6eaa 100644 --- a/x-pack/packages/ml/agg_utils/package.json +++ b/x-pack/packages/ml/agg_utils/package.json @@ -5,7 +5,5 @@ "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-agg-utils", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/x-pack/packages/ml/agg_utils/src/validate_number.test.ts b/x-pack/packages/ml/agg_utils/src/validate_number.test.ts index e40bc604f417f..e124908f278ba 100644 --- a/x-pack/packages/ml/agg_utils/src/validate_number.test.ts +++ b/x-pack/packages/ml/agg_utils/src/validate_number.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { numberValidator } from '@kbn/ml-agg-utils'; +import { numberValidator } from './validate_number'; describe('numberValidator', () => { it('should only allow integers above zero', () => { diff --git a/x-pack/packages/ml/agg_utils/tsconfig.json b/x-pack/packages/ml/agg_utils/tsconfig.json index 424a7c9d59623..a7620df0a88d0 100644 --- a/x-pack/packages/ml/agg_utils/tsconfig.json +++ b/x-pack/packages/ml/agg_utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -12,5 +10,14 @@ }, "include": [ "**/*.ts", + ], + "kbn_references": [ + "@kbn/core-elasticsearch-server", + "@kbn/field-types", + "@kbn/ml-is-populated-object", + "@kbn/ml-string-hash" + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/packages/ml/aiops_components/BUILD.bazel b/x-pack/packages/ml/aiops_components/BUILD.bazel deleted file mode 100644 index b47a6a8b1acd4..0000000000000 --- a/x-pack/packages/ml/aiops_components/BUILD.bazel +++ /dev/null @@ -1,157 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "aiops_components" -PKG_REQUIRE_NAME = "@kbn/aiops-components" - -SOURCE_FILES = glob( - [ - "**/*.scss", - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//d3-brush", - "@npm//d3-scale", - "@npm//d3-selection", - "@npm//d3-transition", - "@npm//react", - "@npm//@elastic/charts", - "@npm//@elastic/eui", - "@npm//@emotion/react", - "@npm//@emotion/css", - "//packages/kbn-i18n-react", - "//x-pack/packages/ml/aiops_utils", -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/d3-brush", - "@npm//@types/d3-scale", - "@npm//@types/d3-selection", - "@npm//@types/d3-transition", - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "@npm//@elastic/charts", - "@npm//@elastic/eui", - "@npm//@emotion/react", - "@npm//@emotion/css", - "//packages/kbn-i18n-react:npm_module_types", - "//x-pack/packages/ml/aiops_utils:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, - additional_args = [ - "--copy-files", - "--quiet" - ], -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/x-pack/packages/ml/aiops_components/kibana.jsonc b/x-pack/packages/ml/aiops_components/kibana.jsonc index 3fc4f228e2b0f..6df0d201312a1 100644 --- a/x-pack/packages/ml/aiops_components/kibana.jsonc +++ b/x-pack/packages/ml/aiops_components/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/aiops-components", - "owner": "@elastic/ml-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/ml-ui" } diff --git a/x-pack/packages/ml/aiops_components/package.json b/x-pack/packages/ml/aiops_components/package.json index e3fd69c7c8e11..8c9a4a0b76ea5 100644 --- a/x-pack/packages/ml/aiops_components/package.json +++ b/x-pack/packages/ml/aiops_components/package.json @@ -5,8 +5,5 @@ "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-aiops-components", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_components/tsconfig.json b/x-pack/packages/ml/aiops_components/tsconfig.json index cdb1c5d8d0007..2298884c973cb 100644 --- a/x-pack/packages/ml/aiops_components/tsconfig.json +++ b/x-pack/packages/ml/aiops_components/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "@types/d3-brush", @@ -19,5 +17,13 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/i18n-react", + "@kbn/aiops-utils", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/packages/ml/aiops_utils/BUILD.bazel b/x-pack/packages/ml/aiops_utils/BUILD.bazel deleted file mode 100644 index b5a8daddebd9a..0000000000000 --- a/x-pack/packages/ml/aiops_utils/BUILD.bazel +++ /dev/null @@ -1,135 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "aiops_utils" -PKG_REQUIRE_NAME = "@kbn/aiops-utils" - -SOURCE_FILES = glob( - [ - "**/*.ts", - "**/*.tsx", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ - "@npm//react", - "//packages/kbn-logging" -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "@npm//@types/react", - "//packages/core/elasticsearch/core-elasticsearch-server:npm_module_types", - "//packages/kbn-logging:npm_module_types" -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -jsts_transpiler( - name = "target_web", - srcs = SRCS, - build_pkg_name = package_name(), - web = True, -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/x-pack/packages/ml/aiops_utils/kibana.jsonc b/x-pack/packages/ml/aiops_utils/kibana.jsonc index 46d16f2cdc334..09202d630140a 100644 --- a/x-pack/packages/ml/aiops_utils/kibana.jsonc +++ b/x-pack/packages/ml/aiops_utils/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/aiops-utils", - "owner": "@elastic/ml-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/ml-ui" } diff --git a/x-pack/packages/ml/aiops_utils/package.json b/x-pack/packages/ml/aiops_utils/package.json index d1b7bba50061b..dc2960e5f360a 100644 --- a/x-pack/packages/ml/aiops_utils/package.json +++ b/x-pack/packages/ml/aiops_utils/package.json @@ -5,8 +5,5 @@ "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-aiops-utils", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/x-pack/packages/ml/aiops_utils/tsconfig.json b/x-pack/packages/ml/aiops_utils/tsconfig.json index 4eb9855fa759d..727c591601218 100644 --- a/x-pack/packages/ml/aiops_utils/tsconfig.json +++ b/x-pack/packages/ml/aiops_utils/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -14,5 +12,12 @@ "include": [ "**/*.ts", "**/*.tsx", + ], + "kbn_references": [ + "@kbn/logging", + "@kbn/core-http-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/packages/ml/is_defined/README.md b/x-pack/packages/ml/is_defined/README.md new file mode 100644 index 0000000000000..c87e487b565a6 --- /dev/null +++ b/x-pack/packages/ml/is_defined/README.md @@ -0,0 +1,3 @@ +# @kbn/ml-is-defined + +Utility function to determine if a value is not `undefined` and not `null`. diff --git a/x-pack/packages/ml/is_defined/index.ts b/x-pack/packages/ml/is_defined/index.ts new file mode 100644 index 0000000000000..8b04a61a8bdae --- /dev/null +++ b/x-pack/packages/ml/is_defined/index.ts @@ -0,0 +1,8 @@ +/* + * 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. + */ + +export { isDefined } from './src/is_defined'; diff --git a/x-pack/packages/ml/is_defined/jest.config.js b/x-pack/packages/ml/is_defined/jest.config.js new file mode 100644 index 0000000000000..a4deb4d18ecf8 --- /dev/null +++ b/x-pack/packages/ml/is_defined/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/is_defined'], +}; diff --git a/x-pack/packages/ml/is_defined/kibana.jsonc b/x-pack/packages/ml/is_defined/kibana.jsonc new file mode 100644 index 0000000000000..b25718598901b --- /dev/null +++ b/x-pack/packages/ml/is_defined/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-is-defined", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/is_defined/package.json b/x-pack/packages/ml/is_defined/package.json new file mode 100644 index 0000000000000..2ed8896c22552 --- /dev/null +++ b/x-pack/packages/ml/is_defined/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/ml-is-defined", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/x-pack/plugins/data_visualizer/public/application/common/util/is_defined.ts b/x-pack/packages/ml/is_defined/src/is_defined.ts similarity index 75% rename from x-pack/plugins/data_visualizer/public/application/common/util/is_defined.ts rename to x-pack/packages/ml/is_defined/src/is_defined.ts index ead91eafc2d4e..1cf980293277c 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/util/is_defined.ts +++ b/x-pack/packages/ml/is_defined/src/is_defined.ts @@ -5,6 +5,12 @@ * 2.0. */ +/** + * Checks whether the supplied argument is not `undefined` and not `null`. + * + * @param argument + * @returns boolean + */ export function isDefined(argument: T | undefined | null): argument is T { return argument !== undefined && argument !== null; } diff --git a/x-pack/packages/ml/is_defined/tsconfig.json b/x-pack/packages/ml/is_defined/tsconfig.json new file mode 100644 index 0000000000000..5c989599ec9ad --- /dev/null +++ b/x-pack/packages/ml/is_defined/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/x-pack/packages/ml/is_populated_object/BUILD.bazel b/x-pack/packages/ml/is_populated_object/BUILD.bazel deleted file mode 100644 index 00c2677acc693..0000000000000 --- a/x-pack/packages/ml/is_populated_object/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "is_populated_object" -PKG_REQUIRE_NAME = "@kbn/ml-is-populated-object" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/x-pack/packages/ml/is_populated_object/kibana.jsonc b/x-pack/packages/ml/is_populated_object/kibana.jsonc index 44240b60c4198..1ef21fe110b12 100644 --- a/x-pack/packages/ml/is_populated_object/kibana.jsonc +++ b/x-pack/packages/ml/is_populated_object/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ml-is-populated-object", - "owner": "@elastic/ml-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/ml-ui" } diff --git a/x-pack/packages/ml/is_populated_object/package.json b/x-pack/packages/ml/is_populated_object/package.json index f5bdff98a7207..67178caec3de6 100644 --- a/x-pack/packages/ml/is_populated_object/package.json +++ b/x-pack/packages/ml/is_populated_object/package.json @@ -5,7 +5,5 @@ "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-is-populated-object", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/x-pack/packages/ml/is_populated_object/tsconfig.json b/x-pack/packages/ml/is_populated_object/tsconfig.json index af8fdef592c43..0036df9dd1a20 100644 --- a/x-pack/packages/ml/is_populated_object/tsconfig.json +++ b/x-pack/packages/ml/is_populated_object/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/packages/ml/local_storage/README.md b/x-pack/packages/ml/local_storage/README.md new file mode 100644 index 0000000000000..d1e7c46957397 --- /dev/null +++ b/x-pack/packages/ml/local_storage/README.md @@ -0,0 +1,3 @@ +# @kbn/ml-local-storage + +Utilities to combine url state management with local storage. diff --git a/x-pack/packages/ml/local_storage/index.ts b/x-pack/packages/ml/local_storage/index.ts new file mode 100644 index 0000000000000..f950f8791a341 --- /dev/null +++ b/x-pack/packages/ml/local_storage/index.ts @@ -0,0 +1,8 @@ +/* + * 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. + */ + +export { StorageContextProvider, useStorage } from './src/storage_context'; diff --git a/x-pack/packages/ml/local_storage/jest.config.js b/x-pack/packages/ml/local_storage/jest.config.js new file mode 100644 index 0000000000000..7de0a696c57ef --- /dev/null +++ b/x-pack/packages/ml/local_storage/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/local_storage'], +}; diff --git a/x-pack/packages/ml/local_storage/kibana.jsonc b/x-pack/packages/ml/local_storage/kibana.jsonc new file mode 100644 index 0000000000000..8afac70248f4f --- /dev/null +++ b/x-pack/packages/ml/local_storage/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-local-storage", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/local_storage/package.json b/x-pack/packages/ml/local_storage/package.json new file mode 100644 index 0000000000000..af2452a92220b --- /dev/null +++ b/x-pack/packages/ml/local_storage/package.json @@ -0,0 +1,9 @@ +{ + "name": "@kbn/ml-local-storage", + "description": "Utilities to combine url state management with local storage.", + "author": "Machine Learning UI", + "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-local-storage", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/x-pack/packages/ml/local_storage/src/storage_context.tsx b/x-pack/packages/ml/local_storage/src/storage_context.tsx new file mode 100644 index 0000000000000..e8cb64d81025e --- /dev/null +++ b/x-pack/packages/ml/local_storage/src/storage_context.tsx @@ -0,0 +1,193 @@ +/* + * 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. + */ + +import React, { + type PropsWithChildren, + useEffect, + useMemo, + useCallback, + useState, + useContext, +} from 'react'; +import { omit } from 'lodash'; + +import type { Storage } from '@kbn/kibana-utils-plugin/public'; +import { isDefined } from '@kbn/ml-is-defined'; + +/** + * StorageDefinition is a dictionary with `string` based keys. + */ +interface StorageDefinition { + [key: string]: unknown; +} + +/** + * TStorage, a partial `StorageDefinition` or `null`. + */ +type TStorage = Partial | null; +/** + * TStorageKey, keys of StorageDefintion. + */ +type TStorageKey = keyof Exclude; +/** + * TStorageMapped, mapping of TStorage with TStorageKey. + */ +type TStorageMapped = T extends string ? unknown : null; + +/** + * StorageAPI definition of store TStorage with accessors. + */ +interface StorageAPI { + value: TStorage; + setValue: >(key: K, value: T) => void; + removeValue: (key: K) => void; +} + +/** + * Type guard to check if a supplied `key` is in `storageKey`. + * + * @param key + * @param storageKeys + * @returns boolean + */ +export function isStorageKey(key: unknown, storageKeys: readonly T[]): key is T { + return storageKeys.includes(key as T); +} + +/** + * React context to hold storage API. + */ +export const MlStorageContext = React.createContext({ + value: null, + setValue() { + throw new Error('MlStorageContext set method is not implemented'); + }, + removeValue() { + throw new Error('MlStorageContext remove method is not implemented'); + }, +}); + +/** + * Props for StorageContextProvider + */ +interface StorageContextProviderProps { + storage: Storage; + storageKeys: readonly K[]; +} + +/** + * Provider to manage context for the `useStorage` hook. + */ +export function StorageContextProvider({ + children, + storage, + storageKeys, +}: PropsWithChildren>) { + const initialValue = useMemo(() => { + return storageKeys.reduce((acc, curr) => { + acc[curr as K] = storage.get(curr as string); + return acc; + }, {} as Exclude); + }, [storage, storageKeys]); + + const [state, setState] = useState(initialValue); + + const setStorageValue = useCallback( + >(key: K, value: TM) => { + storage.set(key as string, value); + + setState((prevState) => ({ + ...prevState, + [key]: value, + })); + }, + [storage] + ); + + const removeStorageValue = useCallback( + (key: K) => { + storage.remove(key as string); + setState((prevState) => omit(prevState, key) as T); + }, + [storage] + ); + + useEffect( + function updateStorageOnExternalChange() { + const eventListener = (event: StorageEvent) => { + if (!isStorageKey(event.key, storageKeys)) return; + + if (isDefined(event.newValue)) { + setState((prev) => { + return { + ...prev, + [event.key as K]: + typeof event.newValue === 'string' ? JSON.parse(event.newValue) : event.newValue, + }; + }); + } else { + setState((prev) => omit(prev, event.key as K) as T); + } + }; + + /** + * This event listener is only invoked when + * the change happens in another browser's tab. + */ + window.addEventListener('storage', eventListener); + + return () => { + window.removeEventListener('storage', eventListener); + }; + }, + [storageKeys] + ); + + const value = useMemo(() => { + return { + value: state, + setValue: setStorageValue, + removeValue: removeStorageValue, + } as StorageAPI; + }, [state, setStorageValue, removeStorageValue]); + + return {children}; +} + +/** + * Hook for consuming a storage value + * @param key + * @param initValue + */ +export function useStorage>( + key: K, + initValue?: T +): [ + typeof initValue extends undefined ? T | undefined : Exclude, + (value: T) => void +] { + const { value, setValue, removeValue } = useContext(MlStorageContext); + + const resultValue = useMemo(() => { + return (value?.[key] ?? initValue) as typeof initValue extends undefined + ? T | undefined + : Exclude; + }, [value, key, initValue]); + + const setVal = useCallback( + (v: T) => { + if (isDefined(v)) { + setValue(key, v); + } else { + removeValue(key); + } + }, + [setValue, removeValue, key] + ); + + return [resultValue, setVal]; +} diff --git a/x-pack/packages/ml/local_storage/tsconfig.json b/x-pack/packages/ml/local_storage/tsconfig.json new file mode 100644 index 0000000000000..1f42768195c2b --- /dev/null +++ b/x-pack/packages/ml/local_storage/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/kibana-utils-plugin", + "@kbn/ml-is-defined", + ] +} diff --git a/x-pack/packages/ml/nested_property/README.md b/x-pack/packages/ml/nested_property/README.md new file mode 100644 index 0000000000000..498b8c6a4add4 --- /dev/null +++ b/x-pack/packages/ml/nested_property/README.md @@ -0,0 +1,3 @@ +# @kbn/ml-nested-property + +Provides functionality similar to lodash's get() except that it's TypeScript aware and able to infer return types. diff --git a/x-pack/packages/ml/nested_property/index.ts b/x-pack/packages/ml/nested_property/index.ts new file mode 100644 index 0000000000000..d5cea3ee17973 --- /dev/null +++ b/x-pack/packages/ml/nested_property/index.ts @@ -0,0 +1,9 @@ +/* + * 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. + */ + +export { getNestedProperty } from './src/get_nested_property'; +export { setNestedProperty } from './src/set_nested_property'; diff --git a/x-pack/packages/ml/nested_property/jest.config.js b/x-pack/packages/ml/nested_property/jest.config.js new file mode 100644 index 0000000000000..1f242155d4093 --- /dev/null +++ b/x-pack/packages/ml/nested_property/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/nested_property'], +}; diff --git a/x-pack/packages/ml/nested_property/kibana.jsonc b/x-pack/packages/ml/nested_property/kibana.jsonc new file mode 100644 index 0000000000000..8256bcfc7d725 --- /dev/null +++ b/x-pack/packages/ml/nested_property/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-nested-property", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/nested_property/package.json b/x-pack/packages/ml/nested_property/package.json new file mode 100644 index 0000000000000..6498da088ece7 --- /dev/null +++ b/x-pack/packages/ml/nested_property/package.json @@ -0,0 +1,9 @@ +{ + "name": "@kbn/ml-nested-property", + "description": "TypeScript-aware utility functions to get/set attributes from objects.", + "author": "Machine Learning UI", + "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-nested-property", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/x-pack/packages/ml/nested_property/src/get_nested_property.test.ts b/x-pack/packages/ml/nested_property/src/get_nested_property.test.ts new file mode 100644 index 0000000000000..510ce8ce342f6 --- /dev/null +++ b/x-pack/packages/ml/nested_property/src/get_nested_property.test.ts @@ -0,0 +1,71 @@ +/* + * 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. + */ + +import { getNestedProperty } from './get_nested_property'; + +describe('object_utils', () => { + test('getNestedProperty()', () => { + const testObj = { + the: { + nested: { + value: 'the-nested-value', + }, + }, + }; + + const falseyObj = { + the: { + nested: { + value: false, + }, + other_nested: { + value: 0, + }, + }, + }; + + const test1 = getNestedProperty(testObj, 'the'); + expect(typeof test1).toBe('object'); + expect(Object.keys(test1)).toStrictEqual(['nested']); + + const test2 = getNestedProperty(testObj, 'the$'); + expect(typeof test2).toBe('undefined'); + + const test3 = getNestedProperty(testObj, 'the$', 'the-default-value'); + expect(typeof test3).toBe('string'); + expect(test3).toBe('the-default-value'); + + const test4 = getNestedProperty(testObj, 'the.neSted'); + expect(typeof test4).toBe('undefined'); + + const test5 = getNestedProperty(testObj, 'the.nested'); + expect(typeof test5).toBe('object'); + expect(Object.keys(test5)).toStrictEqual(['value']); + + const test6 = getNestedProperty(testObj, 'the.nested.vaLue'); + expect(typeof test6).toBe('undefined'); + + const test7 = getNestedProperty(testObj, 'the.nested.value'); + expect(typeof test7).toBe('string'); + expect(test7).toBe('the-nested-value'); + + const test8 = getNestedProperty(testObj, 'the.nested.value.doesntExist'); + expect(typeof test8).toBe('undefined'); + + const test9 = getNestedProperty(testObj, 'the.nested.value.doesntExist', 'the-default-value'); + expect(typeof test9).toBe('string'); + expect(test9).toBe('the-default-value'); + + const test10 = getNestedProperty(falseyObj, 'the.nested.value'); + expect(typeof test10).toBe('boolean'); + expect(test10).toBe(false); + + const test11 = getNestedProperty(falseyObj, 'the.other_nested.value'); + expect(typeof test11).toBe('number'); + expect(test11).toBe(0); + }); +}); diff --git a/x-pack/packages/ml/nested_property/src/get_nested_property.ts b/x-pack/packages/ml/nested_property/src/get_nested_property.ts new file mode 100644 index 0000000000000..fbc26ad79d7bb --- /dev/null +++ b/x-pack/packages/ml/nested_property/src/get_nested_property.ts @@ -0,0 +1,35 @@ +/* + * 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. + */ + +// This is similar to lodash's get() except that it's TypeScript aware and is able to infer return types. +// It splits the attribute key string and uses reduce with an idx check to access nested attributes. +export function getNestedProperty( + obj: Record, + accessor: string, + defaultValue?: any +): any { + const accessorKeys = accessor.split('.'); + + let o = obj; + for (let i = 0; i < accessorKeys.length; i++) { + const keyPart = accessorKeys[i]; + o = o?.[keyPart]; + if (Array.isArray(o)) { + o = o.map((v) => + typeof v === 'object' + ? // from this point we need to resolve path for each element in the collection + getNestedProperty(v, accessorKeys.slice(i + 1, accessorKeys.length).join('.')) + : v + ); + break; + } + } + + if (o === undefined) return defaultValue; + + return o; +} diff --git a/x-pack/packages/ml/nested_property/src/set_nested_property.test.ts b/x-pack/packages/ml/nested_property/src/set_nested_property.test.ts new file mode 100644 index 0000000000000..43996f603ffa0 --- /dev/null +++ b/x-pack/packages/ml/nested_property/src/set_nested_property.test.ts @@ -0,0 +1,72 @@ +/* + * 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. + */ + +import { setNestedProperty } from './set_nested_property'; + +describe('object_utils', () => { + test('setNestedProperty()', () => { + function getTestObj() { + return { + the: { + nested: { + value: 'the-nested-value', + }, + }, + }; + } + + function getFalseyObject() { + return { + the: { + nested: { + value: false, + }, + other_nested: { + value: 0, + }, + }, + }; + } + + const test1 = setNestedProperty(getTestObj(), 'the', 'update'); + expect(test1.the).toBe('update'); + + const test2 = setNestedProperty(getTestObj(), 'the$', 'update'); + expect(test2.the$).toBe('update'); + + const test3 = setNestedProperty(getTestObj(), 'the$', 'the-default-value'); + expect(test3.the$).toBe('the-default-value'); + + const test4 = setNestedProperty(getTestObj(), 'the.neSted', 'update'); + expect(test4.the.neSted).toBe('update'); + + const test5 = setNestedProperty(getTestObj(), 'the.nested', 'update'); + expect(test5.the.nested).toStrictEqual('update'); + + const test6 = setNestedProperty(getTestObj(), 'the.nested.vaLue', 'update'); + expect(test6.the.nested.vaLue).toBe('update'); + + const test7 = setNestedProperty(getTestObj(), 'the.nested.value', 'update'); + expect(test7.the.nested.value).toBe('update'); + + const test8 = setNestedProperty(getTestObj(), 'the.nested.value.didntExist', 'update'); + expect(test8.the.nested.value.didntExist).toBe('update'); + + const test9 = setNestedProperty( + getTestObj(), + 'the.nested.value.didntExist', + 'the-default-value' + ); + expect(test9.the.nested.value.didntExist).toBe('the-default-value'); + + const test10 = setNestedProperty(getFalseyObject(), 'the.nested.value', 'update'); + expect(test10.the.nested.value).toBe('update'); + + const test11 = setNestedProperty(getFalseyObject(), 'the.other_nested.value', 'update'); + expect(test11.the.other_nested.value).toBe('update'); + }); +}); diff --git a/x-pack/packages/ml/nested_property/src/set_nested_property.ts b/x-pack/packages/ml/nested_property/src/set_nested_property.ts new file mode 100644 index 0000000000000..01e2200d4369a --- /dev/null +++ b/x-pack/packages/ml/nested_property/src/set_nested_property.ts @@ -0,0 +1,24 @@ +/* + * 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. + */ + +export const setNestedProperty = (obj: Record, accessor: string, value: any) => { + let ref = obj; + const accessors = accessor.split('.'); + const len = accessors.length; + for (let i = 0; i < len - 1; i++) { + const attribute = accessors[i]; + if (typeof ref[attribute] !== 'object') { + ref[attribute] = {}; + } + + ref = ref[attribute]; + } + + ref[accessors[len - 1]] = value; + + return obj; +}; diff --git a/x-pack/packages/ml/nested_property/tsconfig.json b/x-pack/packages/ml/nested_property/tsconfig.json new file mode 100644 index 0000000000000..e71c7853b63f8 --- /dev/null +++ b/x-pack/packages/ml/nested_property/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*", + ] +} diff --git a/x-pack/packages/ml/string_hash/BUILD.bazel b/x-pack/packages/ml/string_hash/BUILD.bazel deleted file mode 100644 index b3684de8b3d0c..0000000000000 --- a/x-pack/packages/ml/string_hash/BUILD.bazel +++ /dev/null @@ -1,122 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "string_hash" -PKG_REQUIRE_NAME = "@kbn/ml-string-hash" - -SOURCE_FILES = glob( - [ - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -js_library( - name = "npm_module_types", - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "build_types", - deps = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/x-pack/packages/ml/string_hash/kibana.jsonc b/x-pack/packages/ml/string_hash/kibana.jsonc index 0986bb25375c5..1573e9a970487 100644 --- a/x-pack/packages/ml/string_hash/kibana.jsonc +++ b/x-pack/packages/ml/string_hash/kibana.jsonc @@ -1,7 +1,5 @@ { "type": "shared-common", "id": "@kbn/ml-string-hash", - "owner": "@elastic/ml-ui", - "runtimeDeps": [], - "typeDeps": [] + "owner": "@elastic/ml-ui" } diff --git a/x-pack/packages/ml/string_hash/package.json b/x-pack/packages/ml/string_hash/package.json index 29bb620205745..272cb258ed1c5 100644 --- a/x-pack/packages/ml/string_hash/package.json +++ b/x-pack/packages/ml/string_hash/package.json @@ -5,7 +5,5 @@ "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-string-hash", "private": true, "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "types": "./target_types/index.d.ts" -} + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/x-pack/packages/ml/string_hash/tsconfig.json b/x-pack/packages/ml/string_hash/tsconfig.json index af8fdef592c43..0036df9dd1a20 100644 --- a/x-pack/packages/ml/string_hash/tsconfig.json +++ b/x-pack/packages/ml/string_hash/tsconfig.json @@ -1,9 +1,7 @@ { - "extends": "../../../../tsconfig.bazel.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "target_types", + "outDir": "target/types", "stripInternal": false, "types": [ "jest", @@ -12,5 +10,8 @@ }, "include": [ "**/*.ts" + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/packages/ml/url_state/README.md b/x-pack/packages/ml/url_state/README.md new file mode 100644 index 0000000000000..c444e28569e5a --- /dev/null +++ b/x-pack/packages/ml/url_state/README.md @@ -0,0 +1,3 @@ +# @kbn/ml-url-state + +URL state management. diff --git a/x-pack/packages/ml/url_state/index.ts b/x-pack/packages/ml/url_state/index.ts new file mode 100644 index 0000000000000..c2b3f80c62a15 --- /dev/null +++ b/x-pack/packages/ml/url_state/index.ts @@ -0,0 +1,19 @@ +/* + * 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. + */ + +export { + isRisonSerializationRequired, + parseUrlState, + usePageUrlState, + useUrlState, + PageUrlStateService, + Provider, + UrlStateProvider, + type Accessor, + type Dictionary, + type SetUrlState, +} from './src/url_state'; diff --git a/x-pack/packages/ml/url_state/jest.config.js b/x-pack/packages/ml/url_state/jest.config.js new file mode 100644 index 0000000000000..34c3a85409e99 --- /dev/null +++ b/x-pack/packages/ml/url_state/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/url_state'], +}; diff --git a/x-pack/packages/ml/url_state/kibana.jsonc b/x-pack/packages/ml/url_state/kibana.jsonc new file mode 100644 index 0000000000000..8850913bfa8c2 --- /dev/null +++ b/x-pack/packages/ml/url_state/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-url-state", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/url_state/package.json b/x-pack/packages/ml/url_state/package.json new file mode 100644 index 0000000000000..f53d53db4b504 --- /dev/null +++ b/x-pack/packages/ml/url_state/package.json @@ -0,0 +1,9 @@ +{ + "name": "@kbn/ml-url-state", + "description": "Url state management utilities.", + "author": "Machine Learning UI", + "homepage": "https://docs.elastic.dev/kibana-dev-docs/api/kbn-ml-url-state", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/x-pack/plugins/ml/public/application/util/url_state.test.tsx b/x-pack/packages/ml/url_state/src/url_state.test.tsx similarity index 100% rename from x-pack/plugins/ml/public/application/util/url_state.test.tsx rename to x-pack/packages/ml/url_state/src/url_state.test.tsx diff --git a/x-pack/packages/ml/url_state/src/url_state.tsx b/x-pack/packages/ml/url_state/src/url_state.tsx new file mode 100644 index 0000000000000..d643a22bde6e4 --- /dev/null +++ b/x-pack/packages/ml/url_state/src/url_state.tsx @@ -0,0 +1,314 @@ +/* + * 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. + */ + +import { parse, stringify } from 'query-string'; +import React, { + createContext, + useCallback, + useContext, + useMemo, + useRef, + useEffect, + type FC, +} from 'react'; +import { useHistory, useLocation } from 'react-router-dom'; +import { isEqual } from 'lodash'; + +import { getNestedProperty } from '@kbn/ml-nested-property'; +import { decode, encode } from '@kbn/rison'; + +import { BehaviorSubject, Observable } from 'rxjs'; +import { distinctUntilChanged } from 'rxjs/operators'; +import { isPopulatedObject } from '@kbn/ml-is-populated-object'; + +export interface Dictionary { + [id: string]: TValue; +} + +export type Accessor = '_a' | '_g'; +export type SetUrlState = ( + accessor: Accessor, + attribute: string | Dictionary, + value?: any, + replaceState?: boolean +) => void; +export interface UrlState { + searchString: string; + setUrlState: SetUrlState; +} + +/** + * Set of URL query parameters that require the rison serialization. + */ +const risonSerializedParams = new Set(['_a', '_g']); + +/** + * Checks if the URL query parameter requires rison serialization. + * @param queryParam + */ +export function isRisonSerializationRequired(queryParam: string): boolean { + return risonSerializedParams.has(queryParam); +} + +export function parseUrlState(search: string): Dictionary { + const urlState: Dictionary = {}; + const parsedQueryString = parse(search, { sort: false }); + + try { + Object.keys(parsedQueryString).forEach((a) => { + if (isRisonSerializationRequired(a)) { + urlState[a] = decode(parsedQueryString[a] as string); + } else { + urlState[a] = parsedQueryString[a]; + } + }); + } catch (error) { + // eslint-disable-next-line no-console + console.error('Could not read url state', error); + } + + return urlState; +} + +// Compared to the original appState/globalState, +// this no longer makes use of fetch/save methods. +// - Reading from `location.search` is the successor of `fetch`. +// - `history.push()` is the successor of `save`. +// - The exposed state and set call make use of the above and make sure that +// different urlStates(e.g. `_a` / `_g`) don't overwrite each other. +// This uses a context to be able to maintain only one instance +// of the url state. It gets passed down with `UrlStateProvider` +// and can be used via `useUrlState`. +export const urlStateStore = createContext({ + searchString: '', + setUrlState: () => {}, +}); + +export const { Provider } = urlStateStore; + +export const UrlStateProvider: FC = ({ children }) => { + const history = useHistory(); + const { search: searchString } = useLocation(); + + const setUrlState: SetUrlState = useCallback( + ( + accessor: Accessor, + attribute: string | Dictionary, + value?: any, + replaceState?: boolean + ) => { + const prevSearchString = searchString; + const urlState = parseUrlState(prevSearchString); + const parsedQueryString = parse(prevSearchString, { sort: false }); + + if (!Object.prototype.hasOwnProperty.call(urlState, accessor)) { + urlState[accessor] = {}; + } + + if (typeof attribute === 'string') { + if (isEqual(getNestedProperty(urlState, `${accessor}.${attribute}`), value)) { + return prevSearchString; + } + + urlState[accessor][attribute] = value; + } else { + const attributes = attribute; + Object.keys(attributes).forEach((a) => { + urlState[accessor][a] = attributes[a]; + }); + } + + try { + const oldLocationSearchString = stringify(parsedQueryString, { + sort: false, + encode: false, + }); + + Object.keys(urlState).forEach((a) => { + if (isRisonSerializationRequired(a)) { + parsedQueryString[a] = encode(urlState[a]); + } else { + parsedQueryString[a] = urlState[a]; + } + }); + const newLocationSearchString = stringify(parsedQueryString, { + sort: false, + encode: false, + }); + + if (oldLocationSearchString !== newLocationSearchString) { + const newSearchString = stringify(parsedQueryString, { sort: false }); + if (replaceState) { + history.replace({ search: newSearchString }); + } else { + history.push({ search: newSearchString }); + } + } + } catch (error) { + // eslint-disable-next-line no-console + console.error('Could not save url state', error); + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [searchString] + ); + + return {children}; +}; + +export const useUrlState = ( + accessor: Accessor +): [ + Record, + (attribute: string | Dictionary, value?: unknown, replaceState?: boolean) => void +] => { + const { searchString, setUrlState: setUrlStateContext } = useContext(urlStateStore); + + const urlState = useMemo(() => { + const fullUrlState = parseUrlState(searchString); + if (typeof fullUrlState === 'object') { + return fullUrlState[accessor]; + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [searchString]); + + const setUrlState = useCallback( + (attribute: string | Dictionary, value?: unknown, replaceState?: boolean) => { + setUrlStateContext(accessor, attribute, value, replaceState); + }, + [accessor, setUrlStateContext] + ); + return [urlState, setUrlState]; +}; + +/** + * Service for managing URL state of particular page. + */ +export class PageUrlStateService { + private _pageUrlState$ = new BehaviorSubject(null); + private _pageUrlStateCallback: ((update: Partial, replaceState?: boolean) => void) | null = + null; + + /** + * Provides updates for the page URL state. + */ + public getPageUrlState$(): Observable { + return this._pageUrlState$.pipe(distinctUntilChanged(isEqual)); + } + + public getPageUrlState(): T | null { + return this._pageUrlState$.getValue(); + } + + public updateUrlState(update: Partial, replaceState?: boolean): void { + if (!this._pageUrlStateCallback) { + throw new Error('Callback has not been initialized.'); + } + this._pageUrlStateCallback(update, replaceState); + } + + /** + * Populates internal subject with currently active state. + * @param currentState + */ + public setCurrentState(currentState: T): void { + this._pageUrlState$.next(currentState); + } + + /** + * Sets the callback for the state update. + * @param callback + */ + public setUpdateCallback(callback: (update: Partial, replaceState?: boolean) => void): void { + this._pageUrlStateCallback = callback; + } +} + +interface PageUrlState { + pageKey: string; + pageUrlState: object; +} + +/** + * Hook for managing the URL state of the page. + */ +export const usePageUrlState = ( + pageKey: T['pageKey'], + defaultState?: T['pageUrlState'] +): [ + T['pageUrlState'], + (update: Partial, replaceState?: boolean) => void, + PageUrlStateService +] => { + const [appState, setAppState] = useUrlState('_a'); + const pageState = appState?.[pageKey]; + + const setCallback = useRef(); + + useEffect(() => { + setCallback.current = setAppState; + }, [setAppState]); + + const prevPageState = useRef(); + + const resultPageState: T['pageUrlState'] = useMemo(() => { + const result = { + ...(defaultState ?? {}), + ...(pageState ?? {}), + }; + + if (isEqual(result, prevPageState.current)) { + return prevPageState.current; + } + + // Compare prev and current states to only update changed values + if (isPopulatedObject(prevPageState.current)) { + for (const key in result) { + if (isEqual(result[key], prevPageState.current[key])) { + result[key] = prevPageState.current[key]; + } + } + } + + prevPageState.current = result; + + return result; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [pageState]); + + const onStateUpdate = useCallback( + (update: Partial, replaceState?: boolean) => { + if (!setCallback?.current) { + throw new Error('Callback for URL state update has not been initialized.'); + } + + setCallback.current( + pageKey, + { + ...resultPageState, + ...update, + }, + replaceState + ); + }, + [pageKey, resultPageState] + ); + + const pageUrlStateService = useMemo(() => new PageUrlStateService(), []); + + useEffect( + function updatePageUrlService() { + pageUrlStateService.setCurrentState(resultPageState); + pageUrlStateService.setUpdateCallback(onStateUpdate); + }, + [pageUrlStateService, onStateUpdate, resultPageState] + ); + + return useMemo(() => { + return [resultPageState, onStateUpdate, pageUrlStateService]; + }, [resultPageState, onStateUpdate, pageUrlStateService]); +}; diff --git a/x-pack/packages/ml/url_state/tsconfig.json b/x-pack/packages/ml/url_state/tsconfig.json new file mode 100644 index 0000000000000..715cdade684a1 --- /dev/null +++ b/x-pack/packages/ml/url_state/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/ml-nested-property", + "@kbn/rison", + "@kbn/ml-is-populated-object", + ] +} diff --git a/x-pack/performance/journeys/dashboard_listing_page.ts b/x-pack/performance/journeys/dashboard_listing_page.ts new file mode 100644 index 0000000000000..0c528ac7c4559 --- /dev/null +++ b/x-pack/performance/journeys/dashboard_listing_page.ts @@ -0,0 +1,32 @@ +/* + * 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. + */ + +import { Journey } from '@kbn/journeys'; + +export const journey = new Journey({ + esArchives: ['x-pack/performance/es_archives/sample_data_flights'], + kbnArchives: [ + 'x-pack/performance/kbn_archives/flights_no_map_dashboard', + 'x-pack/performance/kbn_archives/logs_no_map_dashboard', + ], +}) + .step('Go to Dashboards Page', async ({ page, kbnUrl }) => { + await page.goto(kbnUrl.get(`/app/dashboards`)); + await page.waitForSelector(`[data-test-subj="table-is-ready"]`); + }) + .step('Search dashboards page', async ({ page, inputDelays }) => { + await page.type('[data-test-subj="tableListSearchBox"]', 'Web', { + delay: inputDelays.TYPING, + }); + await page.waitForSelector(`[data-test-subj="table-is-ready"]`); + }) + .step('Delete dashboard', async ({ page, log }) => { + await page.click('[data-test-subj="checkboxSelectRow-edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b"]'); + await page.click('[data-test-subj="deleteSelectedItems"]'); + await page.click('[data-test-subj="confirmModalConfirmButton"]'); + await page.waitForSelector(`[data-test-subj="table-is-ready"]`); + }); diff --git a/x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts b/x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts index c63f239c5a491..fc32c62ce6bae 100644 --- a/x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts +++ b/x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts @@ -10,6 +10,8 @@ import { subj } from '@kbn/test-subj-selector'; import { waitForVisualizations } from '../utils'; export const journey = new Journey({ + // FAILING: https://github.com/elastic/kibana/issues/148221 + skipped: true, esArchives: ['x-pack/performance/es_archives/sample_data_ecommerce'], kbnArchives: ['x-pack/performance/kbn_archives/ecommerce_saved_search_only_dashboard'], }) diff --git a/x-pack/performance/tsconfig.json b/x-pack/performance/tsconfig.json index 923a42ffe52f3..636c4e1f5ed1f 100644 --- a/x-pack/performance/tsconfig.json +++ b/x-pack/performance/tsconfig.json @@ -1,11 +1,16 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, - "declarationMap": true, + "outDir": "target/types", "types": ["node", "jest"] }, "include": ["**/*.ts"], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/journeys", + "@kbn/test-subj-selector", + "@kbn/tooling-log", + ] } diff --git a/x-pack/plugins/actions/common/types.ts b/x-pack/plugins/actions/common/types.ts index 052ebc108077a..fe52e1db5b28d 100644 --- a/x-pack/plugins/actions/common/types.ts +++ b/x-pack/plugins/actions/common/types.ts @@ -34,16 +34,6 @@ export interface ValidatedEmail { reason?: InvalidEmailReason; } -export interface ActionResult { - id: string; - actionTypeId: string; - name: string; - // This will have to remain `any` until we can extend Action Executors with generics - // eslint-disable-next-line @typescript-eslint/no-explicit-any - config: Record; - isPreconfigured: boolean; -} - // the result returned from an action type executor function const ActionTypeExecutorResultStatusValues = ['ok', 'error'] as const; type ActionTypeExecutorResultStatus = typeof ActionTypeExecutorResultStatusValues[number]; diff --git a/x-pack/plugins/actions/server/action_type_registry.test.ts b/x-pack/plugins/actions/server/action_type_registry.test.ts index fc945c57a8a1c..3a7c04da54924 100644 --- a/x-pack/plugins/actions/server/action_type_registry.test.ts +++ b/x-pack/plugins/actions/server/action_type_registry.test.ts @@ -21,50 +21,51 @@ let mockedLicenseState: jest.Mocked; let mockedActionsConfig: jest.Mocked; let actionTypeRegistryParams: ActionTypeRegistryOpts; -beforeEach(() => { - jest.resetAllMocks(); - mockedLicenseState = licenseStateMock.create(); - mockedActionsConfig = actionsConfigMock.create(); - actionTypeRegistryParams = { - licensing: licensingMock.createSetup(), - taskManager: mockTaskManager, - taskRunnerFactory: new TaskRunnerFactory( - new ActionExecutor({ isESOCanEncrypt: true }), - inMemoryMetrics - ), - actionsConfigUtils: mockedActionsConfig, - licenseState: mockedLicenseState, - preconfiguredActions: [ - { - actionTypeId: 'foo', - config: {}, - id: 'my-slack1', - name: 'Slack #xyz', - secrets: {}, - isPreconfigured: true, - isDeprecated: false, - }, - ], +describe('actionTypeRegistry', () => { + beforeEach(() => { + jest.resetAllMocks(); + mockedLicenseState = licenseStateMock.create(); + mockedActionsConfig = actionsConfigMock.create(); + actionTypeRegistryParams = { + licensing: licensingMock.createSetup(), + taskManager: mockTaskManager, + taskRunnerFactory: new TaskRunnerFactory( + new ActionExecutor({ isESOCanEncrypt: true }), + inMemoryMetrics + ), + actionsConfigUtils: mockedActionsConfig, + licenseState: mockedLicenseState, + preconfiguredActions: [ + { + actionTypeId: 'foo', + config: {}, + id: 'my-slack1', + name: 'Slack #xyz', + secrets: {}, + isPreconfigured: true, + isDeprecated: false, + }, + ], + }; + }); + + const executor: ExecutorType<{}, {}, {}, void> = async (options) => { + return { status: 'ok', actionId: options.actionId }; }; -}); -const executor: ExecutorType<{}, {}, {}, void> = async (options) => { - return { status: 'ok', actionId: options.actionId }; -}; - -describe('register()', () => { - test('able to register action types', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'gold', - supportedFeatureIds: ['alerting'], - executor, - }); - expect(actionTypeRegistry.has('my-action-type')).toEqual(true); - expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); - expect(mockTaskManager.registerTaskDefinitions.mock.calls[0]).toMatchInlineSnapshot(` + describe('register()', () => { + test('able to register action types', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'gold', + supportedFeatureIds: ['alerting'], + executor, + }); + expect(actionTypeRegistry.has('my-action-type')).toEqual(true); + expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); + expect(mockTaskManager.registerTaskDefinitions.mock.calls[0]).toMatchInlineSnapshot(` Array [ Object { "actions:my-action-type": Object { @@ -76,157 +77,157 @@ describe('register()', () => { }, ] `); - expect(actionTypeRegistryParams.licensing.featureUsage.register).toHaveBeenCalledWith( - 'Connector: My action type', - 'gold' - ); - }); - - test('shallow clones the given action type', () => { - const myType: ActionType = { - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, - }; - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register(myType); - myType.name = 'Changed'; - expect(actionTypeRegistry.get('my-action-type').name).toEqual('My action type'); - }); + expect(actionTypeRegistryParams.licensing.featureUsage.register).toHaveBeenCalledWith( + 'Connector: My action type', + 'gold' + ); + }); - test('throws error if action type already registered', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, + test('shallow clones the given action type', () => { + const myType: ActionType = { + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor, + }; + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register(myType); + myType.name = 'Changed'; + expect(actionTypeRegistry.get('my-action-type').name).toEqual('My action type'); }); - expect(() => + + test('throws error if action type already registered', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); actionTypeRegistry.register({ id: 'my-action-type', name: 'My action type', minimumLicenseRequired: 'basic', supportedFeatureIds: ['alerting'], executor, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"Action type \\"my-action-type\\" is already registered."` - ); - }); + }); + expect(() => + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor, + }) + ).toThrowErrorMatchingInlineSnapshot( + `"Action type \\"my-action-type\\" is already registered."` + ); + }); + + test('throws if empty supported feature ids provided', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + expect(() => + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: [], + executor, + }) + ).toThrowErrorMatchingInlineSnapshot( + `"At least one \\"supportedFeatureId\\" value must be supplied for connector type \\"my-action-type\\"."` + ); + }); - test('throws if empty supported feature ids provided', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - expect(() => + test('throws if invalid feature ids provided', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + expect(() => + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['foo'], + executor, + }) + ).toThrowErrorMatchingInlineSnapshot( + `"Invalid feature ids \\"foo\\" for connector type \\"my-action-type\\"."` + ); + }); + + test('provides a getRetry function that handles ExecutorError', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); actionTypeRegistry.register({ id: 'my-action-type', name: 'My action type', minimumLicenseRequired: 'basic', - supportedFeatureIds: [], + supportedFeatureIds: ['alerting'], executor, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"At least one \\"supportedFeatureId\\" value must be supplied for connector type \\"my-action-type\\"."` - ); - }); + }); + expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); + const registerTaskDefinitionsCall = mockTaskManager.registerTaskDefinitions.mock.calls[0][0]; + const getRetry = registerTaskDefinitionsCall['actions:my-action-type'].getRetry!; + + const retryTime = new Date(); + expect(getRetry(0, new Error())).toEqual(true); + expect(getRetry(0, new ExecutorError('my message', {}, true))).toEqual(true); + expect(getRetry(0, new ExecutorError('my message', {}, false))).toEqual(false); + expect(getRetry(0, new ExecutorError('my message', {}, undefined))).toEqual(false); + expect(getRetry(0, new ExecutorError('my message', {}, retryTime))).toEqual(retryTime); + }); - test('throws if invalid feature ids provided', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - expect(() => + test('provides a getRetry function that handles errors based on maxAttempts', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); actionTypeRegistry.register({ id: 'my-action-type', name: 'My action type', minimumLicenseRequired: 'basic', - supportedFeatureIds: ['foo'], + supportedFeatureIds: ['alerting'], executor, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"Invalid feature ids \\"foo\\" for connector type \\"my-action-type\\"."` - ); - }); - - test('provides a getRetry function that handles ExecutorError', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, - }); - expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); - const registerTaskDefinitionsCall = mockTaskManager.registerTaskDefinitions.mock.calls[0][0]; - const getRetry = registerTaskDefinitionsCall['actions:my-action-type'].getRetry!; - - const retryTime = new Date(); - expect(getRetry(0, new Error())).toEqual(false); - expect(getRetry(0, new ExecutorError('my message', {}, true))).toEqual(true); - expect(getRetry(0, new ExecutorError('my message', {}, false))).toEqual(false); - expect(getRetry(0, new ExecutorError('my message', {}, undefined))).toEqual(false); - expect(getRetry(0, new ExecutorError('my message', {}, retryTime))).toEqual(retryTime); - }); - - test('provides a getRetry function that handles errors based on maxAttempts', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, - maxAttempts: 2, + maxAttempts: 2, + }); + expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); + const registerTaskDefinitionsCall = mockTaskManager.registerTaskDefinitions.mock.calls[0][0]; + const getRetry = registerTaskDefinitionsCall['actions:my-action-type'].getRetry!; + + expect(getRetry(1, new Error())).toEqual(true); + expect(getRetry(3, new Error())).toEqual(false); }); - expect(mockTaskManager.registerTaskDefinitions).toHaveBeenCalledTimes(1); - const registerTaskDefinitionsCall = mockTaskManager.registerTaskDefinitions.mock.calls[0][0]; - const getRetry = registerTaskDefinitionsCall['actions:my-action-type'].getRetry!; - expect(getRetry(1, new Error())).toEqual(true); - expect(getRetry(2, new Error())).toEqual(false); - }); - - test('registers gold+ action types to the licensing feature usage API', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'gold', - supportedFeatureIds: ['alerting'], - executor, + test('registers gold+ action types to the licensing feature usage API', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'gold', + supportedFeatureIds: ['alerting'], + executor, + }); + expect(actionTypeRegistryParams.licensing.featureUsage.register).toHaveBeenCalledWith( + 'Connector: My action type', + 'gold' + ); }); - expect(actionTypeRegistryParams.licensing.featureUsage.register).toHaveBeenCalledWith( - 'Connector: My action type', - 'gold' - ); - }); - test(`doesn't register basic action types to the licensing feature usage API`, () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, + test(`doesn't register basic action types to the licensing feature usage API`, () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor, + }); + expect(actionTypeRegistryParams.licensing.featureUsage.register).not.toHaveBeenCalled(); }); - expect(actionTypeRegistryParams.licensing.featureUsage.register).not.toHaveBeenCalled(); }); -}); -describe('get()', () => { - test('returns action type', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, - }); - const actionType = actionTypeRegistry.get('my-action-type'); - expect(actionType).toMatchInlineSnapshot(` + describe('get()', () => { + test('returns action type', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor, + }); + const actionType = actionTypeRegistry.get('my-action-type'); + expect(actionType).toMatchInlineSnapshot(` Object { "executor": [Function], "id": "my-action-type", @@ -237,255 +238,213 @@ describe('get()', () => { ], } `); - }); + }); - test(`throws an error when action type doesn't exist`, () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - expect(() => actionTypeRegistry.get('my-action-type')).toThrowErrorMatchingInlineSnapshot( - `"Action type \\"my-action-type\\" is not registered."` - ); + test(`throws an error when action type doesn't exist`, () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + expect(() => actionTypeRegistry.get('my-action-type')).toThrowErrorMatchingInlineSnapshot( + `"Action type \\"my-action-type\\" is not registered."` + ); + }); }); -}); -describe('list()', () => { - test('returns list of action types', () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, + describe('list()', () => { + test('returns list of action types', () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ + id: 'my-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor, + }); + const actionTypes = actionTypeRegistry.list(); + expect(actionTypes).toEqual([ + { + id: 'my-action-type', + name: 'My action type', + enabled: true, + enabledInConfig: true, + enabledInLicense: true, + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + }, + ]); + expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalled(); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalled(); }); - const actionTypes = actionTypeRegistry.list(); - expect(actionTypes).toEqual([ - { + + test('returns list of connector types filtered by feature id if provided', () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ id: 'my-action-type', name: 'My action type', - enabled: true, - enabledInConfig: true, - enabledInLicense: true, minimumLicenseRequired: 'basic', supportedFeatureIds: ['alerting'], - }, - ]); - expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalled(); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalled(); + executor, + }); + actionTypeRegistry.register({ + id: 'another-action-type', + name: 'My action type', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['cases'], + executor, + }); + const actionTypes = actionTypeRegistry.list('alerting'); + expect(actionTypes).toEqual([ + { + id: 'my-action-type', + name: 'My action type', + enabled: true, + enabledInConfig: true, + enabledInLicense: true, + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + }, + ]); + expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalled(); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalled(); + }); }); - test('returns list of connector types filtered by feature id if provided', () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor, + describe('has()', () => { + test('returns false for unregistered action types', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + expect(actionTypeRegistry.has('my-action-type')).toEqual(false); }); - actionTypeRegistry.register({ - id: 'another-action-type', - name: 'My action type', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['cases'], - executor, - }); - const actionTypes = actionTypeRegistry.list('alerting'); - expect(actionTypes).toEqual([ - { + + test('returns true after registering an action type', () => { + const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register({ id: 'my-action-type', name: 'My action type', - enabled: true, - enabledInConfig: true, - enabledInLicense: true, minimumLicenseRequired: 'basic', supportedFeatureIds: ['alerting'], - }, - ]); - expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalled(); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalled(); - }); -}); - -describe('has()', () => { - test('returns false for unregistered action types', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - expect(actionTypeRegistry.has('my-action-type')).toEqual(false); + executor, + }); + expect(actionTypeRegistry.has('my-action-type')); + }); }); - test('returns true after registering an action type', () => { - const actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register({ - id: 'my-action-type', - name: 'My action type', + describe('isActionTypeEnabled', () => { + let actionTypeRegistry: ActionTypeRegistry; + const fooActionType: ActionType = { + id: 'foo', + name: 'Foo', minimumLicenseRequired: 'basic', supportedFeatureIds: ['alerting'], - executor, - }); - expect(actionTypeRegistry.has('my-action-type')); - }); -}); - -describe('isActionTypeEnabled', () => { - let actionTypeRegistry: ActionTypeRegistry; - const fooActionType: ActionType = { - id: 'foo', - name: 'Foo', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor: async (options) => { - return { status: 'ok', actionId: options.actionId }; - }, - }; - - beforeEach(() => { - actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register(fooActionType); - }); + executor: async (options) => { + return { status: 'ok', actionId: options.actionId }; + }, + }; - test('should call isActionTypeEnabled of the actions config', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionTypeEnabled('foo'); - expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalledWith('foo'); - }); + beforeEach(() => { + actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register(fooActionType); + }); - test('should call isActionExecutable of the actions config', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionExecutable('my-slack1', 'foo'); - expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalledWith('foo'); - }); + test('should call isActionTypeEnabled of the actions config', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionTypeEnabled('foo'); + expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalledWith('foo'); + }); - test('should return true when isActionTypeEnabled is false and isLicenseValidForActionType is true and it has preconfigured connectors', async () => { - mockedActionsConfig.isActionTypeEnabled.mockReturnValue(false); - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + test('should call isActionExecutable of the actions config', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionExecutable('my-slack1', 'foo'); + expect(mockedActionsConfig.isActionTypeEnabled).toHaveBeenCalledWith('foo'); + }); - expect(actionTypeRegistry.isActionExecutable('my-slack1', 'foo')).toEqual(true); - }); + test('should return true when isActionTypeEnabled is false and isLicenseValidForActionType is true and it has preconfigured connectors', async () => { + mockedActionsConfig.isActionTypeEnabled.mockReturnValue(false); + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - test('should call isLicenseValidForActionType of the license state with notifyUsage false by default', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionTypeEnabled('foo'); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { - notifyUsage: false, + expect(actionTypeRegistry.isActionExecutable('my-slack1', 'foo')).toEqual(true); }); - }); - test('should call isLicenseValidForActionType of the license state with notifyUsage true when specified', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionTypeEnabled('foo', { notifyUsage: true }); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { - notifyUsage: true, + test('should call isLicenseValidForActionType of the license state with notifyUsage false by default', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionTypeEnabled('foo'); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { + notifyUsage: false, + }); }); - }); - - test('should return false when isActionTypeEnabled is false and isLicenseValidForActionType is true', async () => { - mockedActionsConfig.isActionTypeEnabled.mockReturnValue(false); - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - expect(actionTypeRegistry.isActionTypeEnabled('foo')).toEqual(false); - }); - test('should return false when isActionTypeEnabled is true and isLicenseValidForActionType is false', async () => { - mockedActionsConfig.isActionTypeEnabled.mockReturnValue(true); - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ - isValid: false, - reason: 'invalid', + test('should call isLicenseValidForActionType of the license state with notifyUsage true when specified', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionTypeEnabled('foo', { notifyUsage: true }); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { + notifyUsage: true, + }); }); - expect(actionTypeRegistry.isActionTypeEnabled('foo')).toEqual(false); - }); -}); -describe('ensureActionTypeEnabled', () => { - let actionTypeRegistry: ActionTypeRegistry; - const fooActionType: ActionType = { - id: 'foo', - name: 'Foo', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor: async (options) => { - return { status: 'ok', actionId: options.actionId }; - }, - }; - - beforeEach(() => { - actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register(fooActionType); - }); + test('should return false when isActionTypeEnabled is false and isLicenseValidForActionType is true', async () => { + mockedActionsConfig.isActionTypeEnabled.mockReturnValue(false); + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + expect(actionTypeRegistry.isActionTypeEnabled('foo')).toEqual(false); + }); - test('should call ensureActionTypeEnabled of the action config', async () => { - actionTypeRegistry.ensureActionTypeEnabled('foo'); - expect(mockedActionsConfig.ensureActionTypeEnabled).toHaveBeenCalledWith('foo'); + test('should return false when isActionTypeEnabled is true and isLicenseValidForActionType is false', async () => { + mockedActionsConfig.isActionTypeEnabled.mockReturnValue(true); + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ + isValid: false, + reason: 'invalid', + }); + expect(actionTypeRegistry.isActionTypeEnabled('foo')).toEqual(false); + }); }); - test('should call ensureLicenseForActionType on the license state', async () => { - actionTypeRegistry.ensureActionTypeEnabled('foo'); - expect(mockedLicenseState.ensureLicenseForActionType).toHaveBeenCalledWith(fooActionType); - }); + describe('ensureActionTypeEnabled', () => { + let actionTypeRegistry: ActionTypeRegistry; + const fooActionType: ActionType = { + id: 'foo', + name: 'Foo', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor: async (options) => { + return { status: 'ok', actionId: options.actionId }; + }, + }; - test('should throw when ensureActionTypeEnabled throws', async () => { - mockedActionsConfig.ensureActionTypeEnabled.mockImplementation(() => { - throw new Error('Fail'); + beforeEach(() => { + actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register(fooActionType); }); - expect(() => - actionTypeRegistry.ensureActionTypeEnabled('foo') - ).toThrowErrorMatchingInlineSnapshot(`"Fail"`); - }); - test('should throw when ensureLicenseForActionType throws', async () => { - mockedLicenseState.ensureLicenseForActionType.mockImplementation(() => { - throw new Error('Fail'); + test('should call ensureActionTypeEnabled of the action config', async () => { + actionTypeRegistry.ensureActionTypeEnabled('foo'); + expect(mockedActionsConfig.ensureActionTypeEnabled).toHaveBeenCalledWith('foo'); }); - expect(() => - actionTypeRegistry.ensureActionTypeEnabled('foo') - ).toThrowErrorMatchingInlineSnapshot(`"Fail"`); - }); -}); - -describe('isActionExecutable()', () => { - let actionTypeRegistry: ActionTypeRegistry; - const fooActionType: ActionType = { - id: 'foo', - name: 'Foo', - minimumLicenseRequired: 'basic', - supportedFeatureIds: ['alerting'], - executor: async (options) => { - return { status: 'ok', actionId: options.actionId }; - }, - }; - - beforeEach(() => { - actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); - actionTypeRegistry.register(fooActionType); - }); - test('should call isLicenseValidForActionType of the license state with notifyUsage false by default', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionExecutable('123', 'foo'); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { - notifyUsage: false, + test('should call ensureLicenseForActionType on the license state', async () => { + actionTypeRegistry.ensureActionTypeEnabled('foo'); + expect(mockedLicenseState.ensureLicenseForActionType).toHaveBeenCalledWith(fooActionType); }); - }); - test('should call isLicenseValidForActionType of the license state with notifyUsage true when specified', async () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - actionTypeRegistry.isActionExecutable('123', 'foo', { notifyUsage: true }); - expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { - notifyUsage: true, + test('should throw when ensureActionTypeEnabled throws', async () => { + mockedActionsConfig.ensureActionTypeEnabled.mockImplementation(() => { + throw new Error('Fail'); + }); + expect(() => + actionTypeRegistry.ensureActionTypeEnabled('foo') + ).toThrowErrorMatchingInlineSnapshot(`"Fail"`); }); - }); -}); -describe('getAllTypes()', () => { - test('should return empty when notihing is registered', () => { - const registry = new ActionTypeRegistry(actionTypeRegistryParams); - const result = registry.getAllTypes(); - expect(result).toEqual([]); + test('should throw when ensureLicenseForActionType throws', async () => { + mockedLicenseState.ensureLicenseForActionType.mockImplementation(() => { + throw new Error('Fail'); + }); + expect(() => + actionTypeRegistry.ensureActionTypeEnabled('foo') + ).toThrowErrorMatchingInlineSnapshot(`"Fail"`); + }); }); - test('should return list of registered type ids', () => { - mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); - const registry = new ActionTypeRegistry(actionTypeRegistryParams); - registry.register({ + describe('isActionExecutable()', () => { + let actionTypeRegistry: ActionTypeRegistry; + const fooActionType: ActionType = { id: 'foo', name: 'Foo', minimumLicenseRequired: 'basic', @@ -493,8 +452,51 @@ describe('getAllTypes()', () => { executor: async (options) => { return { status: 'ok', actionId: options.actionId }; }, + }; + + beforeEach(() => { + actionTypeRegistry = new ActionTypeRegistry(actionTypeRegistryParams); + actionTypeRegistry.register(fooActionType); + }); + + test('should call isLicenseValidForActionType of the license state with notifyUsage false by default', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionExecutable('123', 'foo'); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { + notifyUsage: false, + }); + }); + + test('should call isLicenseValidForActionType of the license state with notifyUsage true when specified', async () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + actionTypeRegistry.isActionExecutable('123', 'foo', { notifyUsage: true }); + expect(mockedLicenseState.isLicenseValidForActionType).toHaveBeenCalledWith(fooActionType, { + notifyUsage: true, + }); + }); + }); + + describe('getAllTypes()', () => { + test('should return empty when notihing is registered', () => { + const registry = new ActionTypeRegistry(actionTypeRegistryParams); + const result = registry.getAllTypes(); + expect(result).toEqual([]); + }); + + test('should return list of registered type ids', () => { + mockedLicenseState.isLicenseValidForActionType.mockReturnValue({ isValid: true }); + const registry = new ActionTypeRegistry(actionTypeRegistryParams); + registry.register({ + id: 'foo', + name: 'Foo', + minimumLicenseRequired: 'basic', + supportedFeatureIds: ['alerting'], + executor: async (options) => { + return { status: 'ok', actionId: options.actionId }; + }, + }); + const result = registry.getAllTypes(); + expect(result).toEqual(['foo']); }); - const result = registry.getAllTypes(); - expect(result).toEqual(['foo']); }); }); diff --git a/x-pack/plugins/actions/server/action_type_registry.ts b/x-pack/plugins/actions/server/action_type_registry.ts index 54fcfa69f403f..31203a4c7efab 100644 --- a/x-pack/plugins/actions/server/action_type_registry.ts +++ b/x-pack/plugins/actions/server/action_type_registry.ts @@ -25,8 +25,6 @@ import { ActionTypeParams, } from './types'; -export const MAX_ATTEMPTS: number = 3; - export interface ActionTypeRegistryOpts { licensing: LicensingPluginSetup; taskManager: TaskManagerSetupContract; @@ -149,20 +147,25 @@ export class ActionTypeRegistry { ); } + const maxAttempts = this.actionsConfigUtils.getMaxAttempts({ + actionTypeId: actionType.id, + actionTypeMaxAttempts: actionType.maxAttempts, + }); + this.actionTypes.set(actionType.id, { ...actionType } as unknown as ActionType); this.taskManager.registerTaskDefinitions({ [`actions:${actionType.id}`]: { title: actionType.name, - maxAttempts: actionType.maxAttempts || MAX_ATTEMPTS, + maxAttempts, getRetry(attempts: number, error: unknown) { if (error instanceof ExecutorError) { return error.retry == null ? false : error.retry; } // Only retry other kinds of errors based on attempts - return attempts < (actionType.maxAttempts ?? 0); + return attempts < maxAttempts; }, createTaskRunner: (context: RunContext) => - this.taskRunnerFactory.create(context, actionType.maxAttempts), + this.taskRunnerFactory.create(context, maxAttempts), }, }); // No need to notify usage on basic action types diff --git a/x-pack/plugins/actions/server/actions_config.mock.ts b/x-pack/plugins/actions/server/actions_config.mock.ts index bf0ebb4e4791d..26a626cd88bf4 100644 --- a/x-pack/plugins/actions/server/actions_config.mock.ts +++ b/x-pack/plugins/actions/server/actions_config.mock.ts @@ -26,6 +26,7 @@ const createActionsConfigMock = () => { getCustomHostSettings: jest.fn().mockReturnValue(undefined), getMicrosoftGraphApiUrl: jest.fn().mockReturnValue(undefined), validateEmailAddresses: jest.fn().mockReturnValue(undefined), + getMaxAttempts: jest.fn().mockReturnValue(3), }; return mocked; }; diff --git a/x-pack/plugins/actions/server/actions_config.test.ts b/x-pack/plugins/actions/server/actions_config.test.ts index b1af4a843b496..fe0c913543e6a 100644 --- a/x-pack/plugins/actions/server/actions_config.test.ts +++ b/x-pack/plugins/actions/server/actions_config.test.ts @@ -534,3 +534,38 @@ describe('validateEmailAddresses()', () => { ); }); }); + +describe('getMaxAttempts()', () => { + test('returns the maxAttempts defined in config', () => { + const acu = getActionsConfigurationUtilities({ + ...defaultActionsConfig, + run: { maxAttempts: 1 }, + }); + const maxAttempts = acu.getMaxAttempts({ actionTypeMaxAttempts: 2, actionTypeId: 'slack' }); + expect(maxAttempts).toEqual(1); + }); + + test('returns the maxAttempts defined in config for the action type', () => { + const acu = getActionsConfigurationUtilities({ + ...defaultActionsConfig, + run: { maxAttempts: 1, connectorTypeOverrides: [{ id: 'slack', maxAttempts: 4 }] }, + }); + const maxAttempts = acu.getMaxAttempts({ actionTypeMaxAttempts: 2, actionTypeId: 'slack' }); + expect(maxAttempts).toEqual(4); + }); + + test('returns the maxAttempts passed by the action type', () => { + const acu = getActionsConfigurationUtilities(defaultActionsConfig); + const maxAttempts = acu.getMaxAttempts({ actionTypeMaxAttempts: 2, actionTypeId: 'slack' }); + expect(maxAttempts).toEqual(2); + }); + + test('returns the default maxAttempts', () => { + const acu = getActionsConfigurationUtilities(defaultActionsConfig); + const maxAttempts = acu.getMaxAttempts({ + actionTypeMaxAttempts: undefined, + actionTypeId: 'slack', + }); + expect(maxAttempts).toEqual(3); + }); +}); diff --git a/x-pack/plugins/actions/server/actions_config.ts b/x-pack/plugins/actions/server/actions_config.ts index 611cf4a394ad7..43dd35ba38021 100644 --- a/x-pack/plugins/actions/server/actions_config.ts +++ b/x-pack/plugins/actions/server/actions_config.ts @@ -28,6 +28,8 @@ enum AllowListingField { hostname = 'hostname', } +export const DEFAULT_MAX_ATTEMPTS: number = 3; + export interface ActionsConfigurationUtilities { isHostnameAllowed: (hostname: string) => boolean; isUriAllowed: (uri: string) => boolean; @@ -40,6 +42,13 @@ export interface ActionsConfigurationUtilities { getResponseSettings: () => ResponseSettings; getCustomHostSettings: (targetUrl: string) => CustomHostSettings | undefined; getMicrosoftGraphApiUrl: () => undefined | string; + getMaxAttempts: ({ + actionTypeMaxAttempts, + actionTypeId, + }: { + actionTypeMaxAttempts?: number; + actionTypeId: string; + }) => number; validateEmailAddresses( addresses: string[], options?: ValidateEmailAddressesOptions @@ -194,5 +203,17 @@ export function getActionsConfigurationUtilities( getMicrosoftGraphApiUrl: () => getMicrosoftGraphApiUrlFromConfig(config), validateEmailAddresses: (addresses: string[], options: ValidateEmailAddressesOptions) => validatedEmailCurried(addresses, options), + getMaxAttempts: ({ actionTypeMaxAttempts, actionTypeId }) => { + const connectorTypeConfig = config.run?.connectorTypeOverrides?.find( + (connectorType) => actionTypeId === connectorType.id + ); + + return ( + connectorTypeConfig?.maxAttempts || + config.run?.maxAttempts || + actionTypeMaxAttempts || + DEFAULT_MAX_ATTEMPTS + ); + }, }; } diff --git a/x-pack/plugins/actions/server/config.ts b/x-pack/plugins/actions/server/config.ts index 76270a466ee8f..05ac2ea85a47e 100644 --- a/x-pack/plugins/actions/server/config.ts +++ b/x-pack/plugins/actions/server/config.ts @@ -16,6 +16,9 @@ export enum EnabledActionTypes { Any = '*', } +const MAX_MAX_ATTEMPTS = 10; +const MIN_MAX_ATTEMPTS = 1; + const preconfiguredActionSchema = schema.object({ name: schema.string({ minLength: 1 }), actionTypeId: schema.string({ minLength: 1 }), @@ -56,6 +59,11 @@ const customHostSettingsSchema = schema.object({ export type CustomHostSettings = TypeOf; +const connectorTypeSchema = schema.object({ + id: schema.string(), + maxAttempts: schema.maybe(schema.number({ min: MIN_MAX_ATTEMPTS, max: MAX_MAX_ATTEMPTS })), +}); + export const configSchema = schema.object({ allowedHosts: schema.arrayOf( schema.oneOf([schema.string({ hostname: true }), schema.literal(AllowedHosts.Any)]), @@ -117,6 +125,12 @@ export const configSchema = schema.object({ domain_allowlist: schema.arrayOf(schema.string()), }) ), + run: schema.maybe( + schema.object({ + maxAttempts: schema.maybe(schema.number({ min: MIN_MAX_ATTEMPTS, max: MAX_MAX_ATTEMPTS })), + connectorTypeOverrides: schema.maybe(schema.arrayOf(connectorTypeSchema)), + }) + ), }); export type ActionsConfig = TypeOf; diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.ts index 2c23dbc77e316..72460decabab6 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.ts @@ -6,7 +6,6 @@ */ import { pick } from 'lodash'; -import type { Request } from '@hapi/hapi'; import { pipe } from 'fp-ts/lib/pipeable'; import { map, fromNullable, getOrElse } from 'fp-ts/lib/Option'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; @@ -18,6 +17,8 @@ import { SavedObjectReference, IBasePath, SavedObject, + Headers, + FakeRawRequest, } from '@kbn/core/server'; import { RunContext } from '@kbn/task-manager-plugin/server'; import { EncryptedSavedObjectsClient } from '@kbn/encrypted-saved-objects-plugin/server'; @@ -105,7 +106,7 @@ export class TaskRunnerFactory { // Throwing an executor error means we will attempt to retry the task // TM will treat a task as a failure if `attempts >= maxAttempts` // so we need to handle that here to avoid TM persisting the failed task - const isRetryableBasedOnAttempts = taskInfo.attempts < (maxAttempts ?? 1); + const isRetryableBasedOnAttempts = taskInfo.attempts < maxAttempts; const willRetryMessage = `and will retry`; const willNotRetryMessage = `and will not retry`; @@ -221,26 +222,19 @@ export class TaskRunnerFactory { } function getFakeRequest(apiKey?: string) { - const requestHeaders: Record = {}; + const requestHeaders: Headers = {}; if (apiKey) { requestHeaders.authorization = `ApiKey ${apiKey}`; } - // Since we're using API keys and accessing elasticsearch can only be done - // via a request, we're faking one with the proper authorization headers. - const fakeRequest = CoreKibanaRequest.from({ + const fakeRawRequest: FakeRawRequest = { headers: requestHeaders, path: '/', - route: { settings: {} }, - url: { - href: '/', - }, - raw: { - req: { - url: '/', - }, - }, - } as unknown as Request); + }; + + // Since we're using API keys and accessing elasticsearch can only be done + // via a request, we're faking one with the proper authorization headers. + const fakeRequest = CoreKibanaRequest.from(fakeRawRequest); return fakeRequest; } diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index 178ceb8f2b95e..d45fde5cff09f 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -43,7 +43,7 @@ import { import { ActionsConfig, getValidatedConfig } from './config'; import { resolveCustomHosts } from './lib/custom_host_settings'; import { ActionsClient } from './actions_client'; -import { ActionTypeRegistry, MAX_ATTEMPTS } from './action_type_registry'; +import { ActionTypeRegistry } from './action_type_registry'; import { createExecutionEnqueuerFunction, createEphemeralExecutionEnqueuerFunction, @@ -360,7 +360,6 @@ export class ActionsPlugin implements Plugin ) => { ensureSufficientLicense(actionType); - actionType.maxAttempts = actionType.maxAttempts ?? MAX_ATTEMPTS; actionTypeRegistry.register(actionType); }, registerSubActionConnectorType: < diff --git a/x-pack/plugins/actions/server/routes/legacy/_mock_handler_arguments.ts b/x-pack/plugins/actions/server/routes/legacy/_mock_handler_arguments.ts index d31a2bbf9f8d5..07ac40b7e52e1 100644 --- a/x-pack/plugins/actions/server/routes/legacy/_mock_handler_arguments.ts +++ b/x-pack/plugins/actions/server/routes/legacy/_mock_handler_arguments.ts @@ -18,8 +18,8 @@ export function mockHandlerArguments( actionsClient = actionsClientMock.create(), listTypes: listTypesRes = [], }: { actionsClient?: ActionsClientMock; listTypes?: ActionType[] }, - req: unknown, - res?: Array> + request: unknown, + response?: Array> ): [ActionsRequestHandlerContext, KibanaRequest, KibanaResponseFactory] { const listTypes = jest.fn(() => listTypesRes); return [ @@ -39,8 +39,8 @@ export function mockHandlerArguments( }, }, } as unknown as ActionsRequestHandlerContext, - req as KibanaRequest, - mockResponseFactory(res), + request as KibanaRequest, + mockResponseFactory(response), ]; } diff --git a/x-pack/plugins/actions/tsconfig.json b/x-pack/plugins/actions/tsconfig.json index 3928d87b2a871..aa450d51fbb3b 100644 --- a/x-pack/plugins/actions/tsconfig.json +++ b/x-pack/plugins/actions/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "server/**/*", @@ -13,16 +11,29 @@ "common/**/*" ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../spaces/tsconfig.json" }, - { "path": "../security/tsconfig.json" }, - { "path": "../licensing/tsconfig.json" }, - { "path": "../task_manager/tsconfig.json" }, - { "path": "../event_log/tsconfig.json" }, - { "path": "../encrypted_saved_objects/tsconfig.json" }, - { "path": "../features/tsconfig.json" }, - { "path": "../monitoring_collection/tsconfig.json" }, - { "path": "../../../src/plugins/usage_collection/tsconfig.json" } + "@kbn/core", + "@kbn/spaces-plugin", + "@kbn/security-plugin", + "@kbn/licensing-plugin", + "@kbn/task-manager-plugin", + "@kbn/event-log-plugin", + "@kbn/encrypted-saved-objects-plugin", + "@kbn/features-plugin", + "@kbn/monitoring-collection-plugin", + "@kbn/usage-collection-plugin", + "@kbn/i18n", + "@kbn/utility-types", + "@kbn/config-schema", + "@kbn/config", + "@kbn/core-saved-objects-server", + "@kbn/es-query", + "@kbn/apm-utils", + "@kbn/std", + "@kbn/logging", + "@kbn/logging-mocks", + "@kbn/core-elasticsearch-client-server-mocks", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/aiops/kibana.json b/x-pack/plugins/aiops/kibana.json index dba431234ec0a..08cbaf4613464 100755 --- a/x-pack/plugins/aiops/kibana.json +++ b/x-pack/plugins/aiops/kibana.json @@ -16,6 +16,6 @@ "licensing" ], "optionalPlugins": [], - "requiredBundles": ["fieldFormats", "kibanaReact"], + "requiredBundles": ["fieldFormats", "kibanaReact", "kibanaUtils"], "extraPublicDirs": ["common"] } diff --git a/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_context.tsx b/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_context.tsx index 7fd586953fe96..8d67a28c3055f 100644 --- a/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_context.tsx +++ b/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_context.tsx @@ -16,8 +16,8 @@ import React, { } from 'react'; import { type DataViewField } from '@kbn/data-views-plugin/public'; import { startWith } from 'rxjs'; -import useMount from 'react-use/lib/useMount'; import type { Query, Filter } from '@kbn/es-query'; +import { usePageUrlState } from '@kbn/ml-url-state'; import { createMergedEsQuery, getEsQueryFromSavedSearch, @@ -27,9 +27,13 @@ import { useTimefilter, useTimeRangeUpdates } from '../../hooks/use_time_filter' import { useChangePointResults } from './use_change_point_agg_request'; import { type TimeBuckets, TimeBucketsInterval } from '../../../common/time_buckets'; import { useDataSource } from '../../hooks/use_data_source'; -import { usePageUrlState } from '../../hooks/use_url_state'; import { useTimeBuckets } from '../../hooks/use_time_buckets'; +export interface ChangePointDetectionPageUrlState { + pageKey: 'changePoint'; + pageUrlState: ChangePointDetectionRequestParams; +} + export interface ChangePointDetectionRequestParams { fn: string; splitField: string; @@ -124,7 +128,7 @@ export const ChangePointDetectionContextProvider: FC = ({ children }) => { const timeRange = useTimeRangeUpdates(); - useMount(function updateIntervalOnTimeBoundsChange() { + useEffect(function updateIntervalOnTimeBoundsChange() { const timeUpdateSubscription = timefilter .getTimeUpdate$() .pipe(startWith(timefilter.getTime())) @@ -140,7 +144,8 @@ export const ChangePointDetectionContextProvider: FC = ({ children }) => { return () => { timeUpdateSubscription.unsubscribe(); }; - }); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); const metricFieldOptions = useMemo(() => { return dataView.fields.filter(({ aggregatable, type }) => aggregatable && type === 'number'); @@ -157,7 +162,7 @@ export const ChangePointDetectionContextProvider: FC = ({ children }) => { }, [dataView]); const [requestParamsFromUrl, updateRequestParams] = - usePageUrlState('changePoint'); + usePageUrlState('changePoint'); const resultQuery = useMemo(() => { return ( @@ -190,7 +195,7 @@ export const ChangePointDetectionContextProvider: FC = ({ children }) => { [filterManager] ); - useMount(() => { + useEffect(() => { setResultFilter(filterManager.getFilters()); const sub = filterManager.getUpdates$().subscribe(() => { setResultFilter(filterManager.getFilters()); @@ -198,7 +203,8 @@ export const ChangePointDetectionContextProvider: FC = ({ children }) => { return () => { sub.unsubscribe(); }; - }); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); useEffect( function syncFilters() { diff --git a/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detetion_root.tsx b/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detetion_root.tsx index 0b4a14928a19c..f7a039c082dee 100644 --- a/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detetion_root.tsx +++ b/x-pack/plugins/aiops/public/components/change_point_detection/change_point_detetion_root.tsx @@ -5,16 +5,25 @@ * 2.0. */ +import React, { FC } from 'react'; + import { DataView } from '@kbn/data-views-plugin/common'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; -import React, { FC } from 'react'; -import { PageHeader } from '../page_header'; -import { ChangePointDetectionContextProvider } from './change_point_detection_context'; +import { StorageContextProvider } from '@kbn/ml-local-storage'; +import { UrlStateProvider } from '@kbn/ml-url-state'; +import { Storage } from '@kbn/kibana-utils-plugin/public'; + import { DataSourceContext } from '../../hooks/use_data_source'; -import { UrlStateProvider } from '../../hooks/use_url_state'; import { SavedSearchSavedObject } from '../../application/utils/search_utils'; import { AiopsAppContext, AiopsAppDependencies } from '../../hooks/use_aiops_app_context'; +import { AIOPS_STORAGE_KEYS } from '../../types/storage'; + +import { PageHeader } from '../page_header'; + import { ChangePointDetectionPage } from './change_point_detection_page'; +import { ChangePointDetectionContextProvider } from './change_point_detection_context'; + +const localStorage = new Storage(window.localStorage); export interface ChangePointDetectionAppStateProps { dataView: DataView; @@ -31,10 +40,12 @@ export const ChangePointDetectionAppState: FC - - - - + + + + + + diff --git a/x-pack/plugins/aiops/public/components/date_picker_wrapper/date_picker_wrapper.tsx b/x-pack/plugins/aiops/public/components/date_picker_wrapper/date_picker_wrapper.tsx index 566d3b6ae7b5b..74ca9148309bc 100644 --- a/x-pack/plugins/aiops/public/components/date_picker_wrapper/date_picker_wrapper.tsx +++ b/x-pack/plugins/aiops/public/components/date_picker_wrapper/date_picker_wrapper.tsx @@ -20,14 +20,15 @@ import { OnRefreshProps, OnTimeChangeProps, } from '@elastic/eui'; + import type { TimeRange } from '@kbn/es-query'; import { TimeHistoryContract, UI_SETTINGS } from '@kbn/data-plugin/public'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { toMountPoint, wrapWithTheme } from '@kbn/kibana-react-plugin/public'; +import { useUrlState } from '@kbn/ml-url-state'; import { useRefreshIntervalUpdates, useTimeRangeUpdates } from '../../hooks/use_time_filter'; -import { useUrlState } from '../../hooks/use_url_state'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { aiopsRefresh$ } from '../../application/services/timefilter_refresh_service'; diff --git a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_app_state.tsx b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_app_state.tsx index ba69fdfa8a7b6..6b6b477807d41 100644 --- a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_app_state.tsx +++ b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_app_state.tsx @@ -11,23 +11,27 @@ import { EuiCallOut } from '@elastic/eui'; import type { Filter, Query } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; - import type { SavedSearch } from '@kbn/discover-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; +import { StorageContextProvider } from '@kbn/ml-local-storage'; +import { UrlStateProvider } from '@kbn/ml-url-state'; +import { Storage } from '@kbn/kibana-utils-plugin/public'; import { SEARCH_QUERY_LANGUAGE, SearchQueryLanguage, SavedSearchSavedObject, } from '../../application/utils/search_utils'; -import { UrlStateProvider } from '../../hooks/use_url_state'; import type { AiopsAppDependencies } from '../../hooks/use_aiops_app_context'; import { AiopsAppContext } from '../../hooks/use_aiops_app_context'; +import { AIOPS_STORAGE_KEYS } from '../../types/storage'; import { SpikeAnalysisTableRowStateProvider } from '../spike_analysis_table/spike_analysis_table_row_provider'; import { ExplainLogRateSpikesPage } from './explain_log_rate_spikes_page'; +const localStorage = new Storage(window.localStorage); + export interface ExplainLogRateSpikesAppStateProps { /** The data view to analyze. */ dataView: DataView; @@ -41,6 +45,11 @@ const defaultSearchQuery = { match_all: {}, }; +export interface AiOpsPageUrlState { + pageKey: 'AIOPS_INDEX_VIEWER'; + pageUrlState: AiOpsIndexBasedAppState; +} + export interface AiOpsIndexBasedAppState { searchString?: Query['query']; searchQuery?: Query['query']; @@ -90,7 +99,9 @@ export const ExplainLogRateSpikesAppState: FC - + + + diff --git a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.scss b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.scss deleted file mode 100644 index 5f8ee2946ecf5..0000000000000 --- a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.scss +++ /dev/null @@ -1,16 +0,0 @@ -/* TODO Consolidate with code from `index_data_visualizer_view.tsx/scss`. */ - -.dataViewTitleHeader { - min-width: 300px; - padding: $euiSizeS 0; - display: flex; - flex-direction: row; - align-items: center; -} - -@include euiBreakpoint('xs', 's', 'm', 'l') { - .aiopsPageHeader { - flex-direction: column; - align-items: flex-start; - } -} diff --git a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx index a6327331a5105..4819f3efd4fae 100644 --- a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx +++ b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx @@ -27,23 +27,21 @@ import { Filter, FilterStateStore, Query } from '@kbn/es-query'; import { FormattedMessage } from '@kbn/i18n-react'; import { SavedSearch } from '@kbn/discover-plugin/public'; +import { useUrlState, usePageUrlState } from '@kbn/ml-url-state'; +import { useCss } from '../../hooks/use_css'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { SearchQueryLanguage, SavedSearchSavedObject } from '../../application/utils/search_utils'; -import { useUrlState, usePageUrlState, AppStateKey } from '../../hooks/use_url_state'; import { useData } from '../../hooks/use_data'; import { FullTimeRangeSelector } from '../full_time_range_selector'; import { DocumentCountContent } from '../document_count_content/document_count_content'; import { DatePickerWrapper } from '../date_picker_wrapper'; import { SearchPanel } from '../search_panel'; -import { restorableDefaults } from './explain_log_rate_spikes_app_state'; +import { restorableDefaults, type AiOpsPageUrlState } from './explain_log_rate_spikes_app_state'; import { ExplainLogRateSpikesAnalysis } from './explain_log_rate_spikes_analysis'; import type { GroupTableItem } from '../spike_analysis_table/types'; import { useSpikeAnalysisTableRowContext } from '../spike_analysis_table/spike_analysis_table_row_provider'; -// TODO port to `@emotion/react` once `useEuiBreakpoint` is available https://github.com/elastic/eui/pull/6057 -import './explain_log_rate_spikes_page.scss'; - function getDocumentCountStatsSplitLabel(changePoint?: ChangePoint, group?: GroupTableItem) { if (changePoint) { return `${changePoint?.fieldName}:${changePoint?.fieldValue}`; @@ -68,6 +66,7 @@ export const ExplainLogRateSpikesPage: FC = ({ dataView, savedSearch, }) => { + const { aiopsPageHeader, dataViewTitleHeader } = useCss(); const { data: dataService } = useAiopsAppContext(); const { @@ -79,7 +78,10 @@ export const ExplainLogRateSpikesPage: FC = ({ setSelectedGroup, } = useSpikeAnalysisTableRowContext(); - const [aiopsListState, setAiopsListState] = usePageUrlState(AppStateKey, restorableDefaults); + const [aiopsListState, setAiopsListState] = usePageUrlState( + 'AIOPS_INDEX_VIEWER', + restorableDefaults + ); const [globalState, setGlobalState] = useUrlState('_g'); const [currentSavedSearch, setCurrentSavedSearch] = useState(savedSearch); @@ -186,9 +188,9 @@ export const ExplainLogRateSpikesPage: FC = ({ - + -
+

{dataView.getName()}

diff --git a/x-pack/plugins/aiops/public/components/full_time_range_selector/full_time_range_selector.tsx b/x-pack/plugins/aiops/public/components/full_time_range_selector/full_time_range_selector.tsx index 592240675197c..78cf53295cc26 100644 --- a/x-pack/plugins/aiops/public/components/full_time_range_selector/full_time_range_selector.tsx +++ b/x-pack/plugins/aiops/public/components/full_time_range_selector/full_time_range_selector.tsx @@ -25,12 +25,19 @@ import { EuiToolTip, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { useStorage } from '@kbn/ml-local-storage'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { type GetTimeFieldRangeResponse, setFullTimeRange, } from './full_time_range_selector_service'; -import { AIOPS_FROZEN_TIER_PREFERENCE, useStorage } from '../../hooks/use_storage'; +import { + AIOPS_FROZEN_TIER_PREFERENCE, + FROZEN_TIER_PREFERENCE, + type AiOpsKey, + type AiOpsStorageMapped, + type FrozenTierPreference, +} from '../../types/storage'; export interface FullTimeRangeSelectorProps { timefilter: TimefilterContract; @@ -40,13 +47,6 @@ export interface FullTimeRangeSelectorProps { callback?: (a: GetTimeFieldRangeResponse) => void; } -const FROZEN_TIER_PREFERENCE = { - EXCLUDE: 'exclude-frozen', - INCLUDE: 'include-frozen', -} as const; - -type FrozenTierPreference = typeof FROZEN_TIER_PREFERENCE[keyof typeof FROZEN_TIER_PREFERENCE]; - export const FullTimeRangeSelector: FC = ({ timefilter, dataView, @@ -90,7 +90,10 @@ export const FullTimeRangeSelector: FC = ({ const [isPopoverOpen, setPopover] = useState(false); - const [frozenDataPreference, setFrozenDataPreference] = useStorage( + const [frozenDataPreference, setFrozenDataPreference] = useStorage< + AiOpsKey, + AiOpsStorageMapped + >( AIOPS_FROZEN_TIER_PREFERENCE, // By default we will exclude frozen data tier FROZEN_TIER_PREFERENCE.EXCLUDE diff --git a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx index bc67b0f32eda2..ee571d990c832 100644 --- a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx +++ b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx @@ -7,11 +7,18 @@ import React, { FC } from 'react'; import type { SavedSearch } from '@kbn/discover-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import { LogCategorizationPage } from './log_categorization_page'; +import { StorageContextProvider } from '@kbn/ml-local-storage'; +import { UrlStateProvider } from '@kbn/ml-url-state'; +import { Storage } from '@kbn/kibana-utils-plugin/public'; + import { SavedSearchSavedObject } from '../../application/utils/search_utils'; import type { AiopsAppDependencies } from '../../hooks/use_aiops_app_context'; +import { AIOPS_STORAGE_KEYS } from '../../types/storage'; import { AiopsAppContext } from '../../hooks/use_aiops_app_context'; -import { UrlStateProvider } from '../../hooks/use_url_state'; + +import { LogCategorizationPage } from './log_categorization_page'; + +const localStorage = new Storage(window.localStorage); export interface LogCategorizationAppStateProps { dataView: DataView; @@ -27,7 +34,9 @@ export const LogCategorizationAppState: FC = ({ return ( - + + + ); diff --git a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx index 4eb6da0e58b9f..b4f57e6482ac9 100644 --- a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx +++ b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx @@ -25,15 +25,16 @@ import { EuiLoadingContent, } from '@elastic/eui'; +import { useUrlState } from '@kbn/ml-url-state'; import { FullTimeRangeSelector } from '../full_time_range_selector'; import { DatePickerWrapper } from '../date_picker_wrapper'; +import { useCss } from '../../hooks/use_css'; import { useData } from '../../hooks/use_data'; import { SearchPanel } from '../search_panel'; import type { SearchQueryLanguage, SavedSearchSavedObject, } from '../../application/utils/search_utils'; -import { useUrlState } from '../../hooks/use_url_state'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { restorableDefaults } from '../explain_log_rate_spikes/explain_log_rate_spikes_app_state'; import { useCategorizeRequest } from './use_categorize_request'; @@ -53,6 +54,7 @@ export const LogCategorizationPage: FC = ({ dataView, savedSearch, }) => { + const { aiopsPageHeader, dataViewTitleHeader } = useCss(); const { notifications: { toasts }, } = useAiopsAppContext(); @@ -220,9 +222,9 @@ export const LogCategorizationPage: FC = ({ - + -
+

{dataView.getName()}

diff --git a/x-pack/plugins/aiops/public/components/page_header/page_header.tsx b/x-pack/plugins/aiops/public/components/page_header/page_header.tsx index fb45adcc3cde0..2278652dc4861 100644 --- a/x-pack/plugins/aiops/public/components/page_header/page_header.tsx +++ b/x-pack/plugins/aiops/public/components/page_header/page_header.tsx @@ -14,14 +14,16 @@ import { EuiPageContentHeader_Deprecated as EuiPageContentHeader, EuiPageContentHeaderSection_Deprecated as EuiPageContentHeaderSection, } from '@elastic/eui'; +import { useUrlState } from '@kbn/ml-url-state'; import { FullTimeRangeSelectorProps } from '../full_time_range_selector/full_time_range_selector'; -import { useUrlState } from '../../hooks/use_url_state'; +import { useCss } from '../../hooks/use_css'; import { useDataSource } from '../../hooks/use_data_source'; import { useTimefilter } from '../../hooks/use_time_filter'; import { FullTimeRangeSelector } from '../full_time_range_selector'; import { DatePickerWrapper } from '../date_picker_wrapper'; export const PageHeader: FC = () => { + const { aiopsPageHeader, dataViewTitleHeader } = useCss(); const [, setGlobalState] = useUrlState('_g'); const { dataView } = useDataSource(); @@ -41,9 +43,9 @@ export const PageHeader: FC = () => { <> - + -
+

{dataView.getName()}

diff --git a/x-pack/plugins/aiops/public/hooks/use_css.ts b/x-pack/plugins/aiops/public/hooks/use_css.ts new file mode 100644 index 0000000000000..b2b35c08d4a78 --- /dev/null +++ b/x-pack/plugins/aiops/public/hooks/use_css.ts @@ -0,0 +1,31 @@ +/* + * 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. + */ + +import { css } from '@emotion/react'; +import { useEuiBreakpoint } from '@elastic/eui'; +import { euiThemeVars } from '@kbn/ui-theme'; + +// Define fully static CSS outside hook. +const dataViewTitleHeader = css({ + minWidth: '300px', + padding: `${euiThemeVars.euiSizeS} 0`, + display: 'flex', + flexDirection: 'row', + alignItems: 'center', +}); + +export const useCss = () => { + // Define CSS referencing inline dependencies within hook. + const aiopsPageHeader = css({ + [useEuiBreakpoint(['xs', 's', 'm', 'l'])]: { + flexDirection: 'column', + alignItems: 'flex-start', + }, + }); + + return { dataViewTitleHeader, aiopsPageHeader }; +}; diff --git a/x-pack/plugins/aiops/public/hooks/use_data.ts b/x-pack/plugins/aiops/public/hooks/use_data.ts index 73b5f79be3b4f..37e2454f9fb70 100644 --- a/x-pack/plugins/aiops/public/hooks/use_data.ts +++ b/x-pack/plugins/aiops/public/hooks/use_data.ts @@ -13,6 +13,7 @@ import type { ChangePoint } from '@kbn/ml-agg-utils'; import type { SavedSearch } from '@kbn/discover-plugin/public'; +import type { Dictionary } from '@kbn/ml-url-state'; import { useTimeBuckets } from './use_time_buckets'; import { useAiopsAppContext } from './use_aiops_app_context'; @@ -26,7 +27,6 @@ import { import { useTimefilter } from './use_time_filter'; import { useDocumentCountStats } from './use_document_count_stats'; -import type { Dictionary } from './use_url_state'; import type { GroupTableItem } from '../components/spike_analysis_table/types'; const DEFAULT_BAR_TARGET = 75; diff --git a/x-pack/plugins/aiops/public/hooks/use_storage.ts b/x-pack/plugins/aiops/public/hooks/use_storage.ts deleted file mode 100644 index c377a85b3e84c..0000000000000 --- a/x-pack/plugins/aiops/public/hooks/use_storage.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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. - */ - -import { useCallback, useState } from 'react'; -import { useAiopsAppContext } from './use_aiops_app_context'; - -export const AIOPS_FROZEN_TIER_PREFERENCE = 'aiops.frozenDataTierPreference'; - -export type AiOps = Partial<{ - [AIOPS_FROZEN_TIER_PREFERENCE]: 'exclude_frozen' | 'include_frozen'; -}> | null; - -export type AiOpsKey = keyof Exclude; - -/** - * Hook for accessing and changing a value in the storage. - * @param key - Storage key - * @param initValue - */ -export function useStorage(key: AiOpsKey, initValue?: T): [T, (value: T) => void] { - const { storage } = useAiopsAppContext(); - - const [val, setVal] = useState(storage.get(key) ?? initValue); - - const setStorage = useCallback( - (value: T): void => { - try { - storage.set(key, value); - setVal(value); - } catch (e) { - throw new Error('Unable to update storage with provided value'); - } - }, - [key, storage] - ); - - return [val, setStorage]; -} diff --git a/x-pack/plugins/aiops/public/hooks/use_url_state.tsx b/x-pack/plugins/aiops/public/hooks/use_url_state.tsx deleted file mode 100644 index 94273a204f5cc..0000000000000 --- a/x-pack/plugins/aiops/public/hooks/use_url_state.tsx +++ /dev/null @@ -1,223 +0,0 @@ -/* - * 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. - */ - -import React, { FC } from 'react'; -import { parse, stringify } from 'query-string'; -import { createContext, useCallback, useContext, useMemo } from 'react'; -import { decode, encode } from '@kbn/rison'; -import { useHistory, useLocation } from 'react-router-dom'; -import { isEqual } from 'lodash'; - -export interface Dictionary { - [id: string]: TValue; -} - -// TODO duplicate of ml/object_utils -export const getNestedProperty = ( - obj: Record, - accessor: string, - defaultValue?: any -) => { - const value = accessor.split('.').reduce((o, i) => o?.[i], obj); - - if (value === undefined) return defaultValue; - - return value; -}; - -export type Accessor = '_a' | '_g'; -export type SetUrlState = ( - accessor: Accessor, - attribute: string | Dictionary, - value?: any, - replaceState?: boolean -) => void; -export interface UrlState { - searchString: string; - setUrlState: SetUrlState; -} - -/** - * Set of URL query parameters that require the rison serialization. - */ -const risonSerializedParams = new Set(['_a', '_g']); - -/** - * Checks if the URL query parameter requires rison serialization. - * @param queryParam - */ -export function isRisonSerializationRequired(queryParam: string): boolean { - return risonSerializedParams.has(queryParam); -} - -export function parseUrlState(search: string): Dictionary { - const urlState: Dictionary = {}; - const parsedQueryString = parse(search, { sort: false }); - - try { - Object.keys(parsedQueryString).forEach((a) => { - if (isRisonSerializationRequired(a)) { - urlState[a] = decode(parsedQueryString[a] as string); - } else { - urlState[a] = parsedQueryString[a]; - } - }); - } catch (error) { - // eslint-disable-next-line no-console - console.error('Could not read url state', error); - } - - return urlState; -} - -// Compared to the original appState/globalState, -// this no longer makes use of fetch/save methods. -// - Reading from `location.search` is the successor of `fetch`. -// - `history.push()` is the successor of `save`. -// - The exposed state and set call make use of the above and make sure that -// different urlStates(e.g. `_a` / `_g`) don't overwrite each other. -// This uses a context to be able to maintain only one instance -// of the url state. It gets passed down with `UrlStateProvider` -// and can be used via `useUrlState`. -export const aiopsUrlStateStore = createContext({ - searchString: '', - setUrlState: () => {}, -}); - -export const { Provider } = aiopsUrlStateStore; - -export const UrlStateProvider: FC = ({ children }) => { - const { Provider: StateProvider } = aiopsUrlStateStore; - - const history = useHistory(); - const { search: urlSearchString } = useLocation(); - - const setUrlState: SetUrlState = useCallback( - ( - accessor: Accessor, - attribute: string | Dictionary, - value?: any, - replaceState?: boolean - ) => { - const prevSearchString = urlSearchString; - const urlState = parseUrlState(prevSearchString); - const parsedQueryString = parse(prevSearchString, { sort: false }); - - if (!Object.prototype.hasOwnProperty.call(urlState, accessor)) { - urlState[accessor] = {}; - } - - if (typeof attribute === 'string') { - if (isEqual(getNestedProperty(urlState, `${accessor}.${attribute}`), value)) { - return prevSearchString; - } - - urlState[accessor][attribute] = value; - } else { - const attributes = attribute; - Object.keys(attributes).forEach((a) => { - urlState[accessor][a] = attributes[a]; - }); - } - - try { - const oldLocationSearchString = stringify(parsedQueryString, { - sort: false, - encode: false, - }); - - Object.keys(urlState).forEach((a) => { - if (isRisonSerializationRequired(a)) { - parsedQueryString[a] = encode(urlState[a]); - } else { - parsedQueryString[a] = urlState[a]; - } - }); - const newLocationSearchString = stringify(parsedQueryString, { - sort: false, - encode: false, - }); - - if (oldLocationSearchString !== newLocationSearchString) { - const newSearchString = stringify(parsedQueryString, { sort: false }); - if (replaceState) { - history.replace({ search: newSearchString }); - } else { - history.push({ search: newSearchString }); - } - } - } catch (error) { - // eslint-disable-next-line no-console - console.error('Could not save url state', error); - } - }, - [history, urlSearchString] - ); - - return ( - {children} - ); -}; - -export const useUrlState = (accessor: Accessor) => { - const { searchString, setUrlState: setUrlStateContext } = useContext(aiopsUrlStateStore); - - const urlState = useMemo(() => { - const fullUrlState = parseUrlState(searchString); - if (typeof fullUrlState === 'object') { - return fullUrlState[accessor]; - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [searchString]); - - const setUrlState = useCallback( - (attribute: string | Dictionary, value?: any, replaceState?: boolean) => { - setUrlStateContext(accessor, attribute, value, replaceState); - }, - [accessor, setUrlStateContext] - ); - return [urlState, setUrlState]; -}; - -export const AppStateKey = 'AIOPS_INDEX_VIEWER'; -export const ChangePointStateKey = 'changePoint' as const; -/** - * Hook for managing the URL state of the page. - */ -export const usePageUrlState = ( - pageKey: typeof AppStateKey | typeof ChangePointStateKey, - defaultState?: PageUrlState -): [PageUrlState, (update: Partial, replaceState?: boolean) => void] => { - const [appState, setAppState] = useUrlState('_a'); - const pageState = appState?.[pageKey]; - - const resultPageState: PageUrlState = useMemo(() => { - return { - ...(defaultState ?? {}), - ...(pageState ?? {}), - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [pageState]); - - const onStateUpdate = useCallback( - (update: Partial, replaceState?: boolean) => { - setAppState( - pageKey, - { - ...resultPageState, - ...update, - }, - replaceState - ); - }, - [pageKey, resultPageState, setAppState] - ); - - return useMemo(() => { - return [resultPageState, onStateUpdate]; - }, [resultPageState, onStateUpdate]); -}; diff --git a/x-pack/plugins/aiops/public/types/storage.ts b/x-pack/plugins/aiops/public/types/storage.ts new file mode 100644 index 0000000000000..96eb612d9ca7a --- /dev/null +++ b/x-pack/plugins/aiops/public/types/storage.ts @@ -0,0 +1,28 @@ +/* + * 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. + */ + +export const AIOPS_FROZEN_TIER_PREFERENCE = 'aiops.frozenDataTierPreference'; + +export const FROZEN_TIER_PREFERENCE = { + EXCLUDE: 'exclude-frozen', + INCLUDE: 'include-frozen', +} as const; + +export type FrozenTierPreference = + typeof FROZEN_TIER_PREFERENCE[keyof typeof FROZEN_TIER_PREFERENCE]; + +export type AiOps = Partial<{ + [AIOPS_FROZEN_TIER_PREFERENCE]: FrozenTierPreference; +}> | null; + +export type AiOpsKey = keyof Exclude; + +export type AiOpsStorageMapped = T extends typeof AIOPS_FROZEN_TIER_PREFERENCE + ? FrozenTierPreference | undefined + : null; + +export const AIOPS_STORAGE_KEYS = [AIOPS_FROZEN_TIER_PREFERENCE] as const; diff --git a/x-pack/plugins/aiops/tsconfig.json b/x-pack/plugins/aiops/tsconfig.json index 0f8ba148324bd..9eef408f5a513 100644 --- a/x-pack/plugins/aiops/tsconfig.json +++ b/x-pack/plugins/aiops/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "../../../typings/**/*", @@ -14,17 +12,40 @@ "types/**/*" ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../../../src/plugins/custom_integrations/tsconfig.json" }, - { "path": "../../../src/plugins/navigation/tsconfig.json" }, - { "path": "../../../src/plugins/unified_search/tsconfig.json" }, - { "path": "../security/tsconfig.json" }, - { "path": "../../../src/plugins/charts/tsconfig.json" }, - { "path": "../../../src/plugins/discover/tsconfig.json" }, - { "path": "../lens/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-utils-plugin", + "@kbn/kibana-react-plugin", + "@kbn/data-plugin", + "@kbn/unified-search-plugin", + "@kbn/charts-plugin", + "@kbn/discover-plugin", + "@kbn/lens-plugin", + "@kbn/datemath", + "@kbn/field-formats-plugin", + "@kbn/ml-agg-utils", + "@kbn/config-schema", + "@kbn/ml-is-populated-object", + "@kbn/es-query", + "@kbn/share-plugin", + "@kbn/data-views-plugin", + "@kbn/saved-search-plugin", + "@kbn/i18n", + "@kbn/ml-string-hash", + "@kbn/ui-theme", + "@kbn/i18n-react", + "@kbn/rison", + "@kbn/core-http-browser", + "@kbn/aiops-components", + "@kbn/aiops-utils", + "@kbn/licensing-plugin", + "@kbn/field-types", + "@kbn/logging", + "@kbn/core-elasticsearch-server", + "@kbn/es-types", + "@kbn/ml-url-state", + "@kbn/ml-local-storage", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/alerting/kibana.json b/x-pack/plugins/alerting/kibana.json index f4e6a917b19d3..9b17c97ae722e 100644 --- a/x-pack/plugins/alerting/kibana.json +++ b/x-pack/plugins/alerting/kibana.json @@ -12,6 +12,8 @@ "requiredPlugins": [ "actions", "data", + "dataViews", + "share", "encryptedSavedObjects", "eventLog", "features", diff --git a/x-pack/plugins/alerting/server/invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation.ts b/x-pack/plugins/alerting/server/invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation.ts index 8999d12772f03..290740a4ddd8b 100644 --- a/x-pack/plugins/alerting/server/invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation.ts +++ b/x-pack/plugins/alerting/server/invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation.ts @@ -6,34 +6,37 @@ */ import { Logger, SavedObjectsClientContract } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; export const bulkMarkApiKeysForInvalidation = async ( { apiKeys }: { apiKeys: string[] }, logger: Logger, savedObjectsClient: SavedObjectsClientContract ): Promise => { - if (apiKeys.length === 0) { - return; - } + withSpan({ name: 'bulkMarkApiKeysForInvalidation', type: 'rules' }, async () => { + if (apiKeys.length === 0) { + return; + } - try { - const apiKeyIds = apiKeys.map( - (apiKey) => Buffer.from(apiKey, 'base64').toString().split(':')[0] - ); - await savedObjectsClient.bulkCreate( - apiKeyIds.map((apiKeyId) => ({ - attributes: { - apiKeyId, - createdAt: new Date().toISOString(), - }, - type: 'api_key_pending_invalidation', - })) - ); - } catch (e) { - logger.error( - `Failed to bulk mark list of API keys [${apiKeys - .map((key) => `"${key}"`) - .join(', ')}] for invalidation: ${e.message}` - ); - } + try { + const apiKeyIds = apiKeys.map( + (apiKey) => Buffer.from(apiKey, 'base64').toString().split(':')[0] + ); + await savedObjectsClient.bulkCreate( + apiKeyIds.map((apiKeyId) => ({ + attributes: { + apiKeyId, + createdAt: new Date().toISOString(), + }, + type: 'api_key_pending_invalidation', + })) + ); + } catch (e) { + logger.error( + `Failed to bulk mark list of API keys [${apiKeys + .map((key) => `"${key}"`) + .join(', ')}] for invalidation: ${e.message}` + ); + } + }); }; diff --git a/x-pack/plugins/alerting/server/mocks.ts b/x-pack/plugins/alerting/server/mocks.ts index aaafa3e32da15..23d68d74c856b 100644 --- a/x-pack/plugins/alerting/server/mocks.ts +++ b/x-pack/plugins/alerting/server/mocks.ts @@ -10,7 +10,9 @@ import { savedObjectsClientMock, uiSettingsServiceMock, } from '@kbn/core/server/mocks'; +import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; import { searchSourceCommonMock } from '@kbn/data-plugin/common/search/search_source/mocks'; +import { SharePluginStart } from '@kbn/share-plugin/server'; import { rulesClientMock } from './rules_client.mock'; import { PluginSetupContract, PluginStartContract } from './plugin'; import { Alert, AlertFactoryDoneUtils } from './alert'; @@ -32,6 +34,21 @@ const createSetupMock = () => { return mock; }; +const createShareStartMock = () => { + const startContract = { + url: { + locators: { + get: (id: string) => { + if (id === 'DISCOVER_APP_LOCATOR') { + return { getRedirectUrl: (params: unknown) => JSON.stringify(params) }; + } + }, + }, + }, + } as SharePluginStart; + return startContract; +}; + const createStartMock = () => { const mock: jest.Mocked = { listTypes: jest.fn(), @@ -148,6 +165,8 @@ const createRuleExecutorServicesMock = < search: createAbortableSearchServiceMock(), searchSourceClient: searchSourceCommonMock, ruleMonitoringService: createRuleMonitoringServiceMock(), + share: createShareStartMock(), + dataViews: dataViewPluginMocks.createStartContract(), }; }; export type RuleExecutorServicesMock = ReturnType; diff --git a/x-pack/plugins/alerting/server/plugin.test.ts b/x-pack/plugins/alerting/server/plugin.test.ts index 87ed23c66ba3c..beda3850016d4 100644 --- a/x-pack/plugins/alerting/server/plugin.test.ts +++ b/x-pack/plugins/alerting/server/plugin.test.ts @@ -21,8 +21,13 @@ import { eventLogMock } from '@kbn/event-log-plugin/server/mocks'; import { actionsMock } from '@kbn/actions-plugin/server/mocks'; import { dataPluginMock } from '@kbn/data-plugin/server/mocks'; import { monitoringCollectionMock } from '@kbn/monitoring-collection-plugin/server/mocks'; -import { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; +import { + DataViewsServerPluginStart, + PluginSetup as DataPluginSetup, +} from '@kbn/data-plugin/server'; import { spacesMock } from '@kbn/spaces-plugin/server/mocks'; +import { SharePluginStart } from '@kbn/share-plugin/server'; +import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; const generateAlertingConfig = (): AlertingConfig => ({ healthCheck: { @@ -225,6 +230,12 @@ describe('Alerting Plugin', () => { eventLog: eventLogMock.createStart(), taskManager: taskManagerMock.createStart(), data: dataPluginMock.createStartContract(), + share: {} as SharePluginStart, + dataViews: { + dataViewsServiceFactory: jest + .fn() + .mockResolvedValue(dataViewPluginMocks.createStartContract()), + } as DataViewsServerPluginStart, }); expect(encryptedSavedObjectsSetup.canEncrypt).toEqual(false); @@ -265,6 +276,12 @@ describe('Alerting Plugin', () => { eventLog: eventLogMock.createStart(), taskManager: taskManagerMock.createStart(), data: dataPluginMock.createStartContract(), + share: {} as SharePluginStart, + dataViews: { + dataViewsServiceFactory: jest + .fn() + .mockResolvedValue(dataViewPluginMocks.createStartContract()), + } as DataViewsServerPluginStart, }); const fakeRequest = { @@ -316,6 +333,12 @@ describe('Alerting Plugin', () => { eventLog: eventLogMock.createStart(), taskManager: taskManagerMock.createStart(), data: dataPluginMock.createStartContract(), + share: {} as SharePluginStart, + dataViews: { + dataViewsServiceFactory: jest + .fn() + .mockResolvedValue(dataViewPluginMocks.createStartContract()), + } as DataViewsServerPluginStart, }); const fakeRequest = { diff --git a/x-pack/plugins/alerting/server/plugin.ts b/x-pack/plugins/alerting/server/plugin.ts index 48d1bfee78e40..13f39504d2781 100644 --- a/x-pack/plugins/alerting/server/plugin.ts +++ b/x-pack/plugins/alerting/server/plugin.ts @@ -11,6 +11,7 @@ import { pick } from 'lodash'; import { UsageCollectionSetup, UsageCounter } from '@kbn/usage-collection-plugin/server'; import { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/server'; import { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; +import { PluginStart as DataViewsPluginStart } from '@kbn/data-views-plugin/server'; import { EncryptedSavedObjectsPluginSetup, EncryptedSavedObjectsPluginStart, @@ -49,6 +50,7 @@ import { import { PluginStartContract as FeaturesPluginStart } from '@kbn/features-plugin/server'; import { PluginStart as DataPluginStart } from '@kbn/data-plugin/server'; import { MonitoringCollectionSetup } from '@kbn/monitoring-collection-plugin/server'; +import { SharePluginStart } from '@kbn/share-plugin/server'; import { RuleTypeRegistry } from './rule_type_registry'; import { TaskRunnerFactory } from './task_runner'; import { RulesClientFactory } from './rules_client_factory'; @@ -156,6 +158,8 @@ export interface AlertingPluginsStart { spaces: SpacesPluginStart; security?: SecurityPluginStart; data: DataPluginStart; + dataViews: DataViewsPluginStart; + share: SharePluginStart; } export class AlertingPlugin { @@ -428,6 +432,8 @@ export class AlertingPlugin { taskRunnerFactory.initialize({ logger, data: plugins.data, + share: plugins.share, + dataViews: plugins.dataViews, savedObjects: core.savedObjects, uiSettings: core.uiSettings, elasticsearch: core.elasticsearch, diff --git a/x-pack/plugins/alerting/server/routes/_mock_handler_arguments.ts b/x-pack/plugins/alerting/server/routes/_mock_handler_arguments.ts index dbc0407324e6d..b5fbaa3d0cf86 100644 --- a/x-pack/plugins/alerting/server/routes/_mock_handler_arguments.ts +++ b/x-pack/plugins/alerting/server/routes/_mock_handler_arguments.ts @@ -26,8 +26,8 @@ export function mockHandlerArguments( (() => Promise); areApiKeysEnabled?: () => Promise; }, - req: unknown, - res?: Array> + request: unknown, + response?: Array> ): [ AlertingRequestHandlerContext, KibanaRequest, @@ -45,8 +45,8 @@ export function mockHandlerArguments( areApiKeysEnabled: areApiKeysEnabled ? areApiKeysEnabled : () => Promise.resolve(true), }, } as unknown as AlertingRequestHandlerContext, - req as KibanaRequest, - mockResponseFactory(res), + request as KibanaRequest, + mockResponseFactory(response), ]; } diff --git a/x-pack/plugins/alerting/server/rules_client/common/index.ts b/x-pack/plugins/alerting/server/rules_client/common/index.ts index cbff1677c631c..6019eb0f4307e 100644 --- a/x-pack/plugins/alerting/server/rules_client/common/index.ts +++ b/x-pack/plugins/alerting/server/rules_client/common/index.ts @@ -20,3 +20,4 @@ export { parseDate } from './parse_date'; export { includeFieldsRequiredForAuthentication } from './include_fields_required_for_authentication'; export { getAndValidateCommonBulkOptions } from './get_and_validate_common_bulk_options'; export * from './snooze_utils'; +export { tryToRemoveTasks } from './try_to_remove_tasks'; diff --git a/x-pack/plugins/alerting/server/rules_client/common/retry_if_bulk_operation_conflicts.ts b/x-pack/plugins/alerting/server/rules_client/common/retry_if_bulk_operation_conflicts.ts index 4210de1207623..428f43a0dcfa6 100644 --- a/x-pack/plugins/alerting/server/rules_client/common/retry_if_bulk_operation_conflicts.ts +++ b/x-pack/plugins/alerting/server/rules_client/common/retry_if_bulk_operation_conflicts.ts @@ -9,6 +9,7 @@ import pMap from 'p-map'; import { chunk } from 'lodash'; import { KueryNode } from '@kbn/es-query'; import { Logger, SavedObjectsBulkUpdateObject } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; import { convertRuleIdsToKueryNode } from '../../lib'; import { BulkOperationError } from '../types'; import { waitBeforeNextRetry, RETRY_IF_CONFLICTS_ATTEMPTS } from './wait_before_next_retry'; @@ -35,13 +36,15 @@ export const retryIfBulkOperationConflicts = async ({ filter: KueryNode | null; retries?: number; }): Promise => { - return handler({ - action, - logger, - bulkOperation, - filter, - retries, - }); + return withSpan({ name: 'retryIfBulkOperationConflicts', type: 'rules' }, () => + handler({ + action, + logger, + bulkOperation, + filter, + retries, + }) + ); }; const handler = async ({ diff --git a/x-pack/plugins/alerting/server/rules_client/common/try_to_remove_tasks.ts b/x-pack/plugins/alerting/server/rules_client/common/try_to_remove_tasks.ts new file mode 100644 index 0000000000000..89ad52d232332 --- /dev/null +++ b/x-pack/plugins/alerting/server/rules_client/common/try_to_remove_tasks.ts @@ -0,0 +1,58 @@ +/* + * 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. + */ + +import { Logger } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; +import { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; + +export const tryToRemoveTasks = async ({ + taskIdsToDelete, + logger, + taskManager, +}: { + taskIdsToDelete: string[]; + logger: Logger; + taskManager: TaskManagerStartContract; +}) => { + const taskIdsFailedToBeDeleted: string[] = []; + const taskIdsSuccessfullyDeleted: string[] = []; + return await withSpan({ name: 'taskManager.bulkRemoveIfExist', type: 'rules' }, async () => { + if (taskIdsToDelete.length > 0) { + try { + const resultFromDeletingTasks = await taskManager.bulkRemoveIfExist(taskIdsToDelete); + resultFromDeletingTasks?.statuses.forEach((status) => { + if (status.success) { + taskIdsSuccessfullyDeleted.push(status.id); + } else { + taskIdsFailedToBeDeleted.push(status.id); + } + }); + if (taskIdsSuccessfullyDeleted.length) { + logger.debug( + `Successfully deleted schedules for underlying tasks: ${taskIdsSuccessfullyDeleted.join( + ', ' + )}` + ); + } + if (taskIdsFailedToBeDeleted.length) { + logger.error( + `Failure to delete schedules for underlying tasks: ${taskIdsFailedToBeDeleted.join( + ', ' + )}` + ); + } + } catch (error) { + logger.error( + `Failure to delete schedules for underlying tasks: ${taskIdsToDelete.join( + ', ' + )}. TaskManager bulkRemoveIfExist failed with Error: ${error.message}` + ); + } + } + return taskIdsFailedToBeDeleted; + }); +}; diff --git a/x-pack/plugins/alerting/server/rules_client/lib/check_authorization_and_get_total.ts b/x-pack/plugins/alerting/server/rules_client/lib/check_authorization_and_get_total.ts index ecaa7fd172fa7..4327176841ad4 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/check_authorization_and_get_total.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/check_authorization_and_get_total.ts @@ -8,6 +8,7 @@ import pMap from 'p-map'; import Boom from '@hapi/boom'; import { KueryNode } from '@kbn/es-query'; +import { withSpan } from '@kbn/apm-utils'; import { RawRule } from '../../types'; import { WriteOperations, ReadOperations, AlertingAuthorizationEntity } from '../../authorization'; import { BulkAction, RuleBulkOperationAggregation } from '../types'; @@ -45,25 +46,27 @@ export const checkAuthorizationAndGetTotal = async ( RuleAuditAction: RuleAuditAction.DISABLE, }, }; - const { aggregations, total } = await context.unsecuredSavedObjectsClient.find< - RawRule, - RuleBulkOperationAggregation - >({ - filter, - page: 1, - perPage: 0, - type: 'alert', - aggs: { - alertTypeId: { - multi_terms: { - terms: [ - { field: 'alert.attributes.alertTypeId' }, - { field: 'alert.attributes.consumer' }, - ], + + const { aggregations, total } = await withSpan( + { name: 'unsecuredSavedObjectsClient.find', type: 'rules' }, + () => + context.unsecuredSavedObjectsClient.find({ + filter, + page: 1, + perPage: 0, + type: 'alert', + aggs: { + alertTypeId: { + multi_terms: { + terms: [ + { field: 'alert.attributes.alertTypeId' }, + { field: 'alert.attributes.consumer' }, + ], + }, + }, }, - }, - }, - }); + }) + ); if (total > MAX_RULES_NUMBER_FOR_BULK_OPERATION) { throw Boom.badRequest( @@ -77,28 +80,30 @@ export const checkAuthorizationAndGetTotal = async ( throw Boom.badRequest(`No rules found for bulk ${action.toLocaleLowerCase()}`); } - await pMap( - buckets, - async ({ key: [ruleType, consumer] }) => { - context.ruleTypeRegistry.ensureRuleTypeEnabled(ruleType); - try { - await context.authorization.ensureAuthorized({ - ruleTypeId: ruleType, - consumer, - operation: actionToConstantsMapping[action].WriteOperation, - entity: AlertingAuthorizationEntity.Rule, - }); - } catch (error) { - context.auditLogger?.log( - ruleAuditEvent({ - action: actionToConstantsMapping[action].RuleAuditAction, - error, - }) - ); - throw error; - } - }, - { concurrency: RULE_TYPE_CHECKS_CONCURRENCY } + await withSpan({ name: 'authorization.ensureAuthorized', type: 'rules' }, () => + pMap( + buckets, + async ({ key: [ruleType, consumer, actions] }) => { + context.ruleTypeRegistry.ensureRuleTypeEnabled(ruleType); + try { + await context.authorization.ensureAuthorized({ + ruleTypeId: ruleType, + consumer, + operation: actionToConstantsMapping[action].WriteOperation, + entity: AlertingAuthorizationEntity.Rule, + }); + } catch (error) { + context.auditLogger?.log( + ruleAuditEvent({ + action: actionToConstantsMapping[action].RuleAuditAction, + error, + }) + ); + throw error; + } + }, + { concurrency: RULE_TYPE_CHECKS_CONCURRENCY } + ) ); return { total }; }; diff --git a/x-pack/plugins/alerting/server/rules_client/lib/create_rule_saved_object.ts b/x-pack/plugins/alerting/server/rules_client/lib/create_rule_saved_object.ts index 45ade4086af4a..87bc26b31e7fa 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/create_rule_saved_object.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/create_rule_saved_object.ts @@ -6,6 +6,7 @@ */ import { SavedObjectReference, SavedObject } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; import { RawRule, RuleTypeParams } from '../../types'; import { bulkMarkApiKeysForInvalidation } from '../../invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; @@ -41,14 +42,14 @@ export async function createRuleSavedObject; try { - createdAlert = await context.unsecuredSavedObjectsClient.create( - 'alert', - updateMeta(context, rawRule), - { - ...options, - references, - id: ruleId, - } + createdAlert = await withSpan( + { name: 'unsecuredSavedObjectsClient.create', type: 'rules' }, + () => + context.unsecuredSavedObjectsClient.create('alert', updateMeta(context, rawRule), { + ...options, + references, + id: ruleId, + }) ); } catch (e) { // Avoid unused API key @@ -61,15 +62,16 @@ export async function createRuleSavedObject('alert', createdAlert.id, { - scheduledTaskId: scheduledTask.id, - }); - createdAlert.attributes.scheduledTaskId = scheduledTask.id; + + await withSpan({ name: 'unsecuredSavedObjectsClient.update', type: 'rules' }, () => + context.unsecuredSavedObjectsClient.update('alert', createdAlert.id, { + scheduledTaskId, + }) + ); + createdAlert.attributes.scheduledTaskId = scheduledTaskId; } // Log warning if schedule interval is less than the minimum but we're not enforcing it diff --git a/x-pack/plugins/alerting/server/rules_client/lib/get_authorization_filter.ts b/x-pack/plugins/alerting/server/rules_client/lib/get_authorization_filter.ts index 28e42c6b12e42..b9cc41a0fd7c4 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/get_authorization_filter.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/get_authorization_filter.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { withSpan } from '@kbn/apm-utils'; import { AlertingAuthorizationEntity } from '../../authorization'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; import { RulesClientContext } from '../types'; @@ -16,9 +17,13 @@ export const getAuthorizationFilter = async ( { action }: { action: BulkAction } ) => { try { - const authorizationTuple = await context.authorization.getFindAuthorizationFilter( - AlertingAuthorizationEntity.Rule, - alertingAuthorizationFilterOpts + const authorizationTuple = await withSpan( + { name: 'authorization.getFindAuthorizationFilter', type: 'rules' }, + () => + context.authorization.getFindAuthorizationFilter( + AlertingAuthorizationEntity.Rule, + alertingAuthorizationFilterOpts + ) ); return authorizationTuple.filter; } catch (error) { diff --git a/x-pack/plugins/alerting/server/rules_client/lib/recover_rule_alerts.ts b/x-pack/plugins/alerting/server/rules_client/lib/recover_rule_alerts.ts index aaa84a8b6950b..e7027905ff956 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/recover_rule_alerts.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/recover_rule_alerts.ts @@ -7,6 +7,7 @@ import { mapValues } from 'lodash'; import { SAVED_OBJECT_REL_PRIMARY } from '@kbn/event-log-plugin/server'; +import { withSpan } from '@kbn/apm-utils'; import { RawRule, SanitizedRule, RawAlertInstance as RawAlert } from '../../types'; import { taskInstanceToAlertTaskInstance } from '../../task_runner/alert_task_instance'; import { Alert } from '../../alert'; @@ -19,51 +20,53 @@ export const recoverRuleAlerts = async ( id: string, attributes: RawRule ) => { - if (!context.eventLogger || !attributes.scheduledTaskId) return; - try { - const { state } = taskInstanceToAlertTaskInstance( - await context.taskManager.get(attributes.scheduledTaskId), - attributes as unknown as SanitizedRule - ); + return withSpan({ name: 'recoverRuleAlerts', type: 'rules' }, async () => { + if (!context.eventLogger || !attributes.scheduledTaskId) return; + try { + const { state } = taskInstanceToAlertTaskInstance( + await context.taskManager.get(attributes.scheduledTaskId), + attributes as unknown as SanitizedRule + ); - const recoveredAlerts = mapValues, Alert>( - state.alertInstances ?? {}, - (rawAlertInstance, alertId) => new Alert(alertId, rawAlertInstance) - ); - const recoveredAlertIds = Object.keys(recoveredAlerts); + const recoveredAlerts = mapValues, Alert>( + state.alertInstances ?? {}, + (rawAlertInstance, alertId) => new Alert(alertId, rawAlertInstance) + ); + const recoveredAlertIds = Object.keys(recoveredAlerts); - for (const alertId of recoveredAlertIds) { - const { group: actionGroup } = recoveredAlerts[alertId].getLastScheduledActions() ?? {}; - const instanceState = recoveredAlerts[alertId].getState(); - const message = `instance '${alertId}' has recovered due to the rule was disabled`; + for (const alertId of recoveredAlertIds) { + const { group: actionGroup } = recoveredAlerts[alertId].getLastScheduledActions() ?? {}; + const instanceState = recoveredAlerts[alertId].getState(); + const message = `instance '${alertId}' has recovered due to the rule was disabled`; - const event = createAlertEventLogRecordObject({ - ruleId: id, - ruleName: attributes.name, - ruleType: context.ruleTypeRegistry.get(attributes.alertTypeId), - consumer: attributes.consumer, - instanceId: alertId, - action: EVENT_LOG_ACTIONS.recoveredInstance, - message, - state: instanceState, - group: actionGroup, - namespace: context.namespace, - spaceId: context.spaceId, - savedObjects: [ - { - id, - type: 'alert', - typeId: attributes.alertTypeId, - relation: SAVED_OBJECT_REL_PRIMARY, - }, - ], - }); - context.eventLogger.logEvent(event); + const event = createAlertEventLogRecordObject({ + ruleId: id, + ruleName: attributes.name, + ruleType: context.ruleTypeRegistry.get(attributes.alertTypeId), + consumer: attributes.consumer, + instanceId: alertId, + action: EVENT_LOG_ACTIONS.recoveredInstance, + message, + state: instanceState, + group: actionGroup, + namespace: context.namespace, + spaceId: context.spaceId, + savedObjects: [ + { + id, + type: 'alert', + typeId: attributes.alertTypeId, + relation: SAVED_OBJECT_REL_PRIMARY, + }, + ], + }); + context.eventLogger.logEvent(event); + } + } catch (error) { + // this should not block the rest of the disable process + context.logger.warn( + `rulesClient.disable('${id}') - Could not write recovery events - ${error.message}` + ); } - } catch (error) { - // this should not block the rest of the disable process - context.logger.warn( - `rulesClient.disable('${id}') - Could not write recovery events - ${error.message}` - ); - } + }); }; diff --git a/x-pack/plugins/alerting/server/rules_client/lib/schedule_task.ts b/x-pack/plugins/alerting/server/rules_client/lib/schedule_task.ts index eecdcf0314d02..c868a2d944075 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/schedule_task.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/schedule_task.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { withSpan } from '@kbn/apm-utils'; import { RulesClientContext } from '../types'; import { ScheduleTaskOptions } from '../types'; @@ -28,7 +29,9 @@ export async function scheduleTask(context: RulesClientContext, opts: ScheduleTa enabled: true, }; try { - return await context.taskManager.schedule(taskInstance); + return await withSpan({ name: 'taskManager.schedule', type: 'rules' }, () => + context.taskManager.schedule(taskInstance) + ); } catch (err) { if (err.statusCode === 409 && !throwOnConflict) { return taskInstance; diff --git a/x-pack/plugins/alerting/server/rules_client/methods/bulk_delete.ts b/x-pack/plugins/alerting/server/rules_client/methods/bulk_delete.ts index abce18abe6802..87a4e09eda5ea 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/bulk_delete.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/bulk_delete.ts @@ -7,10 +7,12 @@ import { KueryNode, nodeBuilder } from '@kbn/es-query'; import { SavedObjectsBulkUpdateObject } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; import { RawRule } from '../../types'; import { convertRuleIdsToKueryNode } from '../../lib'; import { bulkMarkApiKeysForInvalidation } from '../../invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; +import { tryToRemoveTasks } from '../common'; import { getAuthorizationFilter, checkAuthorizationAndGetTotal, getAlertFromRaw } from '../lib'; import { retryIfBulkOperationConflicts, @@ -35,54 +37,32 @@ export const bulkDeleteRules = async (context: RulesClientContext, options: Bulk action: 'DELETE', }); - const { rules, errors, accListSpecificForBulkOperation } = await retryIfBulkOperationConflicts({ - action: 'DELETE', - logger: context.logger, - bulkOperation: (filterKueryNode: KueryNode | null) => - bulkDeleteWithOCC(context, { filter: filterKueryNode }), - filter: kueryNodeFilterWithAuth, - }); + const { rules, errors, accListSpecificForBulkOperation } = await withSpan( + { name: 'retryIfBulkOperationConflicts', type: 'rules' }, + () => + retryIfBulkOperationConflicts({ + action: 'DELETE', + logger: context.logger, + bulkOperation: (filterKueryNode: KueryNode | null) => + bulkDeleteWithOCC(context, { filter: filterKueryNode }), + filter: kueryNodeFilterWithAuth, + }) + ); const [apiKeysToInvalidate, taskIdsToDelete] = accListSpecificForBulkOperation; - const taskIdsFailedToBeDeleted: string[] = []; - const taskIdsSuccessfullyDeleted: string[] = []; - if (taskIdsToDelete.length > 0) { - try { - const resultFromDeletingTasks = await context.taskManager.bulkRemoveIfExist(taskIdsToDelete); - resultFromDeletingTasks?.statuses.forEach((status) => { - if (status.success) { - taskIdsSuccessfullyDeleted.push(status.id); - } else { - taskIdsFailedToBeDeleted.push(status.id); - } - }); - if (taskIdsSuccessfullyDeleted.length) { - context.logger.debug( - `Successfully deleted schedules for underlying tasks: ${taskIdsSuccessfullyDeleted.join( - ', ' - )}` - ); - } - if (taskIdsFailedToBeDeleted.length) { - context.logger.error( - `Failure to delete schedules for underlying tasks: ${taskIdsFailedToBeDeleted.join(', ')}` - ); - } - } catch (error) { - context.logger.error( - `Failure to delete schedules for underlying tasks: ${taskIdsToDelete.join( - ', ' - )}. TaskManager bulkRemoveIfExist failed with Error: ${error.message}` - ); - } - } - - await bulkMarkApiKeysForInvalidation( - { apiKeys: apiKeysToInvalidate }, - context.logger, - context.unsecuredSavedObjectsClient - ); + const [result] = await Promise.allSettled([ + tryToRemoveTasks({ + taskIdsToDelete, + logger: context.logger, + taskManager: context.taskManager, + }), + bulkMarkApiKeysForInvalidation( + { apiKeys: apiKeysToInvalidate }, + context.logger, + context.unsecuredSavedObjectsClient + ), + ]); const deletedRules = rules.map(({ id, attributes, references }) => { return getAlertFromRaw( @@ -95,58 +75,74 @@ export const bulkDeleteRules = async (context: RulesClientContext, options: Bulk ); }); - return { errors, rules: deletedRules, total, taskIdsFailedToBeDeleted }; + if (result.status === 'fulfilled') { + return { errors, total, rules: deletedRules, taskIdsFailedToBeDeleted: result.value }; + } else { + return { errors, total, rules: deletedRules, taskIdsFailedToBeDeleted: [] }; + } }; const bulkDeleteWithOCC = async ( context: RulesClientContext, { filter }: { filter: KueryNode | null } ) => { - const rulesFinder = - await context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser( - { + const rulesFinder = await withSpan( + { + name: 'encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser', + type: 'rules', + }, + () => + context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser({ filter, type: 'alert', perPage: 100, ...(context.namespace ? { namespaces: [context.namespace] } : undefined), - } - ); + }) + ); const rulesToDelete: Array> = []; - const apiKeysToInvalidate: string[] = []; - const taskIdsToDelete: string[] = []; - const errors: BulkOperationError[] = []; const apiKeyToRuleIdMapping: Record = {}; const taskIdToRuleIdMapping: Record = {}; const ruleNameToRuleIdMapping: Record = {}; - for await (const response of rulesFinder.find()) { - for (const rule of response.saved_objects) { - if (rule.attributes.apiKey) { - apiKeyToRuleIdMapping[rule.id] = rule.attributes.apiKey; - } - if (rule.attributes.name) { - ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; - } - if (rule.attributes.scheduledTaskId) { - taskIdToRuleIdMapping[rule.id] = rule.attributes.scheduledTaskId; + await withSpan( + { name: 'Get rules, collect them and their attributes', type: 'rules' }, + async () => { + for await (const response of rulesFinder.find()) { + for (const rule of response.saved_objects) { + if (rule.attributes.apiKey) { + apiKeyToRuleIdMapping[rule.id] = rule.attributes.apiKey; + } + if (rule.attributes.name) { + ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; + } + if (rule.attributes.scheduledTaskId) { + taskIdToRuleIdMapping[rule.id] = rule.attributes.scheduledTaskId; + } + rulesToDelete.push(rule); + + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.DELETE, + outcome: 'unknown', + savedObject: { type: 'alert', id: rule.id }, + }) + ); + } } - rulesToDelete.push(rule); - - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.DELETE, - outcome: 'unknown', - savedObject: { type: 'alert', id: rule.id }, - }) - ); + await rulesFinder.close(); } - } - await rulesFinder.close(); + ); - const result = await context.unsecuredSavedObjectsClient.bulkDelete(rulesToDelete); + const result = await withSpan( + { name: 'unsecuredSavedObjectsClient.bulkDelete', type: 'rules' }, + () => context.unsecuredSavedObjectsClient.bulkDelete(rulesToDelete) + ); const deletedRuleIds: string[] = []; + const apiKeysToInvalidate: string[] = []; + const taskIdsToDelete: string[] = []; + const errors: BulkOperationError[] = []; result.statuses.forEach((status) => { if (status.error === undefined) { diff --git a/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts b/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts index 316c3c9685a9b..5a79a38c767fd 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts @@ -7,6 +7,10 @@ import { KueryNode, nodeBuilder } from '@kbn/es-query'; import { SavedObjectsBulkUpdateObject } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; +import pMap from 'p-map'; +import { Logger } from '@kbn/core/server'; +import { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; import { RawRule } from '../../types'; import { convertRuleIdsToKueryNode } from '../../lib'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; @@ -23,6 +27,7 @@ import { updateMeta, } from '../lib'; import { BulkOptions, BulkOperationError, RulesClientContext } from '../types'; +import { tryToRemoveTasks } from '../common'; export const bulkDisableRules = async (context: RulesClientContext, options: BulkOptions) => { const { ids, filter } = getAndValidateCommonBulkOptions(options); @@ -40,75 +45,28 @@ export const bulkDisableRules = async (context: RulesClientContext, options: Bul action: 'DISABLE', }); - const { errors, rules, accListSpecificForBulkOperation } = await retryIfBulkOperationConflicts({ - action: 'DISABLE', - logger: context.logger, - bulkOperation: (filterKueryNode: KueryNode | null) => - bulkDisableRulesWithOCC(context, { filter: filterKueryNode }), - filter: kueryNodeFilterWithAuth, - }); + const { errors, rules, accListSpecificForBulkOperation } = await withSpan( + { name: 'retryIfBulkOperationConflicts', type: 'rules' }, + () => + retryIfBulkOperationConflicts({ + action: 'DISABLE', + logger: context.logger, + bulkOperation: (filterKueryNode: KueryNode | null) => + bulkDisableRulesWithOCC(context, { filter: filterKueryNode }), + filter: kueryNodeFilterWithAuth, + }) + ); const [taskIdsToDisable, taskIdsToDelete] = accListSpecificForBulkOperation; - if (taskIdsToDisable.length > 0) { - try { - const resultFromDisablingTasks = await context.taskManager.bulkDisable(taskIdsToDisable); - if (resultFromDisablingTasks.tasks.length) { - context.logger.debug( - `Successfully disabled schedules for underlying tasks: ${resultFromDisablingTasks.tasks - .map((task) => task.id) - .join(', ')}` - ); - } - if (resultFromDisablingTasks.errors.length) { - context.logger.error( - `Failure to disable schedules for underlying tasks: ${resultFromDisablingTasks.errors - .map((error) => error.task.id) - .join(', ')}` - ); - } - } catch (error) { - context.logger.error( - `Failure to disable schedules for underlying tasks: ${taskIdsToDisable.join( - ', ' - )}. TaskManager bulkDisable failed with Error: ${error.message}` - ); - } - } - - const taskIdsFailedToBeDeleted: string[] = []; - const taskIdsSuccessfullyDeleted: string[] = []; - - if (taskIdsToDelete.length > 0) { - try { - const resultFromDeletingTasks = await context.taskManager.bulkRemoveIfExist(taskIdsToDelete); - resultFromDeletingTasks?.statuses.forEach((status) => { - if (status.success) { - taskIdsSuccessfullyDeleted.push(status.id); - } else { - taskIdsFailedToBeDeleted.push(status.id); - } - }); - if (taskIdsSuccessfullyDeleted.length) { - context.logger.debug( - `Successfully deleted schedules for underlying tasks: ${taskIdsSuccessfullyDeleted.join( - ', ' - )}` - ); - } - if (taskIdsFailedToBeDeleted.length) { - context.logger.error( - `Failure to delete schedules for underlying tasks: ${taskIdsFailedToBeDeleted.join(', ')}` - ); - } - } catch (error) { - context.logger.error( - `Failure to delete schedules for underlying tasks: ${taskIdsToDelete.join( - ', ' - )}. TaskManager bulkRemoveIfExist failed with Error: ${error.message}` - ); - } - } + await Promise.allSettled([ + tryToDisableTasks({ + taskIdsToDisable, + logger: context.logger, + taskManager: context.taskManager, + }), + tryToRemoveTasks({ taskIdsToDelete, logger: context.logger, taskManager: context.taskManager }), + ]); const updatedRules = rules.map(({ id, attributes, references }) => { return getAlertFromRaw( @@ -130,77 +88,90 @@ const bulkDisableRulesWithOCC = async ( ) => { const additionalFilter = nodeBuilder.is('alert.attributes.enabled', 'true'); - const rulesFinder = - await context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser( - { + const rulesFinder = await withSpan( + { + name: 'encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser', + type: 'rules', + }, + () => + context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser({ filter: filter ? nodeBuilder.and([filter, additionalFilter]) : additionalFilter, type: 'alert', perPage: 100, ...(context.namespace ? { namespaces: [context.namespace] } : undefined), - } - ); + }) + ); const rulesToDisable: Array> = []; const errors: BulkOperationError[] = []; const ruleNameToRuleIdMapping: Record = {}; const username = await context.getUserName(); - for await (const response of rulesFinder.find()) { - response.saved_objects.forEach((rule) => { - try { - if (rule.attributes.enabled === false) return; - - recoverRuleAlerts(context, rule.id, rule.attributes); - - if (rule.attributes.name) { - ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; - } - - const updatedAttributes = updateMeta(context, { - ...rule.attributes, - enabled: false, - scheduledTaskId: - rule.attributes.scheduledTaskId === rule.id ? rule.attributes.scheduledTaskId : null, - updatedBy: username, - updatedAt: new Date().toISOString(), - }); - - rulesToDisable.push({ - ...rule, - attributes: { - ...updatedAttributes, - }, - }); - - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.DISABLE, - outcome: 'unknown', - savedObject: { type: 'alert', id: rule.id }, - }) - ); - } catch (error) { - errors.push({ - message: error.message, - rule: { - id: rule.id, - name: rule.attributes?.name, - }, + await withSpan( + { name: 'Get rules, collect them and their attributes', type: 'rules' }, + async () => { + for await (const response of rulesFinder.find()) { + await pMap(response.saved_objects, async (rule) => { + try { + await recoverRuleAlerts(context, rule.id, rule.attributes); + + if (rule.attributes.name) { + ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; + } + + const updatedAttributes = updateMeta(context, { + ...rule.attributes, + enabled: false, + scheduledTaskId: + rule.attributes.scheduledTaskId === rule.id + ? rule.attributes.scheduledTaskId + : null, + updatedBy: username, + updatedAt: new Date().toISOString(), + }); + + rulesToDisable.push({ + ...rule, + attributes: { + ...updatedAttributes, + }, + }); + + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.DISABLE, + outcome: 'unknown', + savedObject: { type: 'alert', id: rule.id }, + }) + ); + } catch (error) { + errors.push({ + message: error.message, + rule: { + id: rule.id, + name: rule.attributes?.name, + }, + }); + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.DISABLE, + error, + }) + ); + } }); - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.DISABLE, - error, - }) - ); } - }); - } - await rulesFinder.close(); + await rulesFinder.close(); + } + ); - const result = await context.unsecuredSavedObjectsClient.bulkCreate(rulesToDisable, { - overwrite: true, - }); + const result = await withSpan( + { name: 'unsecuredSavedObjectsClient.bulkCreate', type: 'rules' }, + () => + context.unsecuredSavedObjectsClient.bulkCreate(rulesToDisable, { + overwrite: true, + }) + ); const taskIdsToDisable: string[] = []; const taskIdsToDelete: string[] = []; @@ -234,3 +205,41 @@ const bulkDisableRulesWithOCC = async ( accListSpecificForBulkOperation: [taskIdsToDisable, taskIdsToDelete], }; }; + +const tryToDisableTasks = async ({ + taskIdsToDisable, + logger, + taskManager, +}: { + taskIdsToDisable: string[]; + logger: Logger; + taskManager: TaskManagerStartContract; +}) => { + return await withSpan({ name: 'taskManager.bulkDisable', type: 'rules' }, async () => { + if (taskIdsToDisable.length > 0) { + try { + const resultFromDisablingTasks = await taskManager.bulkDisable(taskIdsToDisable); + if (resultFromDisablingTasks.tasks.length) { + logger.debug( + `Successfully disabled schedules for underlying tasks: ${resultFromDisablingTasks.tasks + .map((task) => task.id) + .join(', ')}` + ); + } + if (resultFromDisablingTasks.errors.length) { + logger.error( + `Failure to disable schedules for underlying tasks: ${resultFromDisablingTasks.errors + .map((error) => error.task.id) + .join(', ')}` + ); + } + } catch (error) { + logger.error( + `Failure to disable schedules for underlying tasks: ${taskIdsToDisable.join( + ', ' + )}. TaskManager bulkDisable failed with Error: ${error.message}` + ); + } + } + }); +}; diff --git a/x-pack/plugins/alerting/server/rules_client/methods/bulk_enable.ts b/x-pack/plugins/alerting/server/rules_client/methods/bulk_enable.ts index 0546906b04313..16107ca8a3e9a 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/bulk_enable.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/bulk_enable.ts @@ -8,6 +8,9 @@ import pMap from 'p-map'; import { KueryNode, nodeBuilder } from '@kbn/es-query'; import { SavedObjectsBulkUpdateObject } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; +import { Logger } from '@kbn/core/server'; +import { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; import { RawRule, IntervalSchedule } from '../../types'; import { convertRuleIdsToKueryNode } from '../../lib'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; @@ -33,7 +36,9 @@ const getShouldScheduleTask = async ( if (!scheduledTaskId) return true; try { // make sure scheduledTaskId exist - await context.taskManager.get(scheduledTaskId); + await withSpan({ name: 'getShouldScheduleTask', type: 'rules' }, () => + context.taskManager.get(scheduledTaskId) + ); return false; } catch (err) { return true; @@ -66,36 +71,11 @@ export const bulkEnableRules = async (context: RulesClientContext, options: Bulk const [taskIdsToEnable] = accListSpecificForBulkOperation; - const taskIdsFailedToBeEnabled: string[] = []; - if (taskIdsToEnable.length > 0) { - try { - const resultFromEnablingTasks = await context.taskManager.bulkEnable(taskIdsToEnable); - resultFromEnablingTasks?.errors?.forEach((error) => { - taskIdsFailedToBeEnabled.push(error.task.id); - }); - if (resultFromEnablingTasks.tasks.length) { - context.logger.debug( - `Successfully enabled schedules for underlying tasks: ${resultFromEnablingTasks.tasks - .map((task) => task.id) - .join(', ')}` - ); - } - if (resultFromEnablingTasks.errors.length) { - context.logger.error( - `Failure to enable schedules for underlying tasks: ${resultFromEnablingTasks.errors - .map((error) => error.task.id) - .join(', ')}` - ); - } - } catch (error) { - taskIdsFailedToBeEnabled.push(...taskIdsToEnable); - context.logger.error( - `Failure to enable schedules for underlying tasks: ${taskIdsToEnable.join( - ', ' - )}. TaskManager bulkEnable failed with Error: ${error.message}` - ); - } - } + const taskIdsFailedToBeEnabled = await tryToEnableTasks({ + taskIdsToEnable, + logger: context.logger, + taskManager: context.taskManager, + }); const updatedRules = rules.map(({ id, attributes, references }) => { return getAlertFromRaw( @@ -117,109 +97,123 @@ const bulkEnableRulesWithOCC = async ( ) => { const additionalFilter = nodeBuilder.is('alert.attributes.enabled', 'false'); - const rulesFinder = - await context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser( - { - filter: filter ? nodeBuilder.and([filter, additionalFilter]) : additionalFilter, - type: 'alert', - perPage: 100, - ...(context.namespace ? { namespaces: [context.namespace] } : undefined), - } - ); + const rulesFinder = await withSpan( + { + name: 'encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser', + type: 'rules', + }, + async () => + await context.encryptedSavedObjectsClient.createPointInTimeFinderDecryptedAsInternalUser( + { + filter: filter ? nodeBuilder.and([filter, additionalFilter]) : additionalFilter, + type: 'alert', + perPage: 100, + ...(context.namespace ? { namespaces: [context.namespace] } : undefined), + } + ) + ); const rulesToEnable: Array> = []; - const taskIdsToEnable: string[] = []; const errors: BulkOperationError[] = []; const ruleNameToRuleIdMapping: Record = {}; const username = await context.getUserName(); - for await (const response of rulesFinder.find()) { - await pMap(response.saved_objects, async (rule) => { - try { - if (rule.attributes.enabled === true) return; - if (rule.attributes.actions.length) { + await withSpan( + { name: 'Get rules, collect them and their attributes', type: 'rules' }, + async () => { + for await (const response of rulesFinder.find()) { + await pMap(response.saved_objects, async (rule) => { try { - await context.actionsAuthorization.ensureAuthorized('execute'); - } catch (error) { - throw Error(`Rule not authorized for bulk enable - ${error.message}`); - } - } - if (rule.attributes.name) { - ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; - } + if (rule.attributes.actions.length) { + try { + await context.actionsAuthorization.ensureAuthorized('execute'); + } catch (error) { + throw Error(`Rule not authorized for bulk enable - ${error.message}`); + } + } + if (rule.attributes.name) { + ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; + } - const updatedAttributes = updateMeta(context, { - ...rule.attributes, - ...(!rule.attributes.apiKey && - (await createNewAPIKeySet(context, { attributes: rule.attributes, username }))), - enabled: true, - updatedBy: username, - updatedAt: new Date().toISOString(), - executionStatus: { - status: 'pending', - lastDuration: 0, - lastExecutionDate: new Date().toISOString(), - error: null, - warning: null, - }, - }); + const updatedAttributes = updateMeta(context, { + ...rule.attributes, + ...(!rule.attributes.apiKey && + (await createNewAPIKeySet(context, { attributes: rule.attributes, username }))), + enabled: true, + updatedBy: username, + updatedAt: new Date().toISOString(), + executionStatus: { + status: 'pending', + lastDuration: 0, + lastExecutionDate: new Date().toISOString(), + error: null, + warning: null, + }, + }); - const shouldScheduleTask = await getShouldScheduleTask( - context, - rule.attributes.scheduledTaskId - ); + const shouldScheduleTask = await getShouldScheduleTask( + context, + rule.attributes.scheduledTaskId + ); - let scheduledTaskId; - if (shouldScheduleTask) { - const scheduledTask = await scheduleTask(context, { - id: rule.id, - consumer: rule.attributes.consumer, - ruleTypeId: rule.attributes.alertTypeId, - schedule: rule.attributes.schedule as IntervalSchedule, - throwOnConflict: false, - }); - scheduledTaskId = scheduledTask.id; - } + let scheduledTaskId; + if (shouldScheduleTask) { + const scheduledTask = await scheduleTask(context, { + id: rule.id, + consumer: rule.attributes.consumer, + ruleTypeId: rule.attributes.alertTypeId, + schedule: rule.attributes.schedule as IntervalSchedule, + throwOnConflict: false, + }); + scheduledTaskId = scheduledTask.id; + } - rulesToEnable.push({ - ...rule, - attributes: { - ...updatedAttributes, - ...(scheduledTaskId ? { scheduledTaskId } : undefined), - }, - }); + rulesToEnable.push({ + ...rule, + attributes: { + ...updatedAttributes, + ...(scheduledTaskId ? { scheduledTaskId } : undefined), + }, + }); - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.ENABLE, - outcome: 'unknown', - savedObject: { type: 'alert', id: rule.id }, - }) - ); - } catch (error) { - errors.push({ - message: error.message, - rule: { - id: rule.id, - name: rule.attributes?.name, - }, + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.ENABLE, + outcome: 'unknown', + savedObject: { type: 'alert', id: rule.id }, + }) + ); + } catch (error) { + errors.push({ + message: error.message, + rule: { + id: rule.id, + name: rule.attributes?.name, + }, + }); + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.ENABLE, + error, + }) + ); + } }); - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.ENABLE, - error, - }) - ); } - }); - } - await rulesFinder.close(); + await rulesFinder.close(); + } + ); - const result = await context.unsecuredSavedObjectsClient.bulkCreate(rulesToEnable, { - overwrite: true, - }); + const result = await withSpan( + { name: 'unsecuredSavedObjectsClient.bulkCreate', type: 'rules' }, + () => + context.unsecuredSavedObjectsClient.bulkCreate(rulesToEnable, { + overwrite: true, + }) + ); const rules: Array> = []; + const taskIdsToEnable: string[] = []; result.saved_objects.forEach((rule) => { if (rule.error === undefined) { @@ -240,3 +234,49 @@ const bulkEnableRulesWithOCC = async ( }); return { errors, rules, accListSpecificForBulkOperation: [taskIdsToEnable] }; }; + +export const tryToEnableTasks = async ({ + taskIdsToEnable, + logger, + taskManager, +}: { + taskIdsToEnable: string[]; + logger: Logger; + taskManager: TaskManagerStartContract; +}) => { + const taskIdsFailedToBeEnabled: string[] = []; + + if (taskIdsToEnable.length > 0) { + try { + const resultFromEnablingTasks = await withSpan( + { name: 'taskManager.bulkEnable', type: 'rules' }, + async () => taskManager.bulkEnable(taskIdsToEnable) + ); + resultFromEnablingTasks?.errors?.forEach((error) => { + taskIdsFailedToBeEnabled.push(error.task.id); + }); + if (resultFromEnablingTasks.tasks.length) { + logger.debug( + `Successfully enabled schedules for underlying tasks: ${resultFromEnablingTasks.tasks + .map((task) => task.id) + .join(', ')}` + ); + } + if (resultFromEnablingTasks.errors.length) { + logger.error( + `Failure to enable schedules for underlying tasks: ${resultFromEnablingTasks.errors + .map((error) => error.task.id) + .join(', ')}` + ); + } + } catch (error) { + taskIdsFailedToBeEnabled.push(...taskIdsToEnable); + logger.error( + `Failure to enable schedules for underlying tasks: ${taskIdsToEnable.join( + ', ' + )}. TaskManager bulkEnable failed with Error: ${error.message}` + ); + } + } + return taskIdsFailedToBeEnabled; +}; diff --git a/x-pack/plugins/alerting/server/rules_client/methods/clone.ts b/x-pack/plugins/alerting/server/rules_client/methods/clone.ts index b4ebe5891885c..e1cabc50280e6 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/clone.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/clone.ts @@ -9,6 +9,7 @@ import Semver from 'semver'; import Boom from '@hapi/boom'; import { AlertConsumers } from '@kbn/rule-data-utils'; import { SavedObject, SavedObjectsUtils } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; import { RawRule, SanitizedRule, RuleTypeParams } from '../../types'; import { getDefaultMonitoring } from '../../lib'; import { WriteOperations, AlertingAuthorizationEntity } from '../../authorization'; @@ -30,12 +31,12 @@ export async function clone( let ruleSavedObject: SavedObject; try { - ruleSavedObject = await context.encryptedSavedObjectsClient.getDecryptedAsInternalUser( - 'alert', - id, - { - namespace: context.namespace, - } + ruleSavedObject = await withSpan( + { name: 'encryptedSavedObjectsClient.getDecryptedAsInternalUser', type: 'rules' }, + () => + context.encryptedSavedObjectsClient.getDecryptedAsInternalUser('alert', id, { + namespace: context.namespace, + }) ); } catch (e) { // We'll skip invalidating the API key since we failed to load the decrypted saved object @@ -43,7 +44,10 @@ export async function clone( `update(): Failed to load API key to invalidate on alert ${id}: ${e.message}` ); // Still attempt to load the object using SOC - ruleSavedObject = await context.unsecuredSavedObjectsClient.get('alert', id); + ruleSavedObject = await withSpan( + { name: 'unsecuredSavedObjectsClient.get', type: 'rules' }, + () => context.unsecuredSavedObjectsClient.get('alert', id) + ); } /* @@ -65,12 +69,14 @@ export async function clone( : `${ruleSavedObject.attributes.name} [Clone]`; const ruleId = newId ?? SavedObjectsUtils.generateId(); try { - await context.authorization.ensureAuthorized({ - ruleTypeId: ruleSavedObject.attributes.alertTypeId, - consumer: ruleSavedObject.attributes.consumer, - operation: WriteOperations.Create, - entity: AlertingAuthorizationEntity.Rule, - }); + await withSpan({ name: 'authorization.ensureAuthorized', type: 'rules' }, () => + context.authorization.ensureAuthorized({ + ruleTypeId: ruleSavedObject.attributes.alertTypeId, + consumer: ruleSavedObject.attributes.consumer, + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ); } catch (error) { context.auditLogger?.log( ruleAuditEvent({ @@ -122,10 +128,12 @@ export async function clone( }) ); - return await createRuleSavedObject(context, { - intervalInMs: parseDuration(rawRule.schedule.interval), - rawRule, - references: ruleSavedObject.references, - ruleId, - }); + return await withSpan({ name: 'createRuleSavedObject', type: 'rules' }, () => + createRuleSavedObject(context, { + intervalInMs: parseDuration(rawRule.schedule.interval), + rawRule, + references: ruleSavedObject.references, + ruleId, + }) + ); } diff --git a/x-pack/plugins/alerting/server/rules_client/methods/create.ts b/x-pack/plugins/alerting/server/rules_client/methods/create.ts index 31707726b4e24..a0b5e26061a8d 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/create.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/create.ts @@ -7,6 +7,7 @@ import Semver from 'semver'; import Boom from '@hapi/boom'; import { SavedObjectsUtils } from '@kbn/core/server'; +import { withSpan } from '@kbn/apm-utils'; import { parseDuration } from '../../../common/parse_duration'; import { RawRule, SanitizedRule, RuleTypeParams, RuleAction, Rule } from '../../types'; import { WriteOperations, AlertingAuthorizationEntity } from '../../authorization'; @@ -52,12 +53,14 @@ export async function create( const id = options?.id || SavedObjectsUtils.generateId(); try { - await context.authorization.ensureAuthorized({ - ruleTypeId: data.alertTypeId, - consumer: data.consumer, - operation: WriteOperations.Create, - entity: AlertingAuthorizationEntity.Rule, - }); + await withSpan({ name: 'authorization.ensureAuthorized', type: 'rules' }, () => + context.authorization.ensureAuthorized({ + ruleTypeId: data.alertTypeId, + consumer: data.consumer, + operation: WriteOperations.Create, + entity: AlertingAuthorizationEntity.Rule, + }) + ); } catch (error) { context.auditLogger?.log( ruleAuditEvent({ @@ -80,14 +83,18 @@ export async function create( let createdAPIKey = null; try { createdAPIKey = data.enabled - ? await context.createAPIKey(generateAPIKeyName(ruleType.id, data.name)) + ? await withSpan({ name: 'createAPIKey', type: 'rules' }, () => + context.createAPIKey(generateAPIKeyName(ruleType.id, data.name)) + ) : null; } catch (error) { throw Boom.badRequest(`Error creating rule: could not create API key - ${error.message}`); } await validateActions(context, ruleType, data); - + await withSpan({ name: 'validateActions', type: 'rules' }, () => + validateActions(context, ruleType, data) + ); // Throw error if schedule interval is less than the minimum and we are enforcing it const intervalInMs = parseDuration(data.schedule.interval); if ( @@ -104,7 +111,9 @@ export async function create( references, params: updatedParams, actions, - } = await extractReferences(context, ruleType, data.actions, validatedAlertTypeParams); + } = await withSpan({ name: 'extractReferences', type: 'rules' }, () => + extractReferences(context, ruleType, data.actions, validatedAlertTypeParams) + ); const createTime = Date.now(); const lastRunTimestamp = new Date(); @@ -137,11 +146,13 @@ export async function create( rawRule.mapped_params = mappedParams; } - return await createRuleSavedObject(context, { - intervalInMs, - rawRule, - references, - ruleId: id, - options, - }); + return await withSpan({ name: 'createRuleSavedObject', type: 'rules' }, () => + createRuleSavedObject(context, { + intervalInMs, + rawRule, + references, + ruleId: id, + options, + }) + ); } diff --git a/x-pack/plugins/alerting/server/rules_client/methods/disable.ts b/x-pack/plugins/alerting/server/rules_client/methods/disable.ts index 3eae1d2df7b5d..bbdb1ade167eb 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/disable.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/disable.ts @@ -39,7 +39,7 @@ async function disableWithOCC(context: RulesClientContext, { id }: { id: string version = alert.version; } - recoverRuleAlerts(context, id, attributes); + await recoverRuleAlerts(context, id, attributes); try { await context.authorization.ensureAuthorized({ diff --git a/x-pack/plugins/alerting/server/rules_client/tests/bulk_enable.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/bulk_enable.test.ts index c4d3e1a253d95..dcb8b6e512c3f 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/bulk_enable.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/bulk_enable.test.ts @@ -318,6 +318,7 @@ describe('bulkEnableRules', () => { mockCreatePointInTimeFinderAsInternalUser({ saved_objects: [disabledRuleWithAction1, disabledRuleWithAction2], }); + actionsAuthorization.ensureAuthorized.mockImplementation(() => { throw new Error('UPS'); }); diff --git a/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts b/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts index efc9d0418ccd2..01f498268fb20 100644 --- a/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/rule_loader.test.ts @@ -234,17 +234,6 @@ describe('rule_loader', () => { "authorization": "ApiKey rule-apikey", }, "path": "/", - "raw": Object { - "req": Object { - "url": "/", - }, - }, - "route": Object { - "settings": Object {}, - }, - "url": Object { - "href": "/", - }, }, ] `); @@ -264,17 +253,6 @@ describe('rule_loader', () => { "authorization": "ApiKey rule-apikey", }, "path": "/", - "raw": Object { - "req": Object { - "url": "/", - }, - }, - "route": Object { - "settings": Object {}, - }, - "url": Object { - "href": "/", - }, }, ] `); @@ -293,17 +271,6 @@ describe('rule_loader', () => { Object { "headers": Object {}, "path": "/", - "raw": Object { - "req": Object { - "url": "/", - }, - }, - "route": Object { - "settings": Object {}, - }, - "url": Object { - "href": "/", - }, }, ] `); diff --git a/x-pack/plugins/alerting/server/task_runner/rule_loader.ts b/x-pack/plugins/alerting/server/task_runner/rule_loader.ts index f1af95ff2c7a4..f53ec2f30f77b 100644 --- a/x-pack/plugins/alerting/server/task_runner/rule_loader.ts +++ b/x-pack/plugins/alerting/server/task_runner/rule_loader.ts @@ -6,9 +6,8 @@ */ import { PublicMethodsOf } from '@kbn/utility-types'; -import type { Request } from '@hapi/hapi'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; -import { CoreKibanaRequest } from '@kbn/core/server'; +import { CoreKibanaRequest, FakeRawRequest, Headers } from '@kbn/core/server'; import { TaskRunnerContext } from './task_runner_factory'; import { ErrorWithReason, validateRuleTypeParams } from '../lib'; import { @@ -134,7 +133,7 @@ export function getFakeKibanaRequest( spaceId: string, apiKey: RawRule['apiKey'] ) { - const requestHeaders: Record = {}; + const requestHeaders: Headers = {}; if (apiKey) { requestHeaders.authorization = `ApiKey ${apiKey}`; @@ -142,20 +141,12 @@ export function getFakeKibanaRequest( const path = addSpaceIdToPath('/', spaceId); - const fakeRequest = CoreKibanaRequest.from({ + const fakeRawRequest: FakeRawRequest = { headers: requestHeaders, path: '/', - route: { settings: {} }, - url: { - href: '/', - }, - raw: { - req: { - url: '/', - }, - }, - } as unknown as Request); + }; + const fakeRequest = CoreKibanaRequest.from(fakeRawRequest); context.basePathService.set(fakeRequest, path); return fakeRequest; diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts index c39c6200952ab..1dbb3b4a55612 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts @@ -73,6 +73,9 @@ import { RuleContextOpts, } from '../lib/alerting_event_logger/alerting_event_logger'; import { alertingEventLoggerMock } from '../lib/alerting_event_logger/alerting_event_logger.mock'; +import { SharePluginStart } from '@kbn/share-plugin/server'; +import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; +import { DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; jest.mock('uuid', () => ({ v4: () => '5f6aa57d-3e22-484e-bae8-cbed868f4d28', @@ -121,6 +124,9 @@ describe('Task Runner', () => { const dataPlugin = dataPluginMock.createStartContract(); const uiSettingsService = uiSettingsServiceMock.createStartContract(); const inMemoryMetrics = inMemoryMetricsMock.create(); + const dataViewsMock = { + dataViewsServiceFactory: jest.fn().mockResolvedValue(dataViewPluginMocks.createStartContract()), + } as DataViewsServerPluginStart; type TaskRunnerFactoryInitializerParamsType = jest.Mocked & { actionsPlugin: jest.Mocked; @@ -130,7 +136,9 @@ describe('Task Runner', () => { const taskRunnerFactoryInitializerParams: TaskRunnerFactoryInitializerParamsType = { data: dataPlugin, + dataViews: dataViewsMock, savedObjects: savedObjectsService, + share: {} as SharePluginStart, uiSettings: uiSettingsService, elasticsearch: elasticsearchService, actionsPlugin: actionsMock.createStart(), diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.ts index 785592190c637..426ae7b2554e4 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.ts @@ -325,6 +325,11 @@ export class TaskRunner< includedHiddenTypes: ['alert', 'action'], }); + const dataViews = await this.context.dataViews.dataViewsServiceFactory( + savedObjectsClient, + scopedClusterClient.asInternalUser + ); + updatedState = await this.context.executionContext.withContext(ctx, () => this.ruleType.executor({ executionId: this.executionId, @@ -337,6 +342,8 @@ export class TaskRunner< shouldWriteAlerts: () => this.shouldLogAndScheduleActionsForAlerts(), shouldStopExecution: () => this.cancelled, ruleMonitoringService: this.ruleMonitoring.getLastRunMetricsSetters(), + dataViews, + share: this.context.share, ruleResultService: this.ruleResult.getLastRunSetters(), }, params, diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts index 49a21d62d302e..b21a8852a701f 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_cancel.test.ts @@ -50,6 +50,9 @@ import { generateActionOpts, } from './fixtures'; import { EVENT_LOG_ACTIONS } from '../plugin'; +import { SharePluginStart } from '@kbn/share-plugin/server'; +import { DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; +import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; jest.mock('uuid', () => ({ v4: () => '5f6aa57d-3e22-484e-bae8-cbed868f4d28', @@ -66,6 +69,9 @@ const mockUsageCountersSetup = usageCountersServiceMock.createSetupContract(); const mockUsageCounter = mockUsageCountersSetup.createUsageCounter('test'); const alertingEventLogger = alertingEventLoggerMock.create(); const logger: ReturnType = loggingSystemMock.createLogger(); +const dataViewsMock = { + dataViewsServiceFactory: jest.fn().mockResolvedValue(dataViewPluginMocks.createStartContract()), +} as DataViewsServerPluginStart; describe('Task Runner Cancel', () => { let mockedTaskInstance: ConcreteTaskInstance; @@ -106,7 +112,9 @@ describe('Task Runner Cancel', () => { const taskRunnerFactoryInitializerParams: TaskRunnerFactoryInitializerParamsType = { data: dataPlugin, + dataViews: dataViewsMock, savedObjects: savedObjectsService, + share: {} as SharePluginStart, uiSettings: uiSettingsService, elasticsearch: elasticsearchService, actionsPlugin: actionsMock.createStart(), diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts index 9ecc361ca4af4..9864a6caafc8d 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.test.ts @@ -26,6 +26,9 @@ import { ruleTypeRegistryMock } from '../rule_type_registry.mock'; import { executionContextServiceMock } from '@kbn/core/server/mocks'; import { dataPluginMock } from '@kbn/data-plugin/server/mocks'; import { inMemoryMetricsMock } from '../monitoring/in_memory_metrics.mock'; +import { SharePluginStart } from '@kbn/share-plugin/server'; +import { DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; +import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; const inMemoryMetrics = inMemoryMetricsMock.create(); const executionContext = executionContextServiceMock.createSetupContract(); @@ -35,6 +38,9 @@ const savedObjectsService = savedObjectsServiceMock.createInternalStartContract( const uiSettingsService = uiSettingsServiceMock.createStartContract(); const elasticsearchService = elasticsearchServiceMock.createInternalStart(); const dataPlugin = dataPluginMock.createStartContract(); +const dataViewsMock = { + dataViewsServiceFactory: jest.fn().mockResolvedValue(dataViewPluginMocks.createStartContract()), +} as DataViewsServerPluginStart; const ruleType: UntypedNormalizedRuleType = { id: 'test', name: 'My test alert', @@ -83,7 +89,9 @@ describe('Task Runner Factory', () => { const taskRunnerFactoryInitializerParams: jest.Mocked = { data: dataPlugin, + dataViews: dataViewsMock, savedObjects: savedObjectsService, + share: {} as SharePluginStart, uiSettings: uiSettingsService, elasticsearch: elasticsearchService, getRulesClientWithRequest: jest.fn().mockReturnValue(rulesClient), diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.ts index a5ca6973cda27..c323a87d45227 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_factory.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_factory.ts @@ -16,11 +16,13 @@ import type { ElasticsearchServiceStart, UiSettingsServiceStart, } from '@kbn/core/server'; +import { PluginStart as DataViewsPluginStart } from '@kbn/data-views-plugin/server'; import { RunContext } from '@kbn/task-manager-plugin/server'; import { EncryptedSavedObjectsClient } from '@kbn/encrypted-saved-objects-plugin/server'; import { PluginStartContract as ActionsPluginStartContract } from '@kbn/actions-plugin/server'; import { IEventLogger } from '@kbn/event-log-plugin/server'; import { PluginStart as DataPluginStart } from '@kbn/data-plugin/server'; +import { SharePluginStart } from '@kbn/share-plugin/server'; import { RuleTypeParams, RuleTypeRegistry, @@ -38,6 +40,8 @@ import { ActionsConfigMap } from '../lib/get_actions_config_map'; export interface TaskRunnerContext { logger: Logger; data: DataPluginStart; + dataViews: DataViewsPluginStart; + share: SharePluginStart; savedObjects: SavedObjectsServiceStart; uiSettings: UiSettingsServiceStart; elasticsearch: ElasticsearchServiceStart; diff --git a/x-pack/plugins/alerting/server/types.ts b/x-pack/plugins/alerting/server/types.ts index 5bdf65e4c564f..b1b55066836c3 100644 --- a/x-pack/plugins/alerting/server/types.ts +++ b/x-pack/plugins/alerting/server/types.ts @@ -11,6 +11,7 @@ import type { SavedObjectReference, IUiSettingsClient, } from '@kbn/core/server'; +import { DataViewsContract } from '@kbn/data-views-plugin/common'; import { ISearchStartSearchSource } from '@kbn/data-plugin/common'; import { LicenseType } from '@kbn/licensing-plugin/server'; import { @@ -20,6 +21,7 @@ import { Logger, } from '@kbn/core/server'; import type { PublicMethodsOf } from '@kbn/utility-types'; +import { SharePluginStart } from '@kbn/share-plugin/server'; import { RuleTypeRegistry as OrigruleTypeRegistry } from './rule_type_registry'; import { PluginSetupContract, PluginStartContract } from './plugin'; import { RulesClient } from './rules_client'; @@ -84,6 +86,8 @@ export interface RuleExecutorServices< shouldWriteAlerts: () => boolean; shouldStopExecution: () => boolean; ruleMonitoringService?: PublicRuleMonitoringService; + share: SharePluginStart; + dataViews: DataViewsContract; ruleResultService?: PublicRuleResultService; } diff --git a/x-pack/plugins/alerting/tsconfig.json b/x-pack/plugins/alerting/tsconfig.json index 105ed878b0975..a1fb0d3892d2a 100644 --- a/x-pack/plugins/alerting/tsconfig.json +++ b/x-pack/plugins/alerting/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "server/**/*", @@ -13,17 +11,36 @@ "common/*" ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../actions/tsconfig.json" }, - { "path": "../spaces/tsconfig.json" }, - { "path": "../security/tsconfig.json" }, - { "path": "../licensing/tsconfig.json" }, - { "path": "../task_manager/tsconfig.json" }, - { "path": "../event_log/tsconfig.json" }, - { "path": "../encrypted_saved_objects/tsconfig.json" }, - { "path": "../monitoring_collection/tsconfig.json" }, - { "path": "../features/tsconfig.json" }, - { "path": "../../../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_utils/tsconfig.json" } + "@kbn/core", + "@kbn/actions-plugin", + "@kbn/spaces-plugin", + "@kbn/security-plugin", + "@kbn/licensing-plugin", + "@kbn/task-manager-plugin", + "@kbn/event-log-plugin", + "@kbn/encrypted-saved-objects-plugin", + "@kbn/monitoring-collection-plugin", + "@kbn/features-plugin", + "@kbn/usage-collection-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/utility-types", + "@kbn/config-schema", + "@kbn/data-plugin", + "@kbn/i18n", + "@kbn/core-saved-objects-server", + "@kbn/es-query", + "@kbn/logging", + "@kbn/std", + "@kbn/rule-data-utils", + "@kbn/logging-mocks", + "@kbn/core-logging-server-mocks", + "@kbn/core-saved-objects-common", + "@kbn/securitysolution-rules", + "@kbn/apm-utils", + "@kbn/data-views-plugin", + "@kbn/share-plugin", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/apm/common/critical_path/get_critical_path.test.ts b/x-pack/plugins/apm/common/critical_path/get_critical_path.test.ts index 4e5a5a773707f..de6be848b4660 100644 --- a/x-pack/plugins/apm/common/critical_path/get_critical_path.test.ts +++ b/x-pack/plugins/apm/common/critical_path/get_critical_path.test.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, ApmFields, dedot } from '@kbn/apm-synthtrace'; +import { apm, ApmFields, dedot } from '@kbn/apm-synthtrace-client'; import { getWaterfall } from '../../public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_helpers/waterfall_helpers'; import { Span } from '../../typings/es_schemas/ui/span'; import { Transaction } from '../../typings/es_schemas/ui/transaction'; @@ -12,6 +12,8 @@ import { getCriticalPath } from './get_critical_path'; describe('getCriticalPath', () => { function getCriticalPathFromEvents(events: ApmFields[]) { + events = events.filter((event) => event['processor.event'] !== 'metric'); + const entryTransaction = dedot(events[0]!, {}) as Transaction; const waterfall = getWaterfall({ traceItems: { diff --git a/x-pack/plugins/apm/common/service_inventory.ts b/x-pack/plugins/apm/common/service_inventory.ts index 022980b6c8193..8f1583c1fcb99 100644 --- a/x-pack/plugins/apm/common/service_inventory.ts +++ b/x-pack/plugins/apm/common/service_inventory.ts @@ -17,6 +17,7 @@ export interface ServiceListItem { latency?: number | null; transactionErrorRate?: number | null; environments?: string[]; + alertsCount?: number; } export enum ServiceInventoryFieldName { @@ -27,4 +28,5 @@ export enum ServiceInventoryFieldName { Throughput = 'throughput', Latency = 'latency', TransactionErrorRate = 'transactionErrorRate', + AlertsCount = 'alertsCount', } diff --git a/x-pack/plugins/apm/common/utils/field_value_pair_to_kql.ts b/x-pack/plugins/apm/common/utils/field_value_pair_to_kql.ts new file mode 100644 index 0000000000000..e7209265afb05 --- /dev/null +++ b/x-pack/plugins/apm/common/utils/field_value_pair_to_kql.ts @@ -0,0 +1,22 @@ +/* + * 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. + */ + +import { escapeKuery } from '@kbn/es-query'; +import { isEmpty, isNil } from 'lodash'; + +export function fieldValuePairToKql( + field: T, + value: string | boolean | number | undefined | null +) { + if (isNil(value) || isEmpty(value)) { + return []; + } + + const escapedValue = escapeKuery(value.toString()); + + return [`${[field]}: ${escapedValue}`]; +} diff --git a/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.test.ts b/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.test.ts new file mode 100644 index 0000000000000..b6ad94d3cc0bb --- /dev/null +++ b/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.test.ts @@ -0,0 +1,72 @@ +/* + * 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. + */ + +import { getKueryWithMobileFilters } from './get_kuery_with_mobile_filters'; +describe('getKueryWithMobileFilters', () => { + it('should handle empty and undefined values', () => { + const result = getKueryWithMobileFilters({ + kuery: '', + device: 'foo', + osVersion: undefined, + appVersion: '', + netConnectionType: undefined, + }); + expect(result).toBe('device.model.name: foo'); + }); + + it('should return only kuery when mobile filters are missing ', () => { + const result = getKueryWithMobileFilters({ + kuery: 'foo.bar: test', + device: undefined, + osVersion: undefined, + appVersion: undefined, + netConnectionType: undefined, + }); + expect(result).toBe('foo.bar: test'); + }); + + it('should return only mobile filters as KQL when kuery is missing ', () => { + const result = getKueryWithMobileFilters({ + device: 'foo', + osVersion: 'bar', + netConnectionType: 'fooBar', + appVersion: '1.0', + kuery: '', + }); + expect(result).toBe( + 'device.model.name: foo and host.os.version: bar and service.version: 1.0 and network.connection.type: fooBar' + ); + }); + + it('should return mobile filters and kuery as KQL', () => { + const result = getKueryWithMobileFilters({ + kuery: 'foo.bar.test: test', + device: 'foo', + osVersion: 'bar', + netConnectionType: 'fooBar', + appVersion: '1.0', + }); + + expect(result).toBe( + 'foo.bar.test: test and device.model.name: foo and host.os.version: bar and service.version: 1.0 and network.connection.type: fooBar' + ); + }); + + it('should escape mobile filters values', () => { + const result = getKueryWithMobileFilters({ + kuery: 'foo.bar.test: test', + device: 'foo>.', + osVersion: 'bar**', + netConnectionType: 'fooBar)45', + appVersion: '1.0():', + }); + + expect(result).toBe( + 'foo.bar.test: test and device.model.name: foo\\>. and host.os.version: bar\\*\\* and service.version: 1.0\\(\\)\\: and network.connection.type: fooBar\\)45' + ); + }); +}); diff --git a/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.ts b/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.ts new file mode 100644 index 0000000000000..6244b5a72f1f4 --- /dev/null +++ b/x-pack/plugins/apm/common/utils/get_kuery_with_mobile_filters.ts @@ -0,0 +1,40 @@ +/* + * 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. + */ + +import { + HOST_OS_VERSION, + DEVICE_MODEL_NAME, + NETWORK_CONNECTION_TYPE, + SERVICE_VERSION, +} from '../es_fields/apm'; +import { fieldValuePairToKql } from './field_value_pair_to_kql'; + +export function getKueryWithMobileFilters({ + device, + osVersion, + appVersion, + netConnectionType, + kuery, +}: { + device: string | undefined; + osVersion: string | undefined; + appVersion: string | undefined; + netConnectionType: string | undefined; + kuery: string; +}) { + const kueryWithFilters = [ + kuery, + ...fieldValuePairToKql(DEVICE_MODEL_NAME, device), + ...fieldValuePairToKql(HOST_OS_VERSION, osVersion), + ...fieldValuePairToKql(SERVICE_VERSION, appVersion), + ...fieldValuePairToKql(NETWORK_CONNECTION_TYPE, netConnectionType), + ] + .filter(Boolean) + .join(' and '); + + return kueryWithFilters; +} diff --git a/x-pack/plugins/apm/ftr_e2e/cypress.config.ts b/x-pack/plugins/apm/ftr_e2e/cypress.config.ts index bcccae43adc7e..16a0e8effb28a 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress.config.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress.config.ts @@ -5,10 +5,10 @@ * 2.0. */ -import { defineConfig } from 'cypress'; +import { defineCypressConfig } from '@kbn/cypress-config'; import { setupNodeEvents } from './setup_cypress_node_events'; -module.exports = defineConfig({ +export default defineCypressConfig({ projectId: 'omwh6f', fileServerFolder: './cypress', fixturesFolder: './cypress/fixtures', @@ -32,6 +32,5 @@ module.exports = defineConfig({ baseUrl: 'http://localhost:5601', supportFile: './cypress/support/e2e.ts', specPattern: './cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', - experimentalSessionAndOrigin: false, }, }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/infrastructure/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/infrastructure/generate_data.ts index dde70238377a7..2844ce0f55455 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/infrastructure/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/infrastructure/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/integration_settings/integration_policy.cy.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/integration_settings/integration_policy.cy.ts index 528e260940e3c..da9a08339a45c 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/integration_settings/integration_policy.cy.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/integration_settings/integration_policy.cy.ts @@ -5,12 +5,6 @@ * 2.0. */ -const integrationsPoliciesPath = '/app/integrations/detail/apm/policies'; -const policyName = 'apm-integration'; -const description = 'integration description'; -const host = 'myhost:8200'; -const url = 'http://myhost:8200'; - const policyFormFields = [ { selector: 'packagePolicyNameInput', @@ -34,24 +28,6 @@ const policyFormFields = [ }, ]; -const apisToIntercept = [ - { - endpoint: 'api/fleet/agent_policies*', - name: 'fleetAgentPolicies', - method: 'POST', - }, - { - endpoint: 'api/fleet/agent_status*', - name: 'fleetAgentStatus', - method: 'GET', - }, - { - endpoint: 'api/fleet/package_policies', - name: 'fleetPackagePolicies', - method: 'POST', - }, -]; - describe('when navigating to integration page', () => { beforeEach(() => { const integrationsPath = '/app/integrations/browse'; diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/rules/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/rules/generate_data.ts index 880c9d6b59442..e50e334a628de 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/rules/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/rules/generate_data.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_groups/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_groups/generate_data.ts index 970c605dcf278..36c927bf55767 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_groups/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_groups/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_overview/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_overview/generate_data.ts index ab6921b45ea95..a1a0f998ff926 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_overview/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/service_overview/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/agent_configurations.cy.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/agent_configurations.cy.ts index 47f8c537b100c..c5342dc251459 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/agent_configurations.cy.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/agent_configurations.cy.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; import url from 'url'; import { synthtrace } from '../../../../synthtrace'; diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/custom_links.cy.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/custom_links.cy.ts index b680f745609bc..cda6af4cc932c 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/custom_links.cy.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/settings/custom_links.cy.ts @@ -6,6 +6,7 @@ */ const basePath = '/app/apm/settings/custom-links'; + const deleteAllCustomLinks = () => { // delete customLink if exists const kibanaUrl = Cypress.env('KIBANA_URL'); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/errors/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/errors/generate_data.ts index 8f432305f2ba9..1107fbce4251d 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/errors/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/errors/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/generate_data.ts index 3fd41b8a06fd0..1acefe8f71498 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateMultipleServicesData({ from, diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/header_filters/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/header_filters/generate_data.ts index 6467768f75e28..271e49c934ee8 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/header_filters/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_inventory/header_filters/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function generateData({ from, diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_overview/aws_lambda/generate_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_overview/aws_lambda/generate_data.ts index 81d6aabf38165..e64a0c433799f 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_overview/aws_lambda/generate_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/service_overview/aws_lambda/generate_data.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; const dataConfig = { serviceName: 'synth-python', diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/transaction_details/generate_span_links_data.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/transaction_details/generate_span_links_data.ts index d623ea664bc53..c9d52c0968089 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/transaction_details/generate_span_links_data.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/read_only_user/transaction_details/generate_span_links_data.ts @@ -4,9 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, EntityArrayIterable, timerange } from '@kbn/apm-synthtrace'; -import { synthtrace } from '../../../../synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; import { SpanLink } from '../../../../../typings/es_schemas/raw/fields/span_links'; +import { synthtrace } from '../../../../synthtrace'; function getProducerInternalOnly() { const producerInternalOnlyInstance = apm @@ -17,32 +17,34 @@ function getProducerInternalOnly() { }) .instance('instance a'); - const events = timerange( - new Date('2022-01-01T00:00:00.000Z'), - new Date('2022-01-01T00:01:00.000Z') - ) - .interval('1m') - .rate(1) - .generator((timestamp) => { - return producerInternalOnlyInstance - .transaction({ transactionName: `Transaction A` }) - .timestamp(timestamp) - .duration(1000) - .success() - .children( - producerInternalOnlyInstance - .span({ - spanName: `Span A`, - spanType: 'external', - spanSubtype: 'http', - }) - .timestamp(timestamp + 50) - .duration(100) - .success() - ); - }); + const events = Array.from( + timerange( + new Date('2022-01-01T00:00:00.000Z'), + new Date('2022-01-01T00:01:00.000Z') + ) + .interval('1m') + .rate(1) + .generator((timestamp) => { + return producerInternalOnlyInstance + .transaction({ transactionName: `Transaction A` }) + .timestamp(timestamp) + .duration(1000) + .success() + .children( + producerInternalOnlyInstance + .span({ + spanName: `Span A`, + spanType: 'external', + spanSubtype: 'http', + }) + .timestamp(timestamp + 50) + .duration(100) + .success() + ); + }) + ); - const apmFields = events.toArray(); + const apmFields = events.flatMap((event) => event.serialize()); const transactionA = apmFields.find( (item) => item['processor.event'] === 'transaction' ); @@ -63,7 +65,7 @@ function getProducerInternalOnly() { return { ids, spanASpanLink, - apmFields, + events, }; } @@ -76,46 +78,48 @@ function getProducerExternalOnly() { }) .instance('instance b'); - const events = timerange( - new Date('2022-01-01T00:02:00.000Z'), - new Date('2022-01-01T00:03:00.000Z') - ) - .interval('1m') - .rate(1) - .generator((timestamp) => { - return producerExternalOnlyInstance - .transaction({ transactionName: `Transaction B` }) - .timestamp(timestamp) - .duration(1000) - .success() - .children( - producerExternalOnlyInstance - .span({ - spanName: `Span B`, - spanType: 'external', - spanSubtype: 'http', - }) - .defaults({ - 'span.links': [ - { trace: { id: 'trace#1' }, span: { id: 'span#1' } }, - ], - }) - .timestamp(timestamp + 50) - .duration(100) - .success(), - producerExternalOnlyInstance - .span({ - spanName: `Span B.1`, - spanType: 'external', - spanSubtype: 'http', - }) - .timestamp(timestamp + 50) - .duration(100) - .success() - ); - }); + const events = Array.from( + timerange( + new Date('2022-01-01T00:02:00.000Z'), + new Date('2022-01-01T00:03:00.000Z') + ) + .interval('1m') + .rate(1) + .generator((timestamp) => { + return producerExternalOnlyInstance + .transaction({ transactionName: `Transaction B` }) + .timestamp(timestamp) + .duration(1000) + .success() + .children( + producerExternalOnlyInstance + .span({ + spanName: `Span B`, + spanType: 'external', + spanSubtype: 'http', + }) + .defaults({ + 'span.links': [ + { trace: { id: 'trace#1' }, span: { id: 'span#1' } }, + ], + }) + .timestamp(timestamp + 50) + .duration(100) + .success(), + producerExternalOnlyInstance + .span({ + spanName: `Span B.1`, + spanType: 'external', + spanSubtype: 'http', + }) + .timestamp(timestamp + 50) + .duration(100) + .success() + ); + }) + ); - const apmFields = events.toArray(); + const apmFields = events.flatMap((event) => event.serialize()); const transactionB = apmFields.find( (item) => item['processor.event'] === 'transaction' ); @@ -142,7 +146,7 @@ function getProducerExternalOnly() { return { ids, spanBSpanLink, - apmFields, + events, }; } @@ -159,37 +163,39 @@ function getProducerConsumer({ }) .instance('instance c'); - const events = timerange( - new Date('2022-01-01T00:04:00.000Z'), - new Date('2022-01-01T00:05:00.000Z') - ) - .interval('1m') - .rate(1) - .generator((timestamp) => { - return producerConsumerInstance - .transaction({ transactionName: `Transaction C` }) - .defaults({ - 'span.links': producerInternalOnlySpanASpanLink - ? [producerInternalOnlySpanASpanLink] - : [], - }) - .timestamp(timestamp) - .duration(1000) - .success() - .children( - producerConsumerInstance - .span({ - spanName: `Span C`, - spanType: 'external', - spanSubtype: 'http', - }) - .timestamp(timestamp + 50) - .duration(100) - .success() - ); - }); + const events = Array.from( + timerange( + new Date('2022-01-01T00:04:00.000Z'), + new Date('2022-01-01T00:05:00.000Z') + ) + .interval('1m') + .rate(1) + .generator((timestamp) => { + return producerConsumerInstance + .transaction({ transactionName: `Transaction C` }) + .defaults({ + 'span.links': producerInternalOnlySpanASpanLink + ? [producerInternalOnlySpanASpanLink] + : [], + }) + .timestamp(timestamp) + .duration(1000) + .success() + .children( + producerConsumerInstance + .span({ + spanName: `Span C`, + spanType: 'external', + spanSubtype: 'http', + }) + .timestamp(timestamp + 50) + .duration(100) + .success() + ); + }) + ); - const apmFields = events.toArray(); + const apmFields = events.flatMap((event) => event.serialize()); const transactionC = apmFields.find( (item) => item['processor.event'] === 'transaction' ); @@ -221,7 +227,7 @@ function getProducerConsumer({ transactionCSpanLink, spanCSpanLink, ids, - apmFields, + events, }; } @@ -244,50 +250,53 @@ function getConsumerMultiple({ }) .instance('instance d'); - const events = timerange( - new Date('2022-01-01T00:06:00.000Z'), - new Date('2022-01-01T00:07:00.000Z') - ) - .interval('1m') - .rate(1) - .generator((timestamp) => { - return consumerMultipleInstance - .transaction({ transactionName: `Transaction D` }) - .defaults({ - 'span.links': - producerInternalOnlySpanASpanLink && producerConsumerSpanCSpanLink - ? [ - producerInternalOnlySpanASpanLink, - producerConsumerSpanCSpanLink, - ] - : [], - }) - .timestamp(timestamp) - .duration(1000) - .success() - .children( - consumerMultipleInstance - .span({ - spanName: `Span E`, - spanType: 'external', - spanSubtype: 'http', - }) - .defaults({ - 'span.links': - producerExternalOnlySpanBSpanLink && - producerConsumerTransactionCSpanLink - ? [ - producerExternalOnlySpanBSpanLink, - producerConsumerTransactionCSpanLink, - ] - : [], - }) - .timestamp(timestamp + 50) - .duration(100) - .success() - ); - }); - const apmFields = events.toArray(); + const events = Array.from( + timerange( + new Date('2022-01-01T00:06:00.000Z'), + new Date('2022-01-01T00:07:00.000Z') + ) + .interval('1m') + .rate(1) + .generator((timestamp) => { + return consumerMultipleInstance + .transaction({ transactionName: `Transaction D` }) + .defaults({ + 'span.links': + producerInternalOnlySpanASpanLink && producerConsumerSpanCSpanLink + ? [ + producerInternalOnlySpanASpanLink, + producerConsumerSpanCSpanLink, + ] + : [], + }) + .timestamp(timestamp) + .duration(1000) + .success() + .children( + consumerMultipleInstance + .span({ + spanName: `Span E`, + spanType: 'external', + spanSubtype: 'http', + }) + .defaults({ + 'span.links': + producerExternalOnlySpanBSpanLink && + producerConsumerTransactionCSpanLink + ? [ + producerExternalOnlySpanBSpanLink, + producerConsumerTransactionCSpanLink, + ] + : [], + }) + .timestamp(timestamp + 50) + .duration(100) + .success() + ); + }) + ); + + const apmFields = events.flatMap((event) => event.serialize()); const transactionD = apmFields.find( (item) => item['processor.event'] === 'transaction' ); @@ -304,7 +313,7 @@ function getConsumerMultiple({ return { ids, - apmFields, + events, }; } @@ -345,13 +354,12 @@ export function generateSpanLinksData() { producerExternalOnlySpanBSpanLink: producerExternalOnly.spanBSpanLink, }); - synthtrace.index( - new EntityArrayIterable(producerInternalOnly.apmFields).merge( - new EntityArrayIterable(producerExternalOnly.apmFields), - new EntityArrayIterable(producerConsumer.apmFields), - new EntityArrayIterable(producerMultiple.apmFields) - ) - ); + synthtrace.index([ + ...producerInternalOnly.events, + ...producerExternalOnly.events, + ...producerConsumer.events, + ...producerMultiple.events, + ]); return { producerInternalOnlyIds: producerInternalOnly.ids, diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts index bf8802c39f9f8..32ec26776ecda 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, timerange } from '@kbn/apm-synthtrace'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; export function opbeans({ from, to }: { from: number; to: number }) { const range = timerange(from, to); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress_test_runner.ts b/x-pack/plugins/apm/ftr_e2e/cypress_test_runner.ts index eba57b28ec0b9..03b7f6eab6733 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress_test_runner.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress_test_runner.ts @@ -5,27 +5,30 @@ * 2.0. */ -import Url from 'url'; +import { + ApmSynthtraceKibanaClient, + createLogger, + LogLevel, +} from '@kbn/apm-synthtrace'; import cypress from 'cypress'; -import { esTestConfig } from '@kbn/test'; -import { apm, createLogger, LogLevel } from '@kbn/apm-synthtrace'; import path from 'path'; -import { FtrProviderContext } from './ftr_provider_context'; +import Url from 'url'; import { createApmUsers } from '../server/test_helpers/create_apm_users/create_apm_users'; +import { FtrProviderContext } from './ftr_provider_context'; export async function cypressTestRunner({ getService }: FtrProviderContext) { const config = getService('config'); - const kibanaVersion = esTestConfig.getVersion(); + + const username = config.get('servers.elasticsearch.username'); + const password = config.get('servers.elasticsearch.password'); const kibanaUrl = Url.format({ protocol: config.get('servers.kibana.protocol'), hostname: config.get('servers.kibana.hostname'), port: config.get('servers.kibana.port'), + auth: `${username}:${password}`, }); - const username = config.get('servers.elasticsearch.username'); - const password = config.get('servers.elasticsearch.password'); - const esNode = Url.format({ protocol: config.get('servers.elasticsearch.protocol'), port: config.get('servers.elasticsearch.port'), @@ -40,16 +43,20 @@ export async function cypressTestRunner({ getService }: FtrProviderContext) { }); const esRequestTimeout = config.get('timeouts.esRequestTimeout'); - const kibanaClient = new apm.ApmSynthtraceKibanaClient( - createLogger(LogLevel.info) - ); + const kibanaClient = new ApmSynthtraceKibanaClient({ + logger: createLogger(LogLevel.info), + target: kibanaUrl, + }); + + const packageVersion = await kibanaClient.fetchLatestApmPackageVersion(); + + await kibanaClient.installApmPackage(packageVersion); - await kibanaClient.installApmPackage( - kibanaUrl, - kibanaVersion, - username, - password - ); + const kibanaUrlWithoutAuth = Url.format({ + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + port: config.get('servers.kibana.port'), + }); const cypressProjectPath = path.join(__dirname); const { open, ...cypressCliArgs } = getCypressCliArgs(); @@ -59,11 +66,12 @@ export async function cypressTestRunner({ getService }: FtrProviderContext) { project: cypressProjectPath, config: { e2e: { - baseUrl: kibanaUrl, + baseUrl: kibanaUrlWithoutAuth, }, }, env: { - KIBANA_URL: kibanaUrl, + KIBANA_URL: kibanaUrlWithoutAuth, + APM_PACKAGE_VERSION: packageVersion, ES_NODE: esNode, ES_REQUEST_TIMEOUT: esRequestTimeout, TEST_CLOUD: process.env.TEST_CLOUD, diff --git a/x-pack/plugins/apm/ftr_e2e/setup_cypress_node_events.ts b/x-pack/plugins/apm/ftr_e2e/setup_cypress_node_events.ts index 0e3cd47966960..5194a7aa549b2 100644 --- a/x-pack/plugins/apm/ftr_e2e/setup_cypress_node_events.ts +++ b/x-pack/plugins/apm/ftr_e2e/setup_cypress_node_events.ts @@ -5,33 +5,35 @@ * 2.0. */ import { - apm, + ApmSynthtraceEsClient, createLogger, - EntityArrayIterable, LogLevel, } from '@kbn/apm-synthtrace'; import { createEsClientForTesting } from '@kbn/test'; -import { some } from 'lodash'; import del from 'del'; +import { some } from 'lodash'; +import { Readable } from 'stream'; export function setupNodeEvents( on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions ) { + const logger = createLogger(LogLevel.info); + const client = createEsClientForTesting({ esUrl: config.env.ES_NODE, requestTimeout: config.env.ES_REQUEST_TIMEOUT, isCloud: !!config.env.TEST_CLOUD, }); - const synthtraceEsClient = new apm.ApmSynthtraceEsClient( + const synthtraceEsClient = new ApmSynthtraceEsClient({ client, - createLogger(LogLevel.info), - { - forceLegacyIndices: false, - refreshAfterIndex: true, - } - ); + logger, + refreshAfterIndex: true, + version: config.env.APM_PACKAGE_VERSION, + }); + + synthtraceEsClient.pipeline(synthtraceEsClient.getDefaultPipeline(false)); on('task', { // send logs to node process @@ -41,11 +43,11 @@ export function setupNodeEvents( return null; }, - 'synthtrace:index': async (events: Array>) => { - await synthtraceEsClient.index(new EntityArrayIterable(events)); + async 'synthtrace:index'(events: Array>) { + await synthtraceEsClient.index(Readable.from(events)); return null; }, - 'synthtrace:clean': async () => { + async 'synthtrace:clean'() { await synthtraceEsClient.clean(); return null; }, diff --git a/x-pack/plugins/apm/ftr_e2e/synthtrace.ts b/x-pack/plugins/apm/ftr_e2e/synthtrace.ts index a421edea04a6e..75dc9a1e8215f 100644 --- a/x-pack/plugins/apm/ftr_e2e/synthtrace.ts +++ b/x-pack/plugins/apm/ftr_e2e/synthtrace.ts @@ -4,10 +4,19 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import type { EntityIterable } from '@kbn/apm-synthtrace'; +import type { + Serializable, + ApmFields, + SynthtraceGenerator, +} from '@kbn/apm-synthtrace-client'; export const synthtrace = { - index: (events: EntityIterable) => - cy.task('synthtrace:index', events.toArray()), + index: ( + events: SynthtraceGenerator | Array> + ) => + cy.task( + 'synthtrace:index', + Array.from(events).flatMap((event) => event.serialize()) + ), clean: () => cy.task('synthtrace:clean'), }; diff --git a/x-pack/plugins/apm/ftr_e2e/tsconfig.json b/x-pack/plugins/apm/ftr_e2e/tsconfig.json index 6a8ba7e1495ae..b95f24a54d4fb 100644 --- a/x-pack/plugins/apm/ftr_e2e/tsconfig.json +++ b/x-pack/plugins/apm/ftr_e2e/tsconfig.json @@ -8,17 +8,22 @@ "target/**/*" ], "compilerOptions": { - "target": "es2015", "outDir": "target/types", "types": [ "cypress", "node", "cypress-real-events" - ] + ], + "isolatedModules": false }, "kbn_references": [ { "path": "../../../test/tsconfig.json" }, { "path": "../../../../test/tsconfig.json" }, - { "path": "../tsconfig.json" }, + "@kbn/test", + "@kbn/apm-synthtrace", + "@kbn/apm-synthtrace-client", + "@kbn/dev-utils", + "@kbn/axe-config", + "@kbn/cypress-config", ] } diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/error_tabs.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/error_tabs.tsx deleted file mode 100644 index e5f0ba4e834ab..0000000000000 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/error_tabs.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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. - */ - -import { i18n } from '@kbn/i18n'; -import { isEmpty } from 'lodash'; -import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; - -export interface ErrorTab { - key: 'log_stacktrace' | 'exception_stacktrace' | 'metadata'; - label: string; -} - -export const logStacktraceTab: ErrorTab = { - key: 'log_stacktrace', - label: i18n.translate('xpack.apm.propertiesTable.tabs.logStacktraceLabel', { - defaultMessage: 'Log stack trace', - }), -}; - -export const exceptionStacktraceTab: ErrorTab = { - key: 'exception_stacktrace', - label: i18n.translate( - 'xpack.apm.propertiesTable.tabs.exceptionStacktraceLabel', - { - defaultMessage: 'Exception stack trace', - } - ), -}; - -export const metadataTab: ErrorTab = { - key: 'metadata', - label: i18n.translate('xpack.apm.propertiesTable.tabs.metadataLabel', { - defaultMessage: 'Metadata', - }), -}; - -export function getTabs(error: APMError) { - const hasLogStacktrace = !isEmpty(error.error.log?.stacktrace); - return [ - ...(hasLogStacktrace ? [logStacktraceTab] : []), - exceptionStacktraceTab, - metadataTab, - ]; -} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.test.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.test.tsx deleted file mode 100644 index ac38a84bf47d7..0000000000000 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.test.tsx +++ /dev/null @@ -1,168 +0,0 @@ -/* - * 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. - */ - -import { render } from '@testing-library/react'; -import React from 'react'; -import { mockMoment } from '../../../../utils/test_helpers'; -import { DetailView } from '.'; -import { MockApmPluginContextWrapper } from '../../../../context/apm_plugin/mock_apm_plugin_context'; -import { createMemoryHistory } from 'history'; -import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; - -const history = createMemoryHistory({ - initialEntries: [ - '/services/opbeans-java/errors/0000?rangeFrom=now-15m&rangeTo=now', - ], -}); - -function MockContext({ children }: { children: React.ReactElement }) { - return ( - - - {children} - - - ); -} - -function renderWithMockContext(element: React.ReactElement) { - return render(element, { wrapper: MockContext }); -} - -describe('DetailView', () => { - beforeEach(() => { - // Avoid timezone issues - mockMoment(); - }); - - it('should render empty state', () => { - const wrapper = renderWithMockContext( - - ); - expect(wrapper.baseElement.innerHTML).toBe('
'); - }); - - it('should render Discover button', () => { - const errorGroup = { - occurrencesCount: 10, - transaction: undefined, - error: { - timestamp: { - us: 0, - }, - http: { request: { method: 'GET' } }, - url: { full: 'myUrl' }, - service: { name: 'myService' }, - user: { id: 'myUserId' }, - error: { exception: [{ handled: true }] }, - transaction: { id: 'myTransactionId', sampled: true }, - } as any, - }; - - const discoverLink = renderWithMockContext( - - ).getByText(`View 10 occurrences in Discover`); - - expect(discoverLink).toBeInTheDocument(); - }); - - it('should render a Summary', () => { - const errorGroup = { - occurrencesCount: 10, - error: { - service: { - name: 'opbeans-python', - }, - error: {}, - timestamp: { - us: 0, - }, - } as any, - transaction: undefined, - }; - - const rendered = renderWithMockContext( - - ); - - expect( - rendered.getByText('1337 minutes ago (mocking 0)') - ).toBeInTheDocument(); - }); - - it('should render tabs', () => { - const errorGroup = { - occurrencesCount: 10, - transaction: undefined, - error: { - timestamp: { - us: 0, - }, - error: {}, - service: {}, - user: {}, - } as any, - }; - - const rendered = renderWithMockContext( - - ); - - expect(rendered.getByText('Exception stack trace')).toBeInTheDocument(); - - expect(rendered.getByText('Metadata')).toBeInTheDocument(); - }); - - it('should render TabContent', () => { - const errorGroup = { - occurrencesCount: 10, - transaction: undefined, - error: { - service: { - name: 'opbeans-python', - }, - timestamp: { - us: 0, - }, - error: { - exception: [{ handled: true }], - }, - context: {}, - } as any, - }; - const rendered = renderWithMockContext( - - ); - - expect(rendered.getByText('No stack trace available.')).toBeInTheDocument(); - }); - - it('should render without http request info', () => { - const errorGroup = { - occurrencesCount: 10, - transaction: undefined, - error: { - timestamp: { - us: 0, - }, - error: { - exception: [{ handled: true }], - }, - http: { response: { status_code: 404 } }, - url: { full: 'myUrl' }, - service: { name: 'myService' }, - user: { id: 'myUserId' }, - transaction: { id: 'myTransactionId', sampled: true }, - } as any, - }; - expect(() => - renderWithMockContext( - - ) - ).not.toThrowError(); - }); -}); diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx deleted file mode 100644 index 22afb5198a1ca..0000000000000 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx +++ /dev/null @@ -1,263 +0,0 @@ -/* - * 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. - */ - -import { - EuiFlexGroup, - EuiFlexItem, - EuiIcon, - EuiLink, - EuiPanel, - EuiSpacer, - EuiTab, - EuiTabs, - EuiTitle, - EuiToolTip, -} from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { first } from 'lodash'; -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { euiStyled } from '@kbn/kibana-react-plugin/common'; -import type { APIReturnType } from '../../../../services/rest/create_call_apm_api'; -import type { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; -import type { ApmUrlParams } from '../../../../context/url_params_context/types'; -import { TransactionDetailLink } from '../../../shared/links/apm/transaction_detail_link'; -import { DiscoverErrorLink } from '../../../shared/links/discover_links/discover_error_link'; -import { fromQuery, toQuery } from '../../../shared/links/url_helpers'; -import { ErrorMetadata } from '../../../shared/metadata_table/error_metadata'; -import { Stacktrace } from '../../../shared/stacktrace'; -import { Summary } from '../../../shared/summary'; -import { HttpInfoSummaryItem } from '../../../shared/summary/http_info_summary_item'; -import { UserAgentSummaryItem } from '../../../shared/summary/user_agent_summary_item'; -import { TimestampTooltip } from '../../../shared/timestamp_tooltip'; -import { - ErrorTab, - exceptionStacktraceTab, - getTabs, - logStacktraceTab, -} from './error_tabs'; -import { ExceptionStacktrace } from './exception_stacktrace'; -import { useApmRouter } from '../../../../hooks/use_apm_router'; -import { useApmParams } from '../../../../hooks/use_apm_params'; -import { ERROR_GROUP_ID } from '../../../../../common/es_fields/apm'; -import { TraceSearchType } from '../../../../../common/trace_explorer'; -import { TransactionTab } from '../../transaction_details/waterfall_with_summary/transaction_tabs'; -import { useTraceExplorerEnabledSetting } from '../../../../hooks/use_trace_explorer_enabled_setting'; - -const TransactionLinkName = euiStyled.div` - margin-left: ${({ theme }) => theme.eui.euiSizeS}; - display: inline-block; - vertical-align: middle; -`; - -interface Props { - errorGroup: APIReturnType<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>; - urlParams: ApmUrlParams; - kuery: string; -} - -// TODO: Move query-string-based tabs into a re-usable component? -function getCurrentTab( - tabs: ErrorTab[] = [], - currentTabKey: string | undefined -): ErrorTab | {} { - const selectedTab = tabs.find(({ key }) => key === currentTabKey); - return selectedTab ? selectedTab : first(tabs) || {}; -} - -export function DetailView({ errorGroup, urlParams, kuery }: Props) { - const history = useHistory(); - const { transaction, error, occurrencesCount } = errorGroup; - - const { detailTab, offset, comparisonEnabled } = urlParams; - - const router = useApmRouter(); - - const isTraceExplorerEnabled = useTraceExplorerEnabledSetting(); - - const { - path: { groupId }, - query, - } = useApmParams('/services/{serviceName}/errors/{groupId}'); - - if (!error) { - return null; - } - - const tabs = getTabs(error); - const currentTab = getCurrentTab(tabs, detailTab) as ErrorTab; - - const errorUrl = error.error.page?.url || error.url?.full; - - const method = error.http?.request?.method; - const status = error.http?.response?.status_code; - - const traceExplorerLink = router.link('/traces/explorer/waterfall', { - query: { - ...query, - showCriticalPath: false, - query: `${ERROR_GROUP_ID}:${groupId}`, - type: TraceSearchType.kql, - traceId: '', - transactionId: '', - waterfallItemId: '', - detailTab: TransactionTab.timeline, - }, - }); - - return ( - - - - -

- {i18n.translate( - 'xpack.apm.errorGroupDetails.errorOccurrenceTitle', - { - defaultMessage: 'Error occurrence', - } - )} -

-
-
- {isTraceExplorerEnabled && ( - - - - - - - - {i18n.translate( - 'xpack.apm.errorGroupDetails.viewOccurrencesInTraceExplorer', - { - defaultMessage: 'Explore traces with this error', - } - )} - - - - - )} - - - - - - - - {i18n.translate( - 'xpack.apm.errorGroupDetails.viewOccurrencesInDiscoverButtonLabel', - { - defaultMessage: - 'View {occurrencesCount} {occurrencesCount, plural, one {occurrence} other {occurrences}} in Discover', - values: { occurrencesCount }, - } - )} - - - - -
- - , - errorUrl && method ? ( - - ) : null, - transaction && transaction.user_agent ? ( - - ) : null, - transaction && ( - - - - - {transaction.transaction.name} - - - - ), - ]} - /> - - - - - {tabs.map(({ key, label }) => { - return ( - { - history.replace({ - ...history.location, - search: fromQuery({ - ...toQuery(history.location.search), - detailTab: key, - }), - }); - }} - isSelected={currentTab.key === key} - key={key} - > - {label} - - ); - })} - - - - - ); -} - -function TabContent({ - error, - currentTab, -}: { - error: APMError; - currentTab: ErrorTab; -}) { - const codeLanguage = error.service.language?.name; - const exceptions = error.error.exception || []; - const logStackframes = error.error.log?.stacktrace; - - switch (currentTab.key) { - case logStacktraceTab.key: - return ( - - ); - case exceptionStacktraceTab.key: - return ( - - ); - default: - return ; - } -} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_sample_detail.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_sample_detail.tsx new file mode 100644 index 0000000000000..5366f467826c0 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_sample_detail.tsx @@ -0,0 +1,376 @@ +/* + * 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. + */ + +import { + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiLink, + EuiPanel, + EuiSpacer, + EuiTab, + EuiTabs, + EuiTitle, + EuiToolTip, + EuiEmptyPrompt, + EuiPagination, + EuiLoadingContent, + EuiBadge, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { first } from 'lodash'; +import React, { useEffect, useState } from 'react'; +import { useHistory } from 'react-router-dom'; +import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import { TransactionDetailLink } from '../../../shared/links/apm/transaction_detail_link'; +import { DiscoverErrorLink } from '../../../shared/links/discover_links/discover_error_link'; +import { fromQuery, toQuery } from '../../../shared/links/url_helpers'; +import { ErrorMetadata } from '../../../shared/metadata_table/error_metadata'; +import { Stacktrace } from '../../../shared/stacktrace'; +import { Summary } from '../../../shared/summary'; +import { HttpInfoSummaryItem } from '../../../shared/summary/http_info_summary_item'; +import { UserAgentSummaryItem } from '../../../shared/summary/user_agent_summary_item'; +import { TimestampTooltip } from '../../../shared/timestamp_tooltip'; +import { + ErrorTab, + exceptionStacktraceTab, + getTabs, + logStacktraceTab, +} from './error_tabs'; +import { ExceptionStacktrace } from './exception_stacktrace'; +import { useApmRouter } from '../../../../hooks/use_apm_router'; +import { useApmParams } from '../../../../hooks/use_apm_params'; +import { ERROR_GROUP_ID } from '../../../../../common/es_fields/apm'; +import { TraceSearchType } from '../../../../../common/trace_explorer'; +import { TransactionTab } from '../../transaction_details/waterfall_with_summary/transaction_tabs'; +import { useTraceExplorerEnabledSetting } from '../../../../hooks/use_trace_explorer_enabled_setting'; +import { FETCH_STATUS, isPending } from '../../../../hooks/use_fetcher'; +import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; +import { APIReturnType } from '../../../../services/rest/create_call_apm_api'; +import { useLegacyUrlParams } from '../../../../context/url_params_context/use_url_params'; +import { SampleSummary } from './sample_summary'; + +const TransactionLinkName = euiStyled.div` + margin-left: ${({ theme }) => theme.eui.euiSizeS}; + display: inline-block; + vertical-align: middle; +`; + +interface Props { + onSampleClick: (sample: string) => void; + errorSampleIds: string[]; + errorSamplesFetchStatus: FETCH_STATUS; + errorData: APIReturnType<'GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}'>; + errorFetchStatus: FETCH_STATUS; + occurrencesCount: number; +} + +function getCurrentTab( + tabs: ErrorTab[] = [], + currentTabKey: string | undefined +): ErrorTab | {} { + const selectedTab = tabs.find(({ key }) => key === currentTabKey); + return selectedTab ?? (first(tabs) || {}); +} + +export function ErrorSampleDetails({ + onSampleClick, + errorSampleIds, + errorSamplesFetchStatus, + errorData, + errorFetchStatus, + occurrencesCount, +}: Props) { + const [sampleActivePage, setSampleActivePage] = useState(0); + const history = useHistory(); + const { + urlParams: { detailTab, offset, comparisonEnabled }, + } = useLegacyUrlParams(); + + const router = useApmRouter(); + + const isTraceExplorerEnabled = useTraceExplorerEnabledSetting(); + + const { + path: { groupId }, + query, + } = useApmParams('/services/{serviceName}/errors/{groupId}'); + + const { kuery } = query; + + const loadingErrorSamplesData = isPending(errorSamplesFetchStatus); + const loadingErrorData = isPending(errorFetchStatus); + const isLoading = loadingErrorSamplesData || loadingErrorData; + + const isSucceded = + errorSamplesFetchStatus === FETCH_STATUS.SUCCESS && + errorFetchStatus === FETCH_STATUS.SUCCESS; + + useEffect(() => { + setSampleActivePage(0); + }, [errorSampleIds]); + + const goToSample = (index: number) => { + const sample = errorSampleIds[index]; + setSampleActivePage(index); + onSampleClick(sample); + }; + + const { error, transaction } = errorData; + + if (!error && errorSampleIds?.length === 0 && isSucceded) { + return ( + + {i18n.translate('xpack.apm.errorSampleDetails.sampleNotFound', { + defaultMessage: 'The selected error cannot be found', + })} +
+ } + titleSize="s" + /> + ); + } + + const tabs = getTabs(error); + const currentTab = getCurrentTab(tabs, detailTab) as ErrorTab; + + const errorUrl = error.error.page?.url || error.url?.full; + const method = error.http?.request?.method; + const status = error.http?.response?.status_code; + const environment = error.service.environment; + const serviceVersion = error.service.version; + const isUnhandled = error.error.exception?.[0].handled === false; + + const traceExplorerLink = router.link('/traces/explorer/waterfall', { + query: { + ...query, + showCriticalPath: false, + query: `${ERROR_GROUP_ID}:${groupId}`, + type: TraceSearchType.kql, + traceId: '', + transactionId: '', + waterfallItemId: '', + detailTab: TransactionTab.timeline, + }, + }); + + return ( + + + + +

+ {i18n.translate( + 'xpack.apm.errorSampleDetails.errorOccurrenceTitle', + { + defaultMessage: 'Error sample', + } + )} +

+
+
+ + {!!errorSampleIds?.length && ( + + )} + + {isTraceExplorerEnabled && ( + + + + + + + + {i18n.translate( + 'xpack.apm.errorSampleDetails.viewOccurrencesInTraceExplorer', + { + defaultMessage: 'Explore traces with this error', + } + )} + + + + + )} + + + + + + + + {i18n.translate( + 'xpack.apm.errorSampleDetails.viewOccurrencesInDiscoverButtonLabel', + { + defaultMessage: + 'View {occurrencesCount} {occurrencesCount, plural, one {occurrence} other {occurrences}} in Discover', + values: { occurrencesCount }, + } + )} + + + + +
+ + {isLoading ? ( + + + + + ) : ( + , + errorUrl && method ? ( + + ) : null, + transaction && transaction.user_agent ? ( + + ) : null, + transaction && ( + + + + + {transaction.transaction.name} + + + + ), + environment ? ( + + {environment} + + ) : null, + serviceVersion ? ( + + {serviceVersion} + + ) : null, + isUnhandled ? ( + + {i18n.translate('xpack.apm.errorGroupDetails.unhandledLabel', { + defaultMessage: 'Unhandled', + })} + + ) : null, + ]} + /> + )} + + + {isLoading ? ( + + + + + ) : ( + + )} + + + {tabs.map(({ key, label }) => { + return ( + { + history.replace({ + ...history.location, + search: fromQuery({ + ...toQuery(history.location.search), + detailTab: key, + }), + }); + }} + isSelected={currentTab.key === key} + key={key} + > + {label} + + ); + })} + + + {isLoading || !error ? ( + + ) : ( + + )} + + ); +} + +function TabContent({ + error, + currentTab, +}: { + error: APMError; + currentTab: ErrorTab; +}) { + const codeLanguage = error?.service.language?.name; + const exceptions = error?.error.exception || []; + const logStackframes = error?.error.log?.stacktrace; + + switch (currentTab.key) { + case logStacktraceTab.key: + return ( + + ); + case exceptionStacktraceTab.key: + return ( + + ); + default: + return ; + } +} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_tabs.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_tabs.tsx new file mode 100644 index 0000000000000..d6d487b730cad --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/error_tabs.tsx @@ -0,0 +1,45 @@ +/* + * 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. + */ + +import { i18n } from '@kbn/i18n'; +import { isEmpty } from 'lodash'; +import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; + +export interface ErrorTab { + key: 'log_stacktrace' | 'exception_stacktrace' | 'metadata' | 'summary'; + label: string; +} + +export const logStacktraceTab: ErrorTab = { + key: 'log_stacktrace', + label: i18n.translate('xpack.apm.errorGroup.tabs.logStacktraceLabel', { + defaultMessage: 'Log stack trace', + }), +}; + +export const exceptionStacktraceTab: ErrorTab = { + key: 'exception_stacktrace', + label: i18n.translate('xpack.apm.errorGroup.tabs.exceptionStacktraceLabel', { + defaultMessage: 'Exception stack trace', + }), +}; + +export const metadataTab: ErrorTab = { + key: 'metadata', + label: i18n.translate('xpack.apm.errorGroup.tabs.metadataLabel', { + defaultMessage: 'Metadata', + }), +}; + +export function getTabs(error: APMError) { + const hasLogStacktrace = !isEmpty(error?.error.log?.stacktrace); + return [ + ...(hasLogStacktrace ? [logStacktraceTab] : []), + exceptionStacktraceTab, + metadataTab, + ]; +} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.stories.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.stories.tsx similarity index 100% rename from x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.stories.tsx rename to x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.stories.tsx diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.test.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.test.tsx similarity index 100% rename from x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.test.tsx rename to x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.test.tsx diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.tsx similarity index 100% rename from x-pack/plugins/apm/public/components/app/error_group_details/detail_view/exception_stacktrace.tsx rename to x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/exception_stacktrace.tsx diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/index.tsx new file mode 100644 index 0000000000000..e5b13aa0df213 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/index.tsx @@ -0,0 +1,99 @@ +/* + * 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. + */ +import { EuiLoadingSpinner } from '@elastic/eui'; +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import { fromQuery, toQuery } from '../../../shared/links/url_helpers'; +import { useApmParams } from '../../../../hooks/use_apm_params'; +import { + FETCH_STATUS, + isPending, + useFetcher, +} from '../../../../hooks/use_fetcher'; +import { useTimeRange } from '../../../../hooks/use_time_range'; +import { useApmServiceContext } from '../../../../context/apm_service/use_apm_service_context'; +import { ErrorSampleDetails } from './error_sample_detail'; + +interface Props { + errorSampleIds: string[]; + errorSamplesFetchStatus: FETCH_STATUS; + occurrencesCount: number; +} + +export function ErrorSampler({ + errorSampleIds, + errorSamplesFetchStatus, + occurrencesCount, +}: Props) { + const history = useHistory(); + + const { serviceName } = useApmServiceContext(); + + const { + path: { groupId }, + query, + } = useApmParams('/services/{serviceName}/errors/{groupId}'); + + const { rangeFrom, rangeTo, environment, kuery, errorId } = query; + + const { start, end } = useTimeRange({ rangeFrom, rangeTo }); + + const { data: errorData, status: errorFetchStatus } = useFetcher( + (callApmApi) => { + if (start && end && errorId) { + return callApmApi( + 'GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}', + { + params: { + path: { + serviceName, + groupId, + errorId, + }, + query: { + environment, + kuery, + start, + end, + }, + }, + } + ); + } + }, + [environment, kuery, serviceName, start, end, groupId, errorId] + ); + const onSampleClick = (sample: string) => { + history.push({ + ...history.location, + search: fromQuery({ + ...toQuery(history.location.search), + errorId: sample, + }), + }); + }; + const loadingErrorSamplesData = isPending(errorSamplesFetchStatus); + + if (loadingErrorSamplesData || !errorData) { + return ( +
+ +
+ ); + } + + return ( + + ); +} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/sample_summary.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/sample_summary.tsx new file mode 100644 index 0000000000000..01fe2505d8b38 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/error_group_details/error_sampler/sample_summary.tsx @@ -0,0 +1,68 @@ +/* + * 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. + */ +import { EuiText, EuiSpacer, EuiCodeBlock } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; +import { NOT_AVAILABLE_LABEL } from '../../../../../common/i18n'; + +const Label = euiStyled.div` + margin-bottom: ${({ theme }) => theme.eui.euiSizeXS}; + font-size: ${({ theme }) => theme.eui.euiFontSizeS}; + color: ${({ theme }) => theme.eui.euiColorDarkestShade}; +`; + +interface Props { + error: APMError; +} +export function SampleSummary({ error }: Props) { + const logMessage = error.error.log?.message; + const excMessage = error.error.exception?.[0].message; + const culprit = error.error.culprit; + + return ( + <> + {logMessage && ( + <> + + + + + {logMessage} + + + )} + + + + + + {excMessage || NOT_AVAILABLE_LABEL} + + + + + + + {culprit || NOT_AVAILABLE_LABEL} + + + ); +} diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx index dcde173bffb11..f80d5f741df44 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx @@ -11,48 +11,31 @@ import { EuiFlexItem, EuiPanel, EuiSpacer, - EuiText, EuiTitle, - EuiHorizontalRule, + EuiLoadingSpinner, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import React from 'react'; -import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import React, { useEffect } from 'react'; +import { omit } from 'lodash'; +import { useHistory } from 'react-router-dom'; import { NOT_AVAILABLE_LABEL } from '../../../../common/i18n'; import { useApmServiceContext } from '../../../context/apm_service/use_apm_service_context'; import { useBreadcrumb } from '../../../context/breadcrumbs/use_breadcrumb'; -import { useLegacyUrlParams } from '../../../context/url_params_context/use_url_params'; import { useApmParams } from '../../../hooks/use_apm_params'; import { useApmRouter } from '../../../hooks/use_apm_router'; import { useErrorGroupDistributionFetcher } from '../../../hooks/use_error_group_distribution_fetcher'; -import { useFetcher } from '../../../hooks/use_fetcher'; +import { + FETCH_STATUS, + isPending, + useFetcher, +} from '../../../hooks/use_fetcher'; import { useTimeRange } from '../../../hooks/use_time_range'; import type { APIReturnType } from '../../../services/rest/create_call_apm_api'; -import { DetailView } from './detail_view'; +import { ErrorSampler } from './error_sampler'; import { ErrorDistribution } from './distribution'; import { TopErroneousTransactions } from './top_erroneous_transactions'; - -const Titles = euiStyled.div` - margin-bottom: ${({ theme }) => theme.eui.euiSizeL}; -`; - -const Label = euiStyled.div` - margin-bottom: ${({ theme }) => theme.eui.euiSizeXS}; - font-size: ${({ theme }) => theme.eui.euiFontSizeXS}; - color: ${({ theme }) => theme.eui.euiColorDarkShade}; -`; - -const Message = euiStyled.div` - font-family: ${({ theme }) => theme.eui.euiCodeFontFamily}; - font-weight: bold; - font-size: ${({ theme }) => theme.eui.euiFontSizeM}; - margin-bottom: ${({ theme }) => theme.eui.euiSizeS}; -`; - -const Culprit = euiStyled.div` - font-family: ${({ theme }) => theme.eui.euiCodeFontFamily}; - margin-bottom: ${({ theme }) => theme.eui.euiSizeS}; -`; +import { maybe } from '../../../../common/utils/maybe'; +import { fromQuery, toQuery } from '../../shared/links/url_helpers'; type ErrorDistributionAPIResponse = APIReturnType<'GET /internal/apm/services/{serviceName}/errors/distribution'>; @@ -73,10 +56,10 @@ function getShortGroupId(errorGroupId?: string) { function ErrorGroupHeader({ groupId, - isUnhandled, + occurrencesCount, }: { groupId: string; - isUnhandled?: boolean; + occurrencesCount?: number; }) { return ( @@ -92,26 +75,23 @@ function ErrorGroupHeader({ - - {isUnhandled && ( - - - {i18n.translate('xpack.apm.errorGroupDetails.unhandledLabel', { - defaultMessage: 'Unhandled', - })} - - - )} + + + {i18n.translate('xpack.apm.errorGroupDetails.occurrencesLabel', { + defaultMessage: '{occurrencesCount} occ', + values: { occurrencesCount }, + })} + + ); } export function ErrorGroupDetails() { - const { urlParams } = useLegacyUrlParams(); - const { serviceName } = useApmServiceContext(); const apmRouter = useApmRouter(); + const history = useHistory(); const { path: { groupId }, @@ -122,6 +102,7 @@ export function ErrorGroupDetails() { kuery, serviceGroup, comparisonEnabled, + errorId, }, } = useApmParams('/services/{serviceName}/errors/{groupId}'); @@ -158,105 +139,92 @@ export function ErrorGroupDetails() { ] ); - const { data: errorGroupData } = useFetcher( - (callApmApi) => { - if (start && end) { - return callApmApi( - 'GET /internal/apm/services/{serviceName}/errors/{groupId}', - { - params: { - path: { - serviceName, - groupId, - }, - query: { - environment, - kuery, - start, - end, + const { data: errorSamplesData, status: errorSamplesFetchStatus } = + useFetcher( + (callApmApi) => { + if (start && end) { + return callApmApi( + 'GET /internal/apm/services/{serviceName}/errors/{groupId}/samples', + { + params: { + path: { + serviceName, + groupId, + }, + query: { + environment, + kuery, + start, + end, + }, }, - }, - } - ); - } - }, - [environment, kuery, serviceName, start, end, groupId] - ); - - const { errorDistributionData, status } = useErrorGroupDistributionFetcher({ - serviceName, - groupId, - environment, - kuery, - }); + } + ); + } + }, + [environment, kuery, serviceName, start, end, groupId] + ); + + const { errorDistributionData, status: errorDistributionStatus } = + useErrorGroupDistributionFetcher({ + serviceName, + groupId, + environment, + kuery, + }); + + useEffect(() => { + const selectedSample = errorSamplesData?.errorSampleIds.find( + (sample) => sample === errorId + ); + + if (errorSamplesFetchStatus === FETCH_STATUS.SUCCESS && !selectedSample) { + // selected sample was not found. select a new one: + const selectedErrorId = maybe(errorSamplesData?.errorSampleIds[0]); + + history.replace({ + ...history.location, + search: fromQuery({ + ...omit(toQuery(history.location.search), ['errorId']), + errorId: selectedErrorId, + }), + }); + } + }, [history, errorId, errorSamplesData, errorSamplesFetchStatus]); + + const loadingDistributionData = isPending(errorDistributionStatus); + const loadingErrorSamplesData = isPending(errorSamplesFetchStatus); + + if (loadingDistributionData && loadingErrorSamplesData) { + return ( +
+ +
+ ); + } - if (!errorGroupData || !errorDistributionData) { + if (!errorDistributionData || !errorSamplesData) { return ; } - // If there are 0 occurrences, show only distribution chart w. empty message - const showDetails = errorGroupData.occurrencesCount !== 0; - const logMessage = errorGroupData.error?.error.log?.message; - const excMessage = errorGroupData.error?.error.exception?.[0].message; - const culprit = errorGroupData.error?.error.culprit; - const isUnhandled = - errorGroupData.error?.error.exception?.[0].handled === false; + // If there are 0 occurrences, show only charts w. empty message + const showDetails = errorSamplesData.occurrencesCount !== 0; return ( <> - + - - {showDetails && ( - - - {logMessage && ( - <> - - {logMessage} - - )} - - {excMessage || NOT_AVAILABLE_LABEL} - - {culprit || NOT_AVAILABLE_LABEL} - - - {errorGroupData.occurrencesCount} - - - - )} {showDetails && ( - )} diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/index.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/index.tsx index 440ff386fe83b..56e13d6e41bf0 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/index.tsx @@ -41,6 +41,7 @@ import { ServiceOverviewDependenciesTable } from '../../service_overview/service import { AggregatedTransactionsBadge } from '../../../shared/aggregated_transactions_badge'; import { LatencyChart } from '../../../shared/charts/latency_chart'; import { useFiltersForEmbeddableCharts } from '../../../../hooks/use_filters_for_embeddable_charts'; +import { getKueryWithMobileFilters } from '../../../../../common/utils/get_kuery_with_mobile_filters'; /** * The height a chart should be if it's next to a table with 5 rows and a title. * Add the height of the pagination row. @@ -50,13 +51,30 @@ export const chartHeight = 288; export function MobileServiceOverview() { const { serviceName, fallbackToTransactions } = useApmServiceContext(); const router = useApmRouter(); - const filters = useFiltersForEmbeddableCharts(); + const embeddableFilters = useFiltersForEmbeddableCharts(); const { query, - query: { environment, kuery, rangeFrom, rangeTo }, + query: { + environment, + kuery, + rangeFrom, + rangeTo, + device, + osVersion, + appVersion, + netConnectionType, + }, } = useApmParams('/mobile-services/{serviceName}/overview'); + const kueryWithMobileFilters = getKueryWithMobileFilters({ + device, + osVersion, + appVersion, + netConnectionType, + kuery, + }); + const { start, end } = useTimeRange({ rangeFrom, rangeTo }); const dependenciesLink = router.link('/services/{serviceName}/dependencies', { path: { @@ -88,11 +106,6 @@ export function MobileServiceOverview() { > - {fallbackToTransactions && ( - - - - )} @@ -128,11 +141,21 @@ export function MobileServiceOverview() { + {fallbackToTransactions && ( + + + + )} - + @@ -163,8 +186,8 @@ export function MobileServiceOverview() { metric={DEVICE_MODEL_NAME} start={start} end={end} - kuery={kuery} - filters={filters} + kuery={kueryWithMobileFilters} + filters={embeddableFilters} /> {/* NCT */} @@ -179,8 +202,8 @@ export function MobileServiceOverview() { metric={NETWORK_CONNECTION_TYPE} start={start} end={end} - kuery={kuery} - filters={filters} + kuery={kueryWithMobileFilters} + filters={embeddableFilters} /> @@ -197,8 +220,8 @@ export function MobileServiceOverview() { metric={HOST_OS_VERSION} start={start} end={end} - kuery={kuery} - filters={filters} + kuery={kueryWithMobileFilters} + filters={embeddableFilters} /> {/* App version */} @@ -213,8 +236,8 @@ export function MobileServiceOverview() { metric={SERVICE_VERSION} start={start} end={end} - kuery={kuery} - filters={filters} + kuery={kueryWithMobileFilters} + filters={embeddableFilters} /> @@ -224,7 +247,10 @@ export function MobileServiceOverview() { - + @@ -236,13 +262,13 @@ export function MobileServiceOverview() { diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.test.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.test.tsx index 5b1b2d1e74462..78afdb121df48 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.test.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.test.tsx @@ -36,7 +36,11 @@ describe('Embedded Map', () => { > - + diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.tsx index 3760d146de326..6cabc18e2aa62 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/embedded_map.tsx @@ -25,15 +25,17 @@ import { EuiText } from '@elastic/eui'; import type { Filter } from '@kbn/es-query'; import { ApmPluginStartDeps } from '../../../../../plugin'; import { getLayerList } from './get_layer_list'; -import { useApmParams } from '../../../../../hooks/use_apm_params'; -import { useTimeRange } from '../../../../../hooks/use_time_range'; - -function EmbeddedMapComponent({ filters }: { filters: Filter[] }) { - const { - query: { rangeFrom, rangeTo, kuery }, - } = useApmParams('/mobile-services/{serviceName}/overview'); - - const { start, end } = useTimeRange({ rangeFrom, rangeTo }); +function EmbeddedMapComponent({ + start, + end, + kuery = '', + filters, +}: { + start: string; + end: string; + kuery?: string; + filters: Filter[]; +}) { const [error, setError] = useState(); const [embeddable, setEmbeddable] = useState< diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/index.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/index.tsx index 8a5917bd861b6..2bc0e18bf04cc 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/index.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/latency_map/index.tsx @@ -11,7 +11,17 @@ import { i18n } from '@kbn/i18n'; import type { Filter } from '@kbn/es-query'; import { EmbeddedMap } from './embedded_map'; -export function LatencyMap({ filters }: { filters: Filter[] }) { +export function LatencyMap({ + start, + end, + kuery, + filters, +}: { + start: string; + end: string; + kuery?: string; + filters: Filter[]; +}) { return ( <> @@ -22,7 +32,7 @@ export function LatencyMap({ filters }: { filters: Filter[] }) { - + ); } diff --git a/x-pack/plugins/apm/public/components/app/mobile/transaction_overview/index.tsx b/x-pack/plugins/apm/public/components/app/mobile/transaction_overview/index.tsx index 44b37a6c9a620..e361066264668 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/transaction_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/transaction_overview/index.tsx @@ -21,18 +21,31 @@ import { AggregatedTransactionsBadge } from '../../../shared/aggregated_transact import { MobileTransactionCharts } from '../../../shared/charts/transaction_charts/mobile_transaction_charts'; import { TransactionsTable } from '../../../shared/transactions_table'; import { replace } from '../../../shared/links/url_helpers'; +import { getKueryWithMobileFilters } from '../../../../../common/utils/get_kuery_with_mobile_filters'; export function MobileTransactionOverview() { const { query: { environment, - kuery, rangeFrom, rangeTo, transactionType: transactionTypeFromUrl, + device, + osVersion, + appVersion, + netConnectionType, + kuery, }, } = useApmParams('/mobile-services/{serviceName}/transactions'); + const kueryWithFilters = getKueryWithMobileFilters({ + device, + osVersion, + appVersion, + netConnectionType, + kuery, + }); + const { start, end } = useTimeRange({ rangeFrom, rangeTo }); const { transactionType, fallbackToTransactions } = useApmServiceContext(); @@ -60,7 +73,7 @@ export function MobileTransactionOverview() { )} { if (serviceGroups.length) { return callApmApi('GET /internal/apm/service-group/counts'); @@ -53,6 +53,7 @@ export function ServiceGroupsList() { ); const isLoading = isPending(status); + const isLoadingStats = isPending(statsStatus); const filteredItems = isEmpty(filter) ? serviceGroups @@ -192,7 +193,7 @@ export function ServiceGroupsList() { ) : ( - {serviceGroupCounts?.alerts && ( -
- - {i18n.translate('xpack.apm.serviceGroups.cardsList.alertCount', { - defaultMessage: - '{alertsCount} {alertsCount, plural, one {alert} other {alerts}}', - values: { alertsCount: serviceGroupCounts.alerts }, - })} - - -
- )}
- {!hideServiceCount && ( - - - {serviceGroupCounts === undefined ? ( - <>  - ) : ( - i18n.translate( - 'xpack.apm.serviceGroups.cardsList.serviceCount', + + + + + {serviceGroupCounts !== undefined && + i18n.translate( + 'xpack.apm.serviceGroups.cardsList.serviceCount', + { + defaultMessage: + '{servicesCount} {servicesCount, plural, one {service} other {services}}', + values: { servicesCount: serviceGroupCounts.services }, + } + )} + + + + + {serviceGroupCounts && serviceGroupCounts.alerts > 0 && ( + + {i18n.translate( + 'xpack.apm.serviceGroups.cardsList.alertCount', { defaultMessage: - '{servicesCount} {servicesCount, plural, one {service} other {services}}', - values: { servicesCount: serviceGroupCounts.services }, + '{alertsCount} {alertsCount, plural, one {alert} other {alerts}}', + values: { alertsCount: serviceGroupCounts.alerts }, } - ) - )} - - - )} + )} + + )} + + ), href, diff --git a/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_groups_list.tsx b/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_groups_list.tsx index 2975e2795c261..ba44a51020f55 100644 --- a/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_groups_list.tsx +++ b/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_groups_list.tsx @@ -19,7 +19,11 @@ interface Props { isLoading: boolean; } -export function ServiceGroupsListItems({ items, serviceGroupCounts }: Props) { +export function ServiceGroupsListItems({ + items, + serviceGroupCounts, + isLoading, +}: Props) { const router = useApmRouter(); const { query } = useApmParams('/service-groups'); @@ -40,6 +44,7 @@ export function ServiceGroupsListItems({ items, serviceGroupCounts }: Props) { kuery: '', }, })} + isLoading={isLoading} /> ))} diff --git a/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_stat.tsx b/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_stat.tsx new file mode 100644 index 0000000000000..75a6282fa02b9 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_groups/service_groups_list/service_stat.tsx @@ -0,0 +1,30 @@ +/* + * 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. + */ + +import { EuiFlexItem, EuiLoadingContent } from '@elastic/eui'; +import React, { PropsWithChildren } from 'react'; + +interface Props { + loading: boolean; + grow?: boolean; +} + +export function ServiceStat({ + loading, + grow = true, + children, +}: PropsWithChildren) { + return ( + + {loading ? ( + + ) : ( + <>{children} + )} + + ); +} diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx index a0cd0327fd12b..b6c490b32e7a4 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx @@ -202,6 +202,10 @@ export function ServiceInventory() { ...preloadedServices, ].some((item) => 'healthStatus' in item); + const displayAlerts = [...mainStatisticsItems, ...preloadedServices].some( + (item) => ServiceInventoryFieldName.AlertsCount in item + ); + const useOptimizedSorting = useKibana().services.uiSettings?.get( apmServiceInventoryOptimizedSorting @@ -298,6 +302,7 @@ export function ServiceInventory() { comparisonFetch.status === FETCH_STATUS.LOADING } displayHealthStatus={displayHealthStatus} + displayAlerts={displayAlerts} initialSortField={initialSortField} initialSortDirection={initialSortDirection} sortFn={(itemsToSort, sortField, sortDirection) => { diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/index.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/index.tsx index eb807574d28ae..9cf1d9a62cc62 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/index.tsx @@ -6,6 +6,7 @@ */ import { + EuiBadge, EuiFlexGroup, EuiFlexItem, EuiIcon, @@ -18,6 +19,10 @@ import { TypeOf } from '@kbn/typed-react-router-config'; import React, { useMemo } from 'react'; import { NOT_AVAILABLE_LABEL } from '../../../../../common/i18n'; import { ServiceHealthStatus } from '../../../../../common/service_health_status'; +import { + ServiceInventoryFieldName, + ServiceListItem, +} from '../../../../../common/service_inventory'; import { TRANSACTION_PAGE_LOAD, TRANSACTION_REQUEST, @@ -28,26 +33,23 @@ import { asTransactionRate, } from '../../../../../common/utils/formatters'; import { useApmParams } from '../../../../hooks/use_apm_params'; +import { useApmRouter } from '../../../../hooks/use_apm_router'; import { Breakpoints, useBreakpoints } from '../../../../hooks/use_breakpoints'; import { useFallbackToTransactionsFetcher } from '../../../../hooks/use_fallback_to_transactions_fetcher'; import { APIReturnType } from '../../../../services/rest/create_call_apm_api'; import { unit } from '../../../../utils/style'; import { ApmRoutes } from '../../../routing/apm_route_config'; import { AggregatedTransactionsBadge } from '../../../shared/aggregated_transactions_badge'; +import { + ChartType, + getTimeSeriesColor, +} from '../../../shared/charts/helper/get_timeseries_color'; import { EnvironmentBadge } from '../../../shared/environment_badge'; import { ListMetric } from '../../../shared/list_metric'; import { ITableColumn, ManagedTable } from '../../../shared/managed_table'; import { ServiceLink } from '../../../shared/service_link'; import { TruncateWithTooltip } from '../../../shared/truncate_with_tooltip'; -import { - ChartType, - getTimeSeriesColor, -} from '../../../shared/charts/helper/get_timeseries_color'; import { HealthBadge } from './health_badge'; -import { - ServiceInventoryFieldName, - ServiceListItem, -} from '../../../../../common/service_inventory'; type ServicesDetailedStatisticsAPIResponse = APIReturnType<'POST /internal/apm/services/detailed_statistics'>; @@ -63,19 +65,51 @@ export function getServiceColumns({ comparisonData, breakpoints, showHealthStatusColumn, + showAlertsColumn, + link, }: { query: TypeOf['query']; showTransactionTypeColumn: boolean; showHealthStatusColumn: boolean; + showAlertsColumn: boolean; comparisonDataLoading: boolean; breakpoints: Breakpoints; comparisonData?: ServicesDetailedStatisticsAPIResponse; + link: any; }): Array> { const { isSmall, isLarge, isXl } = breakpoints; const showWhenSmallOrGreaterThanLarge = isSmall || !isLarge; const showWhenSmallOrGreaterThanXL = isSmall || !isXl; return [ + ...(showAlertsColumn + ? [ + { + field: ServiceInventoryFieldName.AlertsCount, + name: '', + width: `${unit * 5}px`, + sortable: true, + render: (_, { serviceName, alertsCount }) => { + if (!alertsCount) { + return null; + } + + return ( + + {alertsCount} + + ); + }, + } as ITableColumn, + ] + : []), ...(showHealthStatusColumn ? [ { @@ -242,6 +276,7 @@ interface Props { isLoading: boolean; isFailure?: boolean; displayHealthStatus: boolean; + displayAlerts: boolean; initialSortField: ServiceInventoryFieldName; initialPageSize: number; initialSortDirection: 'asc' | 'desc'; @@ -260,12 +295,14 @@ export function ServiceList({ isLoading, isFailure, displayHealthStatus, + displayAlerts, initialSortField, initialSortDirection, initialPageSize, sortFn, }: Props) { const breakpoints = useBreakpoints(); + const { link } = useApmRouter(); const showTransactionTypeColumn = items.some( ({ transactionType }) => @@ -298,6 +335,8 @@ export function ServiceList({ comparisonData, breakpoints, showHealthStatusColumn: displayHealthStatus, + showAlertsColumn: displayAlerts, + link, }), [ query, @@ -306,6 +345,8 @@ export function ServiceList({ comparisonData, breakpoints, displayHealthStatus, + displayAlerts, + link, ] ); diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/order_service_items.ts b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/order_service_items.ts index 1e685d8215413..be313cf1b6193 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/order_service_items.ts +++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/order_service_items.ts @@ -35,6 +35,7 @@ const sorts: Record = { [ServiceInventoryFieldName.Throughput]: (item) => item.throughput ?? -1, [ServiceInventoryFieldName.TransactionErrorRate]: (item) => item.transactionErrorRate ?? -1, + [ServiceInventoryFieldName.AlertsCount]: (item) => item.alertsCount ?? -1, }; function reverseSortDirection(sortDirection: 'asc' | 'desc') { diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/service_list.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/service_list.test.tsx index df06c3d8c485d..0ac7d816d657f 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/service_list/service_list.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_list/service_list.test.tsx @@ -8,11 +8,12 @@ import { composeStories } from '@storybook/testing-react'; import { render, screen } from '@testing-library/react'; import React from 'react'; +import { getServiceColumns } from '.'; import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values'; import { Breakpoints } from '../../../../hooks/use_breakpoints'; -import { getServiceColumns } from '.'; -import * as stories from './service_list.stories'; +import { apmRouter } from '../../../routing/apm_route_config'; import * as timeSeriesColor from '../../../shared/charts/helper/get_timeseries_color'; +import * as stories from './service_list.stories'; const { Example, EmptyState } = composeStories(stories); @@ -79,11 +80,13 @@ describe('ServiceList', () => { isLarge: true, isXl: true, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.render ? c.render!(service[c.field!], service) : service[c.field!] ); - expect(renderedColumns.length).toEqual(7); - expect(renderedColumns[2]).toMatchInlineSnapshot(` + expect(renderedColumns.length).toEqual(8); + expect(renderedColumns[3]).toMatchInlineSnapshot(` { } /> `); - expect(renderedColumns[3]).toMatchInlineSnapshot(`"request"`); - expect(renderedColumns[4]).toMatchInlineSnapshot(` + expect(renderedColumns[4]).toMatchInlineSnapshot(`"request"`); + expect(renderedColumns[5]).toMatchInlineSnapshot(` { isLarge: true, isXl: true, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.render ? c.render!(service[c.field!], service) : service[c.field!] ); - expect(renderedColumns.length).toEqual(5); - expect(renderedColumns[2]).toMatchInlineSnapshot(` + expect(renderedColumns.length).toEqual(6); + expect(renderedColumns[3]).toMatchInlineSnapshot(` { isLarge: false, isXl: true, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.render ? c.render!(service[c.field!], service) : service[c.field!] ); - expect(renderedColumns.length).toEqual(6); - expect(renderedColumns[2]).toMatchInlineSnapshot(` + expect(renderedColumns.length).toEqual(7); + expect(renderedColumns[3]).toMatchInlineSnapshot(` { } /> `); - expect(renderedColumns[3]).toMatchInlineSnapshot(` + expect(renderedColumns[4]).toMatchInlineSnapshot(` { isLarge: false, isXl: false, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.render ? c.render!(service[c.field!], service) : service[c.field!] ); - expect(renderedColumns.length).toEqual(7); - expect(renderedColumns[2]).toMatchInlineSnapshot(` + expect(renderedColumns.length).toEqual(8); + expect(renderedColumns[3]).toMatchInlineSnapshot(` { } /> `); - expect(renderedColumns[3]).toMatchInlineSnapshot(`"request"`); - expect(renderedColumns[4]).toMatchInlineSnapshot(` + expect(renderedColumns[4]).toMatchInlineSnapshot(`"request"`); + expect(renderedColumns[5]).toMatchInlineSnapshot(` { isLarge: false, isXl: false, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.field); expect(renderedColumns.includes('healthStatus')).toBeFalsy(); }); @@ -238,8 +249,48 @@ describe('ServiceList', () => { isLarge: false, isXl: false, } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, }).map((c) => c.field); expect(renderedColumns.includes('healthStatus')).toBeTruthy(); }); }); + + describe('without Alerts data', () => { + it('hides alertsCount column', () => { + const renderedColumns = getServiceColumns({ + comparisonDataLoading: false, + showHealthStatusColumn: false, + query, + showTransactionTypeColumn: true, + breakpoints: { + isSmall: false, + isLarge: false, + isXl: false, + } as Breakpoints, + showAlertsColumn: false, + link: apmRouter.link, + }).map((c) => c.field); + expect(renderedColumns.includes('alertsCount')).toBeFalsy(); + }); + }); + + describe('with Alerts data', () => { + it('shows alertsCount column', () => { + const renderedColumns = getServiceColumns({ + comparisonDataLoading: false, + showHealthStatusColumn: true, + query, + showTransactionTypeColumn: true, + breakpoints: { + isSmall: false, + isLarge: false, + isXl: false, + } as Breakpoints, + showAlertsColumn: true, + link: apmRouter.link, + }).map((c) => c.field); + expect(renderedColumns.includes('alertsCount')).toBeTruthy(); + }); + }); }); diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx index 23c06c586defb..580e2b3568d09 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx @@ -27,7 +27,8 @@ export function FlyoutTopLevelProperties({ transaction }: Props) { const { query } = useAnyOfApmParams( '/services/{serviceName}/transactions/view', '/mobile-services/{serviceName}/transactions/view', - '/traces/explorer' + '/traces/explorer', + '/dependencies/operation' ); const latencyAggregationType = diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/span_flyout.stories.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/span_flyout.stories.tsx index a6731812d33a6..2cb49d58c5a34 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/span_flyout.stories.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/span_flyout.stories.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, dedot } from '@kbn/apm-synthtrace'; +import { apm, dedot } from '@kbn/apm-synthtrace-client'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { Story } from '@storybook/react'; import React, { ComponentProps, ComponentType } from 'react'; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/transaction_flyout/transaction_flyout.stories.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/transaction_flyout/transaction_flyout.stories.tsx index 0641600daf5b6..131df94a4ad8c 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/transaction_flyout/transaction_flyout.stories.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/transaction_flyout/transaction_flyout.stories.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, dedot } from '@kbn/apm-synthtrace'; +import { apm, dedot } from '@kbn/apm-synthtrace-client'; import { Story } from '@storybook/react'; import React, { ComponentProps, ComponentType } from 'react'; import { TransactionFlyout } from '.'; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_flyout.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_flyout.tsx index 5273caa3c8dfd..10333af97c6d8 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_flyout.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_flyout.tsx @@ -35,7 +35,8 @@ export function WaterfallFlyout({ query: { flyoutDetailTab }, } = useAnyOfApmParams( '/services/{serviceName}/transactions/view', - '/mobile-services/{serviceName}/transactions/view' + '/mobile-services/{serviceName}/transactions/view', + '/dependencies/operation' ); const currentItem = waterfall.items.find( (item) => item.id === waterfallItemId diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall_container.stories.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall_container.stories.tsx index 8c606c0e4e19b..eb2d4ec9369dd 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall_container.stories.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall_container.stories.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { apm, dedot } from '@kbn/apm-synthtrace'; +import { apm, dedot } from '@kbn/apm-synthtrace-client'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { Meta, Story } from '@storybook/react'; import { noop } from 'lodash'; @@ -73,9 +73,9 @@ export const Example: Story = () => { const errorDocs = events.splice(errorEventId, 1); - const traceDocs = events.map( - (event) => dedot(event, {}) as WaterfallTransaction | WaterfallSpan - ); + const traceDocs = events + .filter((event) => event['processor.event'] !== 'metric') + .map((event) => dedot(event, {}) as WaterfallTransaction | WaterfallSpan); const traceItems = { exceedsMax: false, traceDocs, diff --git a/x-pack/plugins/apm/public/components/routing/home/dependencies.tsx b/x-pack/plugins/apm/public/components/routing/home/dependencies.tsx index f22960dd5076f..0206d310737c5 100644 --- a/x-pack/plugins/apm/public/components/routing/home/dependencies.tsx +++ b/x-pack/plugins/apm/public/components/routing/home/dependencies.tsx @@ -86,6 +86,7 @@ export const dependencies = { sampleRangeFrom: toNumberRt, sampleRangeTo: toNumberRt, waterfallItemId: t.string, + flyoutDetailTab: t.string, }), ]), }), diff --git a/x-pack/plugins/apm/public/components/routing/mobile_service_detail/index.tsx b/x-pack/plugins/apm/public/components/routing/mobile_service_detail/index.tsx index e339f20f217ad..22a2f27660740 100644 --- a/x-pack/plugins/apm/public/components/routing/mobile_service_detail/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/mobile_service_detail/index.tsx @@ -133,6 +133,7 @@ export const mobileServiceDetail = { searchBarOptions: { showTransactionTypeSelector: true, showTimeComparison: true, + showMobileFilters: true, }, }), params: t.partial({ diff --git a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx index d2e84cf8e4a85..9625c35b1a011 100644 --- a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx @@ -238,6 +238,7 @@ export const serviceDetail = { path: t.type({ groupId: t.string, }), + query: t.partial({ errorId: t.string }), }), }, '/services/{serviceName}/errors': { diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx index 7303b18d5b2c3..5a127e768709c 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx @@ -14,11 +14,11 @@ import { EuiTitle, } from '@elastic/eui'; import { useLocation } from 'react-router-dom'; - +import { EuiBadge } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { enableAwsLambdaMetrics } from '@kbn/observability-plugin/common'; import { omit } from 'lodash'; import React from 'react'; -import { enableAwsLambdaMetrics } from '@kbn/observability-plugin/common'; import { useHistory } from 'react-router-dom'; import { isMobileAgentName, @@ -32,16 +32,16 @@ import { useBreadcrumb } from '../../../../context/breadcrumbs/use_breadcrumb'; import { ServiceAnomalyTimeseriesContextProvider } from '../../../../context/service_anomaly_timeseries/service_anomaly_timeseries_context'; import { useApmParams } from '../../../../hooks/use_apm_params'; import { useApmRouter } from '../../../../hooks/use_apm_router'; +import { isPending, useFetcher } from '../../../../hooks/use_fetcher'; import { useTimeRange } from '../../../../hooks/use_time_range'; import { getAlertingCapabilities } from '../../../alerting/utils/get_alerting_capabilities'; +import { BetaBadge } from '../../../shared/beta_badge'; +import { replace } from '../../../shared/links/url_helpers'; import { SearchBar } from '../../../shared/search_bar'; import { ServiceIcons } from '../../../shared/service_icons'; -import { BetaBadge } from '../../../shared/beta_badge'; import { TechnicalPreviewBadge } from '../../../shared/technical_preview_badge'; import { ApmMainTemplate } from '../apm_main_template'; import { AnalyzeDataButton } from './analyze_data_button'; -import { replace } from '../../../shared/links/url_helpers'; -import { isPending } from '../../../../hooks/use_fetcher'; type Tab = NonNullable[0] & { key: @@ -213,6 +213,22 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { query: queryFromUrl, } = useApmParams(`/services/{serviceName}/${selectedTab}` as const); + const { data: serviceAlertsCount = { alertsCount: 0 } } = useFetcher( + (callApmApi) => { + return callApmApi( + 'GET /internal/apm/services/{serviceName}/alerts_count', + { + params: { + path: { + serviceName, + }, + }, + } + ); + }, + [serviceName] + ); + const query = omit( queryFromUrl, 'page', @@ -323,6 +339,12 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { path: { serviceName }, query, }), + prepend: + serviceAlertsCount.alertsCount > 0 ? ( + + {serviceAlertsCount.alertsCount} + + ) : null, append: , label: i18n.translate('xpack.apm.home.alertsTabLabel', { defaultMessage: 'Alerts', @@ -333,9 +355,10 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { return tabs .filter((t) => !t.hidden) - .map(({ href, key, label, append }) => ({ + .map(({ href, key, label, prepend, append }) => ({ href, label, + prepend, append, isSelected: key === selectedTab, })); diff --git a/x-pack/plugins/apm/public/components/routing/templates/dependency_detail_template.tsx b/x-pack/plugins/apm/public/components/routing/templates/dependency_detail_template.tsx index 833b489004bf3..605936dd57944 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/dependency_detail_template.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/dependency_detail_template.tsx @@ -16,7 +16,6 @@ import { useApmParams } from '../../../hooks/use_apm_params'; import { useApmRouter } from '../../../hooks/use_apm_router'; import { useApmRoutePath } from '../../../hooks/use_apm_route_path'; import { useFetcher } from '../../../hooks/use_fetcher'; -import { useOperationBreakdownEnabledSetting } from '../../../hooks/use_operations_breakdown_enabled_setting'; import { useTimeRange } from '../../../hooks/use_time_range'; import { BetaBadge } from '../../shared/beta_badge'; import { SearchBar } from '../../shared/search_bar'; @@ -39,9 +38,6 @@ export function DependencyDetailTemplate({ children }: Props) { const path = useApmRoutePath(); - const isOperationsBreakdownFeatureEnabled = - useOperationBreakdownEnabledSetting(); - const kueryBarBoolFilter = getKueryBarBoolFilter({ environment, dependencyName, @@ -68,33 +64,31 @@ export function DependencyDetailTemplate({ children }: Props) { const { data: { metadata } = {} } = dependencyMetadataFetch; - const tabs = isOperationsBreakdownFeatureEnabled - ? [ - { - key: 'overview', - href: router.link('/dependencies/overview', { - query, - }), - label: i18n.translate('xpack.apm.DependencyDetailOverview.title', { - defaultMessage: 'Overview', - }), - isSelected: path === '/dependencies/overview', - }, - { - key: 'operations', - href: router.link('/dependencies/operations', { - query, - }), - label: i18n.translate('xpack.apm.DependencyDetailOperations.title', { - defaultMessage: 'Operations', - }), - isSelected: - path === '/dependencies/operations' || - path === '/dependencies/operation', - append: , - }, - ] - : []; + const tabs = [ + { + key: 'overview', + href: router.link('/dependencies/overview', { + query, + }), + label: i18n.translate('xpack.apm.DependencyDetailOverview.title', { + defaultMessage: 'Overview', + }), + isSelected: path === '/dependencies/overview', + }, + { + key: 'operations', + href: router.link('/dependencies/operations', { + query, + }), + label: i18n.translate('xpack.apm.DependencyDetailOperations.title', { + defaultMessage: 'Operations', + }), + isSelected: + path === '/dependencies/operations' || + path === '/dependencies/operation', + append: , + }, + ]; return ( {' '} {i18n.translate( 'xpack.apm.serviceGroups.breadcrumb.return', - { defaultMessage: 'Return' } + { defaultMessage: 'Return to service groups' } )} ), diff --git a/x-pack/plugins/apm/public/components/shared/summary/index.tsx b/x-pack/plugins/apm/public/components/shared/summary/index.tsx index e0f6c1e090978..99c468a740429 100644 --- a/x-pack/plugins/apm/public/components/shared/summary/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/summary/index.tsx @@ -5,39 +5,26 @@ * 2.0. */ -import { EuiFlexGrid, EuiFlexItem } from '@elastic/eui'; -import React from 'react'; -import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import React, { Fragment } from 'react'; import { Maybe } from '../../../../typings/common'; interface Props { items: Array>; } -const Item = euiStyled(EuiFlexItem)` - flex-wrap: nowrap; - border-right: 1px solid ${({ theme }) => theme.eui.euiColorLightShade}; - padding-right: ${({ theme }) => theme.eui.euiSizeS}; - flex-flow: row nowrap; - line-height: 1.5; - align-items: center !important; - &:last-child { - border-right: none; - padding-right: 0; - } -`; - function Summary({ items }: Props) { const filteredItems = items.filter(Boolean) as React.ReactElement[]; return ( - + {filteredItems.map((item, index) => ( - - {item} - + + {index > 0 && |} + {item} + ))} - + ); } diff --git a/x-pack/plugins/apm/public/hooks/use_fallback_to_transactions_fetcher.tsx b/x-pack/plugins/apm/public/hooks/use_fallback_to_transactions_fetcher.tsx index 477a8632c9a2f..f1d30f4237071 100644 --- a/x-pack/plugins/apm/public/hooks/use_fallback_to_transactions_fetcher.tsx +++ b/x-pack/plugins/apm/public/hooks/use_fallback_to_transactions_fetcher.tsx @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { getKueryWithMobileFilters } from '../../common/utils/get_kuery_with_mobile_filters'; import { useApmParams } from './use_apm_params'; import { useFetcher } from './use_fetcher'; import { useTimeRange } from './use_time_range'; @@ -14,17 +15,31 @@ export function useFallbackToTransactionsFetcher({ kuery }: { kuery: string }) { const rangeFrom = 'rangeFrom' in query ? query.rangeFrom : undefined; const rangeTo = 'rangeTo' in query ? query.rangeTo : undefined; + const device = 'device' in query ? query.device : undefined; + const osVersion = 'osVersion' in query ? query.osVersion : undefined; + const appVersion = 'appVersion' in query ? query.appVersion : undefined; + const netConnectionType = + 'netConnectionType' in query ? query.netConnectionType : undefined; + + const kueryWithFilters = getKueryWithMobileFilters({ + device, + osVersion, + appVersion, + netConnectionType, + kuery, + }); + const { start, end } = useTimeRange({ rangeFrom, rangeTo, optional: true }); const { data = { fallbackToTransactions: false } } = useFetcher( (callApmApi) => { return callApmApi('GET /internal/apm/fallback_to_transactions', { params: { - query: { kuery, start, end }, + query: { kuery: kueryWithFilters, start, end }, }, }); }, - [kuery, start, end] + [kueryWithFilters, start, end] ); return data; diff --git a/x-pack/plugins/apm/public/hooks/use_filters_for_embeddable_charts.ts b/x-pack/plugins/apm/public/hooks/use_filters_for_embeddable_charts.ts index a45cc5e40fb50..22dbf955b2308 100644 --- a/x-pack/plugins/apm/public/hooks/use_filters_for_embeddable_charts.ts +++ b/x-pack/plugins/apm/public/hooks/use_filters_for_embeddable_charts.ts @@ -6,14 +6,7 @@ */ import { useMemo } from 'react'; -import { - SERVICE_NAME, - TRANSACTION_TYPE, - HOST_OS_VERSION, - DEVICE_MODEL_NAME, - NETWORK_CONNECTION_TYPE, - SERVICE_VERSION, -} from '../../common/es_fields/apm'; +import { SERVICE_NAME, TRANSACTION_TYPE } from '../../common/es_fields/apm'; import { termQuery } from '../../common/utils/term_query'; import { useApmParams } from './use_apm_params'; import { environmentQuery } from '../../common/utils/environment_query'; @@ -21,14 +14,7 @@ import { environmentQuery } from '../../common/utils/environment_query'; export function useFiltersForEmbeddableCharts() { const { path: { serviceName }, - query: { - environment, - transactionType, - device, - osVersion, - appVersion, - netConnectionType, - }, + query: { environment, transactionType }, } = useApmParams('/mobile-services/{serviceName}/overview'); return useMemo( @@ -36,23 +22,11 @@ export function useFiltersForEmbeddableCharts() { [ ...termQuery(SERVICE_NAME, serviceName), ...termQuery(TRANSACTION_TYPE, transactionType), - ...termQuery(HOST_OS_VERSION, osVersion), - ...termQuery(DEVICE_MODEL_NAME, device), - ...termQuery(NETWORK_CONNECTION_TYPE, netConnectionType), - ...termQuery(SERVICE_VERSION, appVersion), ...environmentQuery(environment), ].map((query) => ({ meta: {}, query, })), - [ - environment, - transactionType, - serviceName, - osVersion, - device, - netConnectionType, - appVersion, - ] + [environment, transactionType, serviceName] ); } diff --git a/x-pack/plugins/apm/public/hooks/use_operations_breakdown_enabled_setting.ts b/x-pack/plugins/apm/public/hooks/use_operations_breakdown_enabled_setting.ts deleted file mode 100644 index 2c9525195de3f..0000000000000 --- a/x-pack/plugins/apm/public/hooks/use_operations_breakdown_enabled_setting.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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. - */ - -import { apmOperationsTab } from '@kbn/observability-plugin/common'; -import { useApmPluginContext } from '../context/apm_plugin/use_apm_plugin_context'; - -export function useOperationBreakdownEnabledSetting() { - const { core } = useApmPluginContext(); - - return core.uiSettings.get(apmOperationsTab, false); -} diff --git a/x-pack/plugins/apm/scripts/aggregate_latency_metrics.js b/x-pack/plugins/apm/scripts/aggregate_latency_metrics.js deleted file mode 100644 index c8f1eb764155f..0000000000000 --- a/x-pack/plugins/apm/scripts/aggregate_latency_metrics.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 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-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); - -const { aggregateLatencyMetrics } = require('./aggregate_latency_metrics'); - -aggregateLatencyMetrics().catch((err) => { - if (err.meta && err.meta.body) { - // error from elasticsearch client - console.error(err.meta.body); - } else { - console.error(err); - } - process.exit(1); -}); diff --git a/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts b/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts deleted file mode 100644 index e2b3ef28f21ee..0000000000000 --- a/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts +++ /dev/null @@ -1,415 +0,0 @@ -/* - * 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. - */ - -import { argv } from 'yargs'; -import pLimit from 'p-limit'; -import pRetry from 'p-retry'; -import { set } from '@kbn/safer-lodash-set'; -import { uniq, without, merge, flatten } from 'lodash'; -import * as histogram from 'hdr-histogram-js'; -import { - HOST_NAME, - SERVICE_NAME, - TRANSACTION_NAME, - TRANSACTION_TYPE, - AGENT_NAME, - SERVICE_ENVIRONMENT, - KUBERNETES_POD_NAME, - CONTAINER_ID, - SERVICE_VERSION, - TRANSACTION_RESULT, - PROCESSOR_EVENT, -} from '../../common/es_fields/apm'; -import { createOrUpdateIndex } from '../shared/create_or_update_index'; -import { parseIndexUrl } from '../shared/parse_index_url'; -import { ESClient, getEsClient } from '../shared/get_es_client'; - -// This script will try to estimate how many latency metric documents -// will be created based on the available transaction documents. -// It can also generate metric documents based on a painless script -// and hdr histograms. -// -// Options: -// - interval: the interval (in minutes) for which latency metrics will be aggregated. -// Defaults to 1. -// - concurrency: number of maximum concurrent requests to ES. Defaults to 3. -// - from: start of the date range that should be processed. Should be a valid ISO timestamp. -// - to: end of the date range that should be processed. Should be a valid ISO timestamp. -// - source: from which transaction documents should be read. Should be location of ES (basic auth -// is supported) plus the index name (or an data view). Example: -// https://foo:bar@apm.elstc.co:9999/apm-8.0.0-transaction -// - dest: to which metric documents should be written. If this is not set, no metric documents -// will be created.Should be location of ES (basic auth is supported) plus the index name. -// Example: https://foo:bar@apm.elstc.co:9999/apm-8.0.0-metric -// - include: comma-separated list of fields that should be aggregated on, in addition to the -// default ones. -// - exclude: comma-separated list of fields that should be not be aggregated on. - -export async function aggregateLatencyMetrics() { - const interval = parseInt(String(argv.interval), 10) || 1; - const concurrency = parseInt(String(argv.concurrency), 10) || 3; - const numSigFigures = (parseInt(String(argv.sigfig), 10) || 2) as - | 1 - | 2 - | 3 - | 4 - | 5; - - const from = new Date(String(argv.from)).getTime(); - const to = new Date(String(argv.to)).getTime(); - - if (isNaN(from) || isNaN(to)) { - throw new Error( - `from and to are not valid dates - please supply valid ISO timestamps` - ); - } - - if (to <= from) { - throw new Error('to cannot be earlier than from'); - } - - const limit = pLimit(concurrency); - // retry function to handle ES timeouts - const retry = (fn: (...args: any[]) => any) => { - return () => - pRetry(fn, { - factor: 1, - retries: 3, - minTimeout: 2500, - }); - }; - - const tasks: Array> = []; - - const defaultFields = [ - SERVICE_NAME, - SERVICE_VERSION, - SERVICE_ENVIRONMENT, - AGENT_NAME, - HOST_NAME, - KUBERNETES_POD_NAME, - CONTAINER_ID, - TRANSACTION_NAME, - TRANSACTION_RESULT, - TRANSACTION_TYPE, - ]; - - const include = String(argv.include ?? '') - .split(',') - .filter(Boolean) as string[]; - - const exclude = String(argv.exclude ?? '') - .split(',') - .filter(Boolean) as string[]; - - const only = String(argv.only ?? '') - .split(',') - .filter(Boolean) as string[]; - - const fields = only.length - ? uniq(only) - : without(uniq([...include, ...defaultFields]), ...exclude); - - const globalFilter = argv.filter ? JSON.parse(String(argv.filter)) : {}; - - // eslint-disable-next-line no-console - console.log('Aggregating on', fields.join(',')); - - const source = String(argv.source ?? ''); - const dest = String(argv.dest ?? ''); - - const sourceOptions = parseIndexUrl(source); - - const sourceClient = getEsClient({ node: sourceOptions.node }); - - let destClient: ESClient | undefined; - let destOptions: { node: string; index: string } | undefined; - - const uploadMetrics = !!dest; - - if (uploadMetrics) { - destOptions = parseIndexUrl(dest); - destClient = getEsClient({ node: destOptions.node }); - - const mappings = await sourceClient.indices.getMapping({ - index: sourceOptions.index, - }); - - const lastMapping = mappings[Object.keys(mappings)[0]]; - - const newMapping = merge({}, lastMapping, { - mappings: { - properties: { - transaction: { - properties: { - duration: { - properties: { - histogram: { - type: 'histogram', - }, - }, - }, - }, - }, - }, - }, - }); - - await createOrUpdateIndex({ - client: destClient, - indexName: destOptions.index, - clear: false, - template: newMapping, - }); - } else { - // eslint-disable-next-line no-console - console.log( - 'No destination was defined, not uploading aggregated documents' - ); - } - - let at = to; - while (at > from) { - const end = at; - const start = Math.max(from, at - interval * 60 * 1000); - - tasks.push( - limit( - retry(async () => { - const filter = [ - { - term: { - [PROCESSOR_EVENT]: 'transaction', - }, - }, - { - range: { - '@timestamp': { - gte: start, - lt: end, - }, - }, - }, - ]; - - const query: { - query: Record; - } = { - ...globalFilter, - query: { - ...(globalFilter?.query ?? {}), - bool: { - ...(globalFilter?.query?.bool ?? {}), - filter: [ - ...Object.values(globalFilter?.query?.bool?.filter ?? {}), - ...filter, - ], - }, - }, - }; - - async function paginateThroughBuckets( - buckets: Array<{ - doc_count: number; - key: any; - recorded_values?: { value: unknown }; - }>, - after?: any - ): Promise< - Array<{ - doc_count: number; - key: any; - recorded_values?: { value: unknown }; - }> - > { - const params = { - index: sourceOptions.index, - body: { - ...query, - aggs: { - transactionGroups: { - composite: { - ...(after ? { after } : {}), - size: 10000, - sources: fields.map((field) => ({ - [field]: { - terms: { - field, - missing_bucket: true, - }, - }, - })), - }, - ...(dest - ? { - // scripted metric agg to get all the values (rather than downloading all the documents) - aggs: { - recorded_values: { - scripted_metric: { - init_script: 'state.values = new ArrayList()', - map_script: ` - if (!doc['transaction.duration.us'].empty) { - state.values.add(doc['transaction.duration.us'].value); - } - `, - combine_script: 'return state.values', - reduce_script: ` - return states.stream().flatMap(l -> l.stream()).collect(Collectors.toList()) - `, - }, - }, - }, - } - : {}), - }, - }, - }, - }; - - const response = await sourceClient.search(params); - - const { aggregations } = response.body; - - if (!aggregations) { - return buckets; - } - - const { transactionGroups } = aggregations; - - const nextBuckets = buckets.concat(transactionGroups.buckets); - - if (!transactionGroups.after_key) { - return nextBuckets; - } - - return nextBuckets.concat( - await paginateThroughBuckets(buckets, transactionGroups.after_key) - ); - } - - async function getNumberOfTransactionDocuments() { - const params = { - index: sourceOptions.index, - body: { - query: { - bool: { - filter, - }, - }, - track_total_hits: true, - }, - }; - - const response = await sourceClient.search(params); - - return response.body.hits.total.value; - } - - const [buckets, numberOfTransactionDocuments] = await Promise.all([ - paginateThroughBuckets([]), - getNumberOfTransactionDocuments(), - ]); - - const rangeLabel = `${new Date(start).toISOString()}-${new Date( - end - ).toISOString()}`; - - // eslint-disable-next-line no-console - console.log( - `${rangeLabel}: Compression: ${ - buckets.length - }/${numberOfTransactionDocuments} (${( - (buckets.length / numberOfTransactionDocuments) * - 100 - ).toPrecision(2)}%)` - ); - - const docs: Array> = []; - - if (uploadMetrics) { - buckets.forEach((bucket) => { - const values = (bucket.recorded_values?.value ?? []) as number[]; - const h = histogram.build({ - numberOfSignificantValueDigits: numSigFigures, - }); - values.forEach((value) => { - h.recordValue(value); - }); - - const iterator = h.recordedValuesIterator; - - const distribution = { - values: [] as number[], - counts: [] as number[], - }; - - iterator.reset(); - - while (iterator.hasNext()) { - const value = iterator.next(); - distribution.values.push(value.valueIteratedTo); - distribution.counts.push(value.countAtValueIteratedTo); - } - - const structured = Object.keys(bucket.key).reduce((prev, key) => { - set(prev, key, bucket.key[key]); - return prev; - }, {}); - - const doc = merge({}, structured, { - '@timestamp': new Date(start).toISOString(), - timestamp: { - us: start * 1000, - }, - processor: { - name: 'metric', - event: 'metric', - }, - transaction: { - duration: { - histogram: distribution, - }, - }, - }); - - docs.push(doc); - }); - - if (!docs.length) { - // eslint-disable-next-line no-console - console.log(`${rangeLabel}: No docs to upload`); - return; - } - - const response = await (destClient as any)?.bulk({ - refresh: 'wait_for', - body: flatten( - docs.map((doc) => [ - { index: { _index: destOptions?.index } }, - doc, - ]) - ), - }); - - if (response?.body.errors) { - throw new Error( - `${rangeLabel}: Could not upload all metric documents` - ); - } - // eslint-disable-next-line no-console - console.log( - `${rangeLabel}: Uploaded ${docs.length} metric documents` - ); - } - }) - ) - ); - at = start; - } - - await Promise.all(tasks); -} diff --git a/x-pack/plugins/apm/scripts/create_apm_users.js b/x-pack/plugins/apm/scripts/create_apm_users.js index 8cef6ebb6c7ae..a13c986e93222 100644 --- a/x-pack/plugins/apm/scripts/create_apm_users.js +++ b/x-pack/plugins/apm/scripts/create_apm_users.js @@ -13,8 +13,5 @@ * Usage: node create-apm-users.js ******************************/ -// compile typescript on the fly -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); - +require('@kbn/babel-register').install(); require('./create_apm_users/create_apm_users_cli'); diff --git a/x-pack/plugins/apm/scripts/create_functional_tests_archive.js b/x-pack/plugins/apm/scripts/create_functional_tests_archive.js index b1b766990ad67..254a24cde649a 100644 --- a/x-pack/plugins/apm/scripts/create_functional_tests_archive.js +++ b/x-pack/plugins/apm/scripts/create_functional_tests_archive.js @@ -6,7 +6,5 @@ */ // compile typescript on the fly -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); - +require('@kbn/babel-register').install(); require('./create_functional_tests_archive'); diff --git a/x-pack/plugins/apm/scripts/infer_route_return_types.js b/x-pack/plugins/apm/scripts/infer_route_return_types.js index 8bf3bdbcdf3d3..d60df693fac5a 100644 --- a/x-pack/plugins/apm/scripts/infer_route_return_types.js +++ b/x-pack/plugins/apm/scripts/infer_route_return_types.js @@ -6,7 +6,5 @@ */ // compile typescript on the fly -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); - +require('@kbn/babel-register').install(); require('./infer_route_return_types'); diff --git a/x-pack/plugins/apm/scripts/test/jest.js b/x-pack/plugins/apm/scripts/test/jest.js index c4c5d24d839b3..30e983204252d 100644 --- a/x-pack/plugins/apm/scripts/test/jest.js +++ b/x-pack/plugins/apm/scripts/test/jest.js @@ -5,10 +5,8 @@ * 2.0. */ -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); +require('@kbn/babel-register').install(); -// eslint-disable-next-line import/no-extraneous-dependencies const { run } = require('jest'); process.env.NODE_ENV = process.env.NODE_ENV || 'test'; diff --git a/x-pack/plugins/apm/scripts/upload_telemetry_data.js b/x-pack/plugins/apm/scripts/upload_telemetry_data.js index e82e197097dd8..c3ba54e112952 100644 --- a/x-pack/plugins/apm/scripts/upload_telemetry_data.js +++ b/x-pack/plugins/apm/scripts/upload_telemetry_data.js @@ -6,7 +6,5 @@ */ // compile typescript on the fly -// eslint-disable-next-line import/no-extraneous-dependencies -require('@kbn/optimizer').registerNodeAutoTranspilation(); - +require('@kbn/babel-register').install(); require('./upload_telemetry_data'); diff --git a/x-pack/plugins/apm/server/deprecations/deprecations.test.ts b/x-pack/plugins/apm/server/deprecations/deprecations.test.ts index 1843affb9bfc3..8496672e40f07 100644 --- a/x-pack/plugins/apm/server/deprecations/deprecations.test.ts +++ b/x-pack/plugins/apm/server/deprecations/deprecations.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { kibanaPackageJson } from '@kbn/utils'; +import { kibanaPackageJson } from '@kbn/repo-info'; import { GetDeprecationsContext } from '@kbn/core/server'; import { CloudSetup } from '@kbn/cloud-plugin/server'; diff --git a/x-pack/plugins/apm/server/routes/service_groups/get_apm_alerts_client.ts b/x-pack/plugins/apm/server/lib/helpers/get_apm_alerts_client.ts similarity index 94% rename from x-pack/plugins/apm/server/routes/service_groups/get_apm_alerts_client.ts rename to x-pack/plugins/apm/server/lib/helpers/get_apm_alerts_client.ts index 99fcdf628c7e8..44fdaaf941521 100644 --- a/x-pack/plugins/apm/server/routes/service_groups/get_apm_alerts_client.ts +++ b/x-pack/plugins/apm/server/lib/helpers/get_apm_alerts_client.ts @@ -6,7 +6,7 @@ */ import { isEmpty } from 'lodash'; -import { APMRouteHandlerResources } from '../typings'; +import { APMRouteHandlerResources } from '../../routes/typings'; export type ApmAlertsClient = Awaited>; diff --git a/x-pack/plugins/apm/server/routes/errors/__snapshots__/queries.test.ts.snap b/x-pack/plugins/apm/server/routes/errors/__snapshots__/queries.test.ts.snap deleted file mode 100644 index ac9ff28ef8513..0000000000000 --- a/x-pack/plugins/apm/server/routes/errors/__snapshots__/queries.test.ts.snap +++ /dev/null @@ -1,192 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`error queries fetches a single error group 1`] = ` -Object { - "apm": Object { - "events": Array [ - "error", - ], - }, - "body": Object { - "query": Object { - "bool": Object { - "filter": Array [ - Object { - "term": Object { - "service.name": "serviceName", - }, - }, - Object { - "term": Object { - "error.grouping_key": "groupId", - }, - }, - Object { - "range": Object { - "@timestamp": Object { - "format": "epoch_millis", - "gte": 0, - "lte": 50000, - }, - }, - }, - ], - "should": Array [ - Object { - "term": Object { - "transaction.sampled": true, - }, - }, - ], - }, - }, - "size": 1, - "sort": Array [ - Object { - "_score": Object { - "order": "desc", - }, - }, - Object { - "@timestamp": Object { - "order": "desc", - }, - }, - ], - "track_total_hits": true, - }, -} -`; - -exports[`error queries fetches multiple error groups 1`] = ` -Object { - "apm": Object { - "events": Array [ - "error", - ], - }, - "body": Object { - "aggs": Object { - "error_groups": Object { - "aggs": Object { - "sample": Object { - "top_hits": Object { - "_source": Array [ - "error.log.message", - "error.exception.message", - "error.exception.handled", - "error.exception.type", - "error.culprit", - "error.grouping_key", - "@timestamp", - ], - "size": 1, - "sort": Object { - "@timestamp": "desc", - }, - }, - }, - }, - "terms": Object { - "field": "error.grouping_key", - "order": Object { - "_count": "asc", - }, - "size": 500, - }, - }, - }, - "query": Object { - "bool": Object { - "filter": Array [ - Object { - "term": Object { - "service.name": "serviceName", - }, - }, - Object { - "range": Object { - "@timestamp": Object { - "format": "epoch_millis", - "gte": 0, - "lte": 50000, - }, - }, - }, - ], - }, - }, - "size": 0, - "track_total_hits": false, - }, -} -`; - -exports[`error queries fetches multiple error groups when sortField = lastSeen 1`] = ` -Object { - "apm": Object { - "events": Array [ - "error", - ], - }, - "body": Object { - "aggs": Object { - "error_groups": Object { - "aggs": Object { - "max_timestamp": Object { - "max": Object { - "field": "@timestamp", - }, - }, - "sample": Object { - "top_hits": Object { - "_source": Array [ - "error.log.message", - "error.exception.message", - "error.exception.handled", - "error.exception.type", - "error.culprit", - "error.grouping_key", - "@timestamp", - ], - "size": 1, - "sort": Object { - "@timestamp": "desc", - }, - }, - }, - }, - "terms": Object { - "field": "error.grouping_key", - "order": Object { - "max_timestamp": "asc", - }, - "size": 500, - }, - }, - }, - "query": Object { - "bool": Object { - "filter": Array [ - Object { - "term": Object { - "service.name": "serviceName", - }, - }, - Object { - "range": Object { - "@timestamp": Object { - "format": "epoch_millis", - "gte": 0, - "lte": 50000, - }, - }, - }, - ], - }, - }, - "size": 0, - "track_total_hits": false, - }, -} -`; diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts deleted file mode 100644 index 20615dc3be536..0000000000000 --- a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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. - */ - -import { rangeQuery, kqlQuery } from '@kbn/observability-plugin/server'; -import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { asMutableArray } from '../../../../common/utils/as_mutable_array'; -import { - ERROR_GROUP_ID, - SERVICE_NAME, - TRANSACTION_SAMPLED, -} from '../../../../common/es_fields/apm'; -import { environmentQuery } from '../../../../common/utils/environment_query'; -import { getTransaction } from '../../transactions/get_transaction'; -import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; - -export async function getErrorGroupSample({ - environment, - kuery, - serviceName, - groupId, - apmEventClient, - start, - end, -}: { - environment: string; - kuery: string; - serviceName: string; - groupId: string; - apmEventClient: APMEventClient; - start: number; - end: number; -}) { - const params = { - apm: { - events: [ProcessorEvent.error as const], - }, - body: { - track_total_hits: true, - size: 1, - query: { - bool: { - filter: [ - { term: { [SERVICE_NAME]: serviceName } }, - { term: { [ERROR_GROUP_ID]: groupId } }, - ...rangeQuery(start, end), - ...environmentQuery(environment), - ...kqlQuery(kuery), - ], - should: [{ term: { [TRANSACTION_SAMPLED]: true } }], - }, - }, - sort: asMutableArray([ - { _score: { order: 'desc' } }, // sort by _score first to ensure that errors with transaction.sampled:true ends up on top - { '@timestamp': { order: 'desc' } }, // sort by timestamp to get the most recent error - ] as const), - }, - }; - - const resp = await apmEventClient.search('get_error_group_sample', params); - const error = resp.hits.hits[0]?._source; - const transactionId = error?.transaction?.id; - const traceId = error?.trace?.id; - - let transaction; - if (transactionId && traceId) { - transaction = await getTransaction({ - transactionId, - traceId, - apmEventClient, - start, - end, - }); - } - - return { - transaction, - error, - occurrencesCount: resp.hits.total.value, - }; -} diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample_ids.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample_ids.ts new file mode 100644 index 0000000000000..695210e9e4a85 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample_ids.ts @@ -0,0 +1,76 @@ +/* + * 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. + */ + +import { rangeQuery, kqlQuery } from '@kbn/observability-plugin/server'; +import { ProcessorEvent } from '@kbn/observability-plugin/common'; +import { asMutableArray } from '../../../../common/utils/as_mutable_array'; +import { + ERROR_GROUP_ID, + ERROR_ID, + SERVICE_NAME, + TRANSACTION_SAMPLED, +} from '../../../../common/es_fields/apm'; +import { environmentQuery } from '../../../../common/utils/environment_query'; +import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; + +const ERROR_SAMPLES_SIZE = 10000; + +export async function getErrorGroupSampleIds({ + environment, + kuery, + serviceName, + groupId, + apmEventClient, + start, + end, +}: { + environment: string; + kuery: string; + serviceName: string; + groupId: string; + apmEventClient: APMEventClient; + start: number; + end: number; +}) { + const params = { + apm: { + events: [ProcessorEvent.error as const], + }, + body: { + track_total_hits: ERROR_SAMPLES_SIZE, + size: ERROR_SAMPLES_SIZE, + query: { + bool: { + filter: [ + { term: { [SERVICE_NAME]: serviceName } }, + { term: { [ERROR_GROUP_ID]: groupId } }, + ...rangeQuery(start, end), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + should: [{ term: { [TRANSACTION_SAMPLED]: true } }], // prefer error samples with related transactions + }, + }, + _source: [ERROR_ID], + sort: asMutableArray([ + { _score: { order: 'desc' } }, // sort by _score first to ensure that errors with transaction.sampled:true ends up on top + { '@timestamp': { order: 'desc' } }, // sort by timestamp to get the most recent error + ] as const), + }, + }; + + const resp = await apmEventClient.search( + 'get_error_group_sample_ids', + params + ); + const errorSampleIds = resp.hits.hits.map((item) => item._source.error.id); + + return { + errorSampleIds, + occurrencesCount: resp.hits.total.value, + }; +} diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_sample_details.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_sample_details.ts new file mode 100644 index 0000000000000..de54e24f39468 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_sample_details.ts @@ -0,0 +1,73 @@ +/* + * 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. + */ + +import { rangeQuery, kqlQuery } from '@kbn/observability-plugin/server'; +import { ProcessorEvent } from '@kbn/observability-plugin/common'; +import { ERROR_ID, SERVICE_NAME } from '../../../../common/es_fields/apm'; +import { environmentQuery } from '../../../../common/utils/environment_query'; +import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; +import { getTransaction } from '../../transactions/get_transaction'; + +export async function getErrorSampleDetails({ + environment, + kuery, + serviceName, + errorId, + apmEventClient, + start, + end, +}: { + environment: string; + kuery: string; + serviceName: string; + errorId: string; + apmEventClient: APMEventClient; + start: number; + end: number; +}) { + const params = { + apm: { + events: [ProcessorEvent.error as const], + }, + body: { + track_total_hits: false, + size: 1, + query: { + bool: { + filter: [ + { term: { [SERVICE_NAME]: serviceName } }, + { term: { [ERROR_ID]: errorId } }, + ...rangeQuery(start, end), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + }, + }, + }, + }; + + const resp = await apmEventClient.search('get_error_sample_details', params); + const error = resp.hits.hits[0]?._source; + const transactionId = error?.transaction?.id; + const traceId = error?.trace?.id; + + let transaction; + if (transactionId && traceId) { + transaction = await getTransaction({ + transactionId, + traceId, + apmEventClient, + start, + end, + }); + } + + return { + transaction, + error, + }; +} diff --git a/x-pack/plugins/apm/server/routes/errors/queries.test.ts b/x-pack/plugins/apm/server/routes/errors/queries.test.ts deleted file mode 100644 index bc0f18884d1b0..0000000000000 --- a/x-pack/plugins/apm/server/routes/errors/queries.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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. - */ - -import { - SearchParamsMock, - inspectSearchParams, -} from '../../utils/test_helpers'; -import { ENVIRONMENT_ALL } from '../../../common/environment_filter_values'; -import { getErrorGroupMainStatistics } from './get_error_groups/get_error_group_main_statistics'; -import { getErrorGroupSample } from './get_error_groups/get_error_group_sample'; - -describe('error queries', () => { - let mock: SearchParamsMock; - - afterEach(() => { - mock.teardown(); - }); - - it('fetches a single error group', async () => { - mock = await inspectSearchParams(({ mockApmEventClient }) => - getErrorGroupSample({ - groupId: 'groupId', - serviceName: 'serviceName', - apmEventClient: mockApmEventClient, - environment: ENVIRONMENT_ALL.value, - kuery: '', - start: 0, - end: 50000, - }) - ); - - expect(mock.params).toMatchSnapshot(); - }); - - it('fetches multiple error groups', async () => { - mock = await inspectSearchParams(({ mockApmEventClient }) => - getErrorGroupMainStatistics({ - sortDirection: 'asc', - sortField: 'foo', - serviceName: 'serviceName', - apmEventClient: mockApmEventClient, - environment: ENVIRONMENT_ALL.value, - kuery: '', - start: 0, - end: 50000, - }) - ); - - expect(mock.params).toMatchSnapshot(); - }); - - it('fetches multiple error groups when sortField = lastSeen', async () => { - mock = await inspectSearchParams(({ mockApmEventClient }) => - getErrorGroupMainStatistics({ - sortDirection: 'asc', - sortField: 'lastSeen', - serviceName: 'serviceName', - apmEventClient: mockApmEventClient, - environment: ENVIRONMENT_ALL.value, - kuery: '', - start: 0, - end: 50000, - }) - ); - - expect(mock.params).toMatchSnapshot(); - }); -}); diff --git a/x-pack/plugins/apm/server/routes/errors/route.ts b/x-pack/plugins/apm/server/routes/errors/route.ts index 5bb3bda954ee5..8a75ee69a41ce 100644 --- a/x-pack/plugins/apm/server/routes/errors/route.ts +++ b/x-pack/plugins/apm/server/routes/errors/route.ts @@ -12,7 +12,8 @@ import { getErrorDistribution } from './distribution/get_distribution'; import { environmentRt, kueryRt, rangeRt } from '../default_api_types'; import { getErrorGroupMainStatistics } from './get_error_groups/get_error_group_main_statistics'; import { getErrorGroupPeriods } from './get_error_groups/get_error_group_detailed_statistics'; -import { getErrorGroupSample } from './get_error_groups/get_error_group_sample'; +import { getErrorGroupSampleIds } from './get_error_groups/get_error_group_sample_ids'; +import { getErrorSampleDetails } from './get_error_groups/get_error_sample_details'; import { offsetRt } from '../../../common/comparison_rt'; import { getTopErroneousTransactionsPeriods } from './erroneous_transactions/get_top_erroneous_transactions'; import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; @@ -187,8 +188,8 @@ const errorsDetailedStatisticsRoute = createApmServerRoute({ }, }); -const errorGroupsRoute = createApmServerRoute({ - endpoint: 'GET /internal/apm/services/{serviceName}/errors/{groupId}', +const errorGroupsSamplesRoute = createApmServerRoute({ + endpoint: 'GET /internal/apm/services/{serviceName}/errors/{groupId}/samples', params: t.type({ path: t.type({ serviceName: t.string, @@ -197,6 +198,41 @@ const errorGroupsRoute = createApmServerRoute({ query: t.intersection([environmentRt, kueryRt, rangeRt]), }), options: { tags: ['access:apm'] }, + handler: async ( + resources + ): Promise<{ + errorSampleIds: string[]; + occurrencesCount: number; + }> => { + const { params } = resources; + const apmEventClient = await getApmEventClient(resources); + const { serviceName, groupId } = params.path; + const { environment, kuery, start, end } = params.query; + + return getErrorGroupSampleIds({ + environment, + groupId, + kuery, + serviceName, + apmEventClient, + start, + end, + }); + }, +}); + +const errorGroupSampleDetailsRoute = createApmServerRoute({ + endpoint: + 'GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}', + params: t.type({ + path: t.type({ + serviceName: t.string, + groupId: t.string, + errorId: t.string, + }), + query: t.intersection([environmentRt, kueryRt, rangeRt]), + }), + options: { tags: ['access:apm'] }, handler: async ( resources ): Promise<{ @@ -204,16 +240,15 @@ const errorGroupsRoute = createApmServerRoute({ | import('./../../../typings/es_schemas/ui/transaction').Transaction | undefined; error: import('./../../../typings/es_schemas/ui/apm_error').APMError; - occurrencesCount: number; }> => { const { params } = resources; const apmEventClient = await getApmEventClient(resources); - const { serviceName, groupId } = params.path; + const { serviceName, errorId } = params.path; const { environment, kuery, start, end } = params.query; - return getErrorGroupSample({ + return getErrorSampleDetails({ environment, - groupId, + errorId, kuery, serviceName, apmEventClient, @@ -323,7 +358,8 @@ export const errorsRouteRepository = { ...errorsMainStatisticsRoute, ...errorsMainStatisticsByTransactionNameRoute, ...errorsDetailedStatisticsRoute, - ...errorGroupsRoute, + ...errorGroupsSamplesRoute, + ...errorGroupSampleDetailsRoute, ...errorDistributionRoute, ...topErroneousTransactionsRoute, }; diff --git a/x-pack/plugins/apm/server/routes/service_groups/get_service_group_alerts.ts b/x-pack/plugins/apm/server/routes/service_groups/get_service_group_alerts.ts index de097dd646ca9..16178d305bd12 100644 --- a/x-pack/plugins/apm/server/routes/service_groups/get_service_group_alerts.ts +++ b/x-pack/plugins/apm/server/routes/service_groups/get_service_group_alerts.ts @@ -15,7 +15,7 @@ import { import { Logger } from '@kbn/core/server'; import { ApmPluginRequestHandlerContext } from '../typings'; import { SavedServiceGroup } from '../../../common/service_groups'; -import { ApmAlertsClient } from './get_apm_alerts_client'; +import { ApmAlertsClient } from '../../lib/helpers/get_apm_alerts_client'; export async function getServiceGroupAlerts({ serviceGroups, diff --git a/x-pack/plugins/apm/server/routes/service_groups/route.ts b/x-pack/plugins/apm/server/routes/service_groups/route.ts index 889c88b613387..881092134700f 100644 --- a/x-pack/plugins/apm/server/routes/service_groups/route.ts +++ b/x-pack/plugins/apm/server/routes/service_groups/route.ts @@ -23,7 +23,7 @@ import { import { getServicesCounts } from './get_services_counts'; import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; import { getServiceGroupAlerts } from './get_service_group_alerts'; -import { getApmAlertsClient } from './get_apm_alerts_client'; +import { getApmAlertsClient } from '../../lib/helpers/get_apm_alerts_client'; const serviceGroupsRoute = createApmServerRoute({ endpoint: 'GET /internal/apm/service-groups', diff --git a/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap b/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap index a1418b9e7bc02..7f9ba0b4d871f 100644 --- a/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap +++ b/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap @@ -219,6 +219,7 @@ Array [ "track_total_hits": false, }, }, + undefined, ] `; diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_service_alerts.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_service_alerts.ts new file mode 100644 index 0000000000000..989ea8b9a6628 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_service_alerts.ts @@ -0,0 +1,92 @@ +/* + * 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. + */ + +import { + AggregationsCardinalityAggregate, + AggregationsFilterAggregate, +} from '@elastic/elasticsearch/lib/api/types'; +import { kqlQuery } from '@kbn/observability-plugin/server'; +import { + ALERT_RULE_PRODUCER, + ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_UUID, +} from '@kbn/rule-data-utils'; +import { SERVICE_NAME } from '../../../../common/es_fields/apm'; +import { ServiceGroup } from '../../../../common/service_groups'; +import { ApmAlertsClient } from '../../../lib/helpers/get_apm_alerts_client'; +import { serviceGroupQuery } from '../../../lib/service_group_query'; +import { MAX_NUMBER_OF_SERVICES } from './get_services_items'; + +interface ServiceAggResponse { + buckets: Array< + AggregationsFilterAggregate & { + key: string; + alerts_count: AggregationsCardinalityAggregate; + } + >; +} + +export async function getServicesAlerts({ + apmAlertsClient, + kuery, + maxNumServices = MAX_NUMBER_OF_SERVICES, + serviceGroup, + serviceName, +}: { + apmAlertsClient: ApmAlertsClient; + kuery?: string; + maxNumServices?: number; + serviceGroup?: ServiceGroup | null; + serviceName?: string; +}) { + const params = { + size: 0, + query: { + bool: { + filter: [ + { term: { [ALERT_RULE_PRODUCER]: 'apm' } }, + { term: { [ALERT_STATUS]: ALERT_STATUS_ACTIVE } }, + ...kqlQuery(kuery), + ...serviceGroupQuery(serviceGroup), + ...(serviceName ? [{ term: { [SERVICE_NAME]: serviceName } }] : []), + ], + }, + }, + aggs: { + services: { + terms: { + field: SERVICE_NAME, + size: maxNumServices, + }, + aggs: { + alerts_count: { + cardinality: { + field: ALERT_UUID, + }, + }, + }, + }, + }, + }; + + const result = await apmAlertsClient.search(params); + + const { buckets: filterAggBuckets } = (result.aggregations?.services ?? { + buckets: [], + }) as ServiceAggResponse; + + const servicesAlertsCount: Array<{ + serviceName: string; + alertsCount: number; + }> = filterAggBuckets.map((bucket) => ({ + serviceName: bucket.key as string, + alertsCount: bucket.alerts_count.value, + })); + + return servicesAlertsCount; +} diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_services_items.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_services_items.ts index b489f811ab511..db8de52061f29 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_services_items.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_services_items.ts @@ -16,6 +16,8 @@ import { mergeServiceStats } from './merge_service_stats'; import { ServiceGroup } from '../../../../common/service_groups'; import { RandomSampler } from '../../../lib/helpers/get_random_sampler'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; +import { getServicesAlerts } from './get_service_alerts'; +import { ApmAlertsClient } from '../../../lib/helpers/get_apm_alerts_client'; export const MAX_NUMBER_OF_SERVICES = 500; @@ -24,6 +26,7 @@ export async function getServicesItems({ kuery, mlClient, apmEventClient, + apmAlertsClient, searchAggregatedTransactions, searchAggregatedServiceMetrics, logger, @@ -36,6 +39,7 @@ export async function getServicesItems({ kuery: string; mlClient?: MlClient; apmEventClient: APMEventClient; + apmAlertsClient: ApmAlertsClient; searchAggregatedTransactions: boolean; searchAggregatedServiceMetrics: boolean; logger: Logger; @@ -61,6 +65,7 @@ export async function getServicesItems({ transactionStats, servicesFromErrorAndMetricDocuments, healthStatuses, + alertCounts, ] = await Promise.all([ searchAggregatedServiceMetrics ? getServiceAggregatedTransactionStats({ @@ -79,12 +84,17 @@ export async function getServicesItems({ logger.error(err); return []; }), + getServicesAlerts({ ...commonParams, apmAlertsClient }).catch((err) => { + logger.error(err); + return []; + }), ]); return mergeServiceStats({ transactionStats, servicesFromErrorAndMetricDocuments, healthStatuses, + alertCounts, }); }); } diff --git a/x-pack/plugins/apm/server/routes/services/get_services/index.ts b/x-pack/plugins/apm/server/routes/services/get_services/index.ts index d3a3952fff963..af74cb56e116e 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/index.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/index.ts @@ -12,12 +12,14 @@ import { getServicesItems } from './get_services_items'; import { ServiceGroup } from '../../../../common/service_groups'; import { RandomSampler } from '../../../lib/helpers/get_random_sampler'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; +import { ApmAlertsClient } from '../../../lib/helpers/get_apm_alerts_client'; export async function getServices({ environment, kuery, mlClient, apmEventClient, + apmAlertsClient, searchAggregatedTransactions, searchAggregatedServiceMetrics, logger, @@ -30,6 +32,7 @@ export async function getServices({ kuery: string; mlClient?: MlClient; apmEventClient: APMEventClient; + apmAlertsClient: ApmAlertsClient; searchAggregatedTransactions: boolean; searchAggregatedServiceMetrics: boolean; logger: Logger; @@ -44,6 +47,7 @@ export async function getServices({ kuery, mlClient, apmEventClient, + apmAlertsClient, searchAggregatedTransactions, searchAggregatedServiceMetrics, logger, diff --git a/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.test.ts b/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.test.ts index 2ab94507e6a33..8d92a9ddcf698 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.test.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.test.ts @@ -53,6 +53,12 @@ describe('mergeServiceStats', () => { serviceName: 'opbeans-java', }, ], + alertCounts: [ + { + alertsCount: 1, + serviceName: 'opbeans-java', + }, + ], }) ).toEqual([ { @@ -73,6 +79,7 @@ describe('mergeServiceStats', () => { throughput: 2, transactionErrorRate: 3, transactionType: 'request', + alertsCount: 1, }, ]); }); @@ -99,6 +106,12 @@ describe('mergeServiceStats', () => { serviceName: 'opbeans-java', }, ], + alertCounts: [ + { + alertsCount: 2, + serviceName: 'opbeans-java', + }, + ], }) ).toEqual([ { @@ -115,6 +128,7 @@ describe('mergeServiceStats', () => { environments: ['production'], healthStatus: ServiceHealthStatus.healthy, serviceName: 'opbeans-java', + alertsCount: 2, }, ]); }); @@ -135,6 +149,12 @@ describe('mergeServiceStats', () => { serviceName: 'opbeans-java', }, ], + alertCounts: [ + { + alertsCount: 3, + serviceName: 'opbeans-java-2', + }, + ], }) ).toEqual([ { @@ -145,6 +165,7 @@ describe('mergeServiceStats', () => { throughput: 2, transactionErrorRate: 3, transactionType: 'request', + alertsCount: 3, }, ]); }); @@ -166,6 +187,7 @@ describe('mergeServiceStats', () => { }, ], healthStatuses: [], + alertCounts: [], }) ).toEqual([ { diff --git a/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.ts b/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.ts index 1a0c91f83dbf1..8cfb944abe72b 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/merge_service_stats.ts @@ -7,6 +7,7 @@ import { uniq } from 'lodash'; import { asMutableArray } from '../../../../common/utils/as_mutable_array'; import { joinByKey } from '../../../../common/utils/join_by_key'; +import { getServicesAlerts } from './get_service_alerts'; import { getHealthStatuses } from './get_health_statuses'; import { getServicesFromErrorAndMetricDocuments } from './get_services_from_error_and_metric_documents'; import { getServiceTransactionStats } from './get_service_transaction_stats'; @@ -15,12 +16,14 @@ export function mergeServiceStats({ transactionStats, servicesFromErrorAndMetricDocuments, healthStatuses, + alertCounts, }: { transactionStats: Awaited>; servicesFromErrorAndMetricDocuments: Awaited< ReturnType >; healthStatuses: Awaited>; + alertCounts: Awaited>; }) { const foundServiceNames = transactionStats.map( ({ serviceName }) => serviceName @@ -46,6 +49,7 @@ export function mergeServiceStats({ ...transactionStats, ...servicesFromErrorAndMetricDocuments, ...matchedHealthStatuses, + ...alertCounts, ] as const), 'serviceName', function merge(a, b) { diff --git a/x-pack/plugins/apm/server/routes/services/queries.test.ts b/x-pack/plugins/apm/server/routes/services/queries.test.ts index f253fa175545b..dd7b8cd9fdcd9 100644 --- a/x-pack/plugins/apm/server/routes/services/queries.test.ts +++ b/x-pack/plugins/apm/server/routes/services/queries.test.ts @@ -5,15 +5,15 @@ * 2.0. */ -import { getServiceAgent } from './get_service_agent'; -import { getServiceTransactionTypes } from './get_service_transaction_types'; -import { getServicesItems } from './get_services/get_services_items'; -import { hasHistoricalAgentData } from '../historical_data/has_historical_agent_data'; +import { ENVIRONMENT_ALL } from '../../../common/environment_filter_values'; import { - SearchParamsMock, inspectSearchParams, + SearchParamsMock, } from '../../utils/test_helpers'; -import { ENVIRONMENT_ALL } from '../../../common/environment_filter_values'; +import { hasHistoricalAgentData } from '../historical_data/has_historical_agent_data'; +import { getServicesItems } from './get_services/get_services_items'; +import { getServiceAgent } from './get_service_agent'; +import { getServiceTransactionTypes } from './get_service_transaction_types'; describe('services queries', () => { let mock: SearchParamsMock; @@ -50,23 +50,25 @@ describe('services queries', () => { }); it('fetches the service items', async () => { - mock = await inspectSearchParams(({ mockApmEventClient }) => - getServicesItems({ - mlClient: undefined, - apmEventClient: mockApmEventClient, - searchAggregatedTransactions: false, - searchAggregatedServiceMetrics: false, - logger: {} as any, - environment: ENVIRONMENT_ALL.value, - kuery: '', - start: 0, - end: 50000, - serviceGroup: null, - randomSampler: { - probability: 1, - seed: 0, - }, - }) + mock = await inspectSearchParams( + ({ mockApmEventClient, mockApmAlertsClient }) => + getServicesItems({ + mlClient: undefined, + apmEventClient: mockApmEventClient, + searchAggregatedTransactions: false, + searchAggregatedServiceMetrics: false, + logger: {} as any, + environment: ENVIRONMENT_ALL.value, + kuery: '', + start: 0, + end: 50000, + serviceGroup: null, + randomSampler: { + probability: 1, + seed: 0, + }, + apmAlertsClient: mockApmAlertsClient, + }) ); const allParams = mock.spy.mock.calls.map((call) => call[1]); diff --git a/x-pack/plugins/apm/server/routes/services/route.ts b/x-pack/plugins/apm/server/routes/services/route.ts index a8ebb633aa956..0f2e40caf8b04 100644 --- a/x-pack/plugins/apm/server/routes/services/route.ts +++ b/x-pack/plugins/apm/server/routes/services/route.ts @@ -56,6 +56,8 @@ import { offsetRt } from '../../../common/comparison_rt'; import { getRandomSampler } from '../../lib/helpers/get_random_sampler'; import { createInfraMetricsClient } from '../../lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client'; import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; +import { getApmAlertsClient } from '../../lib/helpers/get_apm_alerts_client'; +import { getServicesAlerts } from './get_services/get_service_alerts'; const servicesRoute = createApmServerRoute({ endpoint: 'GET /internal/apm/services', @@ -88,6 +90,10 @@ const servicesRoute = createApmServerRoute({ | { serviceName: string; healthStatus: import('./../../../common/service_health_status').ServiceHealthStatus; + } + | { + serviceName: string; + alertsCount: number; }, { serviceName: string; @@ -104,6 +110,9 @@ const servicesRoute = createApmServerRoute({ } & { serviceName: string; healthStatus: import('./../../../common/service_health_status').ServiceHealthStatus; + } & { + serviceName: string; + alertsCount: number; } >; }> { @@ -126,15 +135,21 @@ const servicesRoute = createApmServerRoute({ } = params.query; const savedObjectsClient = (await context.core).savedObjects.client; - const [mlClient, apmEventClient, serviceGroup, randomSampler] = - await Promise.all([ - getMlClient(resources), - getApmEventClient(resources), - serviceGroupId - ? getServiceGroup({ savedObjectsClient, serviceGroupId }) - : Promise.resolve(null), - getRandomSampler({ security, request, probability }), - ]); + const [ + mlClient, + apmEventClient, + apmAlertsClient, + serviceGroup, + randomSampler, + ] = await Promise.all([ + getMlClient(resources), + getApmEventClient(resources), + getApmAlertsClient(resources), + serviceGroupId + ? getServiceGroup({ savedObjectsClient, serviceGroupId }) + : Promise.resolve(null), + getRandomSampler({ security, request, probability }), + ]); const { searchAggregatedTransactions, searchAggregatedServiceMetrics } = await getServiceInventorySearchSource({ @@ -151,6 +166,7 @@ const servicesRoute = createApmServerRoute({ kuery, mlClient, apmEventClient, + apmAlertsClient, searchAggregatedTransactions, searchAggregatedServiceMetrics, logger, @@ -1198,6 +1214,36 @@ const sortedAndFilteredServicesRoute = createApmServerRoute({ }, }); +const serviceAlertsRoute = createApmServerRoute({ + endpoint: 'GET /internal/apm/services/{serviceName}/alerts_count', + params: t.type({ + path: t.type({ + serviceName: t.string, + }), + }), + options: { tags: ['access:apm'] }, + handler: async ( + resources + ): Promise<{ + serviceName: string; + alertsCount: number; + }> => { + const { params } = resources; + + const { serviceName } = params.path; + + const apmAlertsClient = await getApmAlertsClient(resources); + const servicesAlerts = await getServicesAlerts({ + serviceName, + apmAlertsClient, + }); + + return servicesAlerts.length > 0 + ? servicesAlerts[0] + : { serviceName, alertsCount: 0 }; + }, +}); + export const serviceRouteRepository = { ...servicesRoute, ...servicesDetailedStatisticsRoute, @@ -1216,4 +1262,5 @@ export const serviceRouteRepository = { ...serviceDependenciesBreakdownRoute, ...serviceAnomalyChartsRoute, ...sortedAndFilteredServicesRoute, + ...serviceAlertsRoute, }; diff --git a/x-pack/plugins/apm/server/utils/test_helpers.tsx b/x-pack/plugins/apm/server/utils/test_helpers.tsx index 37db53111903c..22ca4783497ca 100644 --- a/x-pack/plugins/apm/server/utils/test_helpers.tsx +++ b/x-pack/plugins/apm/server/utils/test_helpers.tsx @@ -9,6 +9,7 @@ import type { ESSearchRequest, ESSearchResponse } from '@kbn/es-types'; import { APMConfig } from '..'; import { APMEventClient } from '../lib/helpers/create_es_client/create_apm_event_client'; import { APMInternalESClient } from '../lib/helpers/create_es_client/create_internal_es_client'; +import { ApmAlertsClient } from '../lib/helpers/get_apm_alerts_client'; import { ApmIndicesConfig } from '../routes/settings/apm_indices/get_apm_indices'; interface Options { @@ -24,11 +25,13 @@ export async function inspectSearchParams( mockConfig, mockInternalESClient, mockIndices, + mockApmAlertsClient, }: { mockApmEventClient: APMEventClient; mockConfig: APMConfig; mockInternalESClient: APMInternalESClient; mockIndices: ApmIndicesConfig; + mockApmAlertsClient: ApmAlertsClient; }) => Promise, options: Options = {} ) { @@ -85,6 +88,7 @@ export async function inspectSearchParams( } ) as APMConfig; const mockInternalESClient = { search: spy } as any; + const mockApmAlertsClient = { search: spy } as any; try { response = await fn({ @@ -92,6 +96,7 @@ export async function inspectSearchParams( mockApmEventClient, mockConfig, mockInternalESClient, + mockApmAlertsClient, }); } catch (err) { error = err; diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index 17ee8b7bcaddd..51a440ac249da 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": [ "../../../typings/**/*", @@ -18,28 +16,68 @@ "server/**/*.json", ], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../../src/plugins/home/tsconfig.json" }, - { "path": "../../../src/plugins/inspector/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../actions/tsconfig.json" }, - { "path": "../alerting/tsconfig.json" }, - { "path": "../cloud/tsconfig.json" }, - { "path": "../features/tsconfig.json" }, - { "path": "../infra/tsconfig.json" }, - { "path": "../licensing/tsconfig.json" }, - { "path": "../maps/tsconfig.json" }, - { "path": "../ml/tsconfig.json" }, - { "path": "../observability/tsconfig.json" }, - { "path": "../reporting/tsconfig.json" }, - { "path": "../rule_registry/tsconfig.json" }, - { "path": "../security/tsconfig.json" }, - { "path": "../task_manager/tsconfig.json" }, - { "path": "../triggers_actions_ui/tsconfig.json" }, - { "path": "../fleet/tsconfig.json" } + "@kbn/core", + "@kbn/data-plugin", + "@kbn/embeddable-plugin", + "@kbn/home-plugin", + "@kbn/inspector-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/usage-collection-plugin", + "@kbn/actions-plugin", + "@kbn/alerting-plugin", + "@kbn/cloud-plugin", + "@kbn/features-plugin", + "@kbn/infra-plugin", + "@kbn/licensing-plugin", + "@kbn/maps-plugin", + "@kbn/ml-plugin", + "@kbn/observability-plugin", + "@kbn/rule-registry-plugin", + "@kbn/security-plugin", + "@kbn/task-manager-plugin", + "@kbn/triggers-actions-ui-plugin", + "@kbn/fleet-plugin", + "@kbn/io-ts-utils", + "@kbn/i18n", + "@kbn/es-query", + "@kbn/ui-theme", + "@kbn/apm-synthtrace-client", + "@kbn/lens-plugin", + "@kbn/unified-search-plugin", + "@kbn/share-plugin", + "@kbn/spaces-plugin", + "@kbn/data-views-plugin", + "@kbn/charts-plugin", + "@kbn/field-formats-plugin", + "@kbn/typed-react-router-config", + "@kbn/advanced-settings-plugin", + "@kbn/core-http-browser", + "@kbn/server-route-repository", + "@kbn/datemath", + "@kbn/utility-types", + "@kbn/i18n-react", + "@kbn/rule-data-utils", + "@kbn/core-lifecycle-browser", + "@kbn/shared-ux-page-kibana-template", + "@kbn/es-ui-shared-plugin", + "@kbn/es-types", + "@kbn/unified-field-list-plugin", + "@kbn/analytics", + "@kbn/rison", + "@kbn/config-schema", + "@kbn/repo-info", + "@kbn/apm-utils", + "@kbn/logging", + "@kbn/std", + "@kbn/core-saved-objects-api-server-mocks", + "@kbn/field-types", + "@kbn/core-http-server-mocks", + "@kbn/babel-register", + "@kbn/core-saved-objects-migration-server-internal", + "@kbn/core-elasticsearch-server", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/apm/typings/es_schemas/raw/error_raw.ts b/x-pack/plugins/apm/typings/es_schemas/raw/error_raw.ts index 8243c2b53a4f9..7534c2f82066f 100644 --- a/x-pack/plugins/apm/typings/es_schemas/raw/error_raw.ts +++ b/x-pack/plugins/apm/typings/es_schemas/raw/error_raw.ts @@ -35,7 +35,7 @@ export interface Exception { stacktrace?: Stackframe[]; } -interface Log { +export interface Log { message: string; stacktrace?: Stackframe[]; } diff --git a/x-pack/plugins/banners/tsconfig.json b/x-pack/plugins/banners/tsconfig.json index 77b896508fac8..e79f9107075f5 100644 --- a/x-pack/plugins/banners/tsconfig.json +++ b/x-pack/plugins/banners/tsconfig.json @@ -1,15 +1,18 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", }, "include": ["public/**/*", "server/**/*", "common/**/*", "../../../typings/**/*"], "kbn_references": [ - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/screenshot_mode/tsconfig.json" }, - { "path": "../licensing/tsconfig.json" } + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/screenshot-mode-plugin", + "@kbn/licensing-plugin", + "@kbn/config-schema", + "@kbn/i18n", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/canvas/scripts/shareable_runtime.js b/x-pack/plugins/canvas/scripts/shareable_runtime.js index c143637a95f07..a0b8421f8da01 100644 --- a/x-pack/plugins/canvas/scripts/shareable_runtime.js +++ b/x-pack/plugins/canvas/scripts/shareable_runtime.js @@ -5,6 +5,8 @@ * 2.0. */ +require('@kbn/babel-register').install(); + const fs = require('fs'); const path = require('path'); const { pipeline } = require('stream'); @@ -53,7 +55,6 @@ run( execa.sync( process.execPath, [ - '--preserve-symlinks', require.resolve('webpack-dev-server/bin/webpack-dev-server'), '--config', webpackConfig, @@ -87,7 +88,6 @@ run( execa.sync( process.execPath, [ - '--preserve-symlinks', require.resolve('webpack/bin/webpack'), '--config', webpackConfig, diff --git a/x-pack/plugins/canvas/server/templates/assets/048ed81e-84ae-4a48-9c30-641cf72b0376.jpg b/x-pack/plugins/canvas/server/templates/assets/048ed81e-84ae-4a48-9c30-641cf72b0376.jpg new file mode 100644 index 0000000000000..38988f948e8ea Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/048ed81e-84ae-4a48-9c30-641cf72b0376.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/assets/0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee.jpg b/x-pack/plugins/canvas/server/templates/assets/0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee.jpg new file mode 100644 index 0000000000000..9f685e52a0fba Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/assets/0c6f377f-771e-432e-8e2e-15c3e9142ad6.png b/x-pack/plugins/canvas/server/templates/assets/0c6f377f-771e-432e-8e2e-15c3e9142ad6.png new file mode 100644 index 0000000000000..94db73c2dd315 Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/0c6f377f-771e-432e-8e2e-15c3e9142ad6.png differ diff --git a/x-pack/plugins/canvas/server/templates/assets/23edd689-2d34-4bb8-a3eb-05420dd87b85.svg b/x-pack/plugins/canvas/server/templates/assets/23edd689-2d34-4bb8-a3eb-05420dd87b85.svg new file mode 100644 index 0000000000000..47ed57f5e8e35 --- /dev/null +++ b/x-pack/plugins/canvas/server/templates/assets/23edd689-2d34-4bb8-a3eb-05420dd87b85.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/x-pack/plugins/canvas/server/templates/assets/6fb8f925-0e1e-4108-8442-3dbf88d145e5.jpg b/x-pack/plugins/canvas/server/templates/assets/6fb8f925-0e1e-4108-8442-3dbf88d145e5.jpg new file mode 100644 index 0000000000000..8561e64e84161 Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/6fb8f925-0e1e-4108-8442-3dbf88d145e5.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/assets/7f2d5d96-3c85-49a0-94f3-e9b05de23cb6.jpg b/x-pack/plugins/canvas/server/templates/assets/7f2d5d96-3c85-49a0-94f3-e9b05de23cb6.jpg new file mode 100644 index 0000000000000..4e48001806956 Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/7f2d5d96-3c85-49a0-94f3-e9b05de23cb6.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/assets/9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8.png b/x-pack/plugins/canvas/server/templates/assets/9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8.png new file mode 100644 index 0000000000000..6ec2a4e79d066 Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8.png differ diff --git a/x-pack/plugins/canvas/server/templates/assets/a30a06eb-2276-44b1-a62d-856e2116138c.jpg b/x-pack/plugins/canvas/server/templates/assets/a30a06eb-2276-44b1-a62d-856e2116138c.jpg new file mode 100644 index 0000000000000..7c9c8c9506c3b Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/a30a06eb-2276-44b1-a62d-856e2116138c.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/assets/aa91a324-8012-477e-a7e4-7c3cd7a6332f.svg b/x-pack/plugins/canvas/server/templates/assets/aa91a324-8012-477e-a7e4-7c3cd7a6332f.svg new file mode 100644 index 0000000000000..485d5fdd47a3e --- /dev/null +++ b/x-pack/plugins/canvas/server/templates/assets/aa91a324-8012-477e-a7e4-7c3cd7a6332f.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/x-pack/plugins/canvas/server/templates/assets/b22b6fa7-618c-4a59-82a1-ca921454da48.svg b/x-pack/plugins/canvas/server/templates/assets/b22b6fa7-618c-4a59-82a1-ca921454da48.svg new file mode 100644 index 0000000000000..d407ddf51282f --- /dev/null +++ b/x-pack/plugins/canvas/server/templates/assets/b22b6fa7-618c-4a59-82a1-ca921454da48.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/x-pack/plugins/canvas/server/templates/assets/d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa.jpg b/x-pack/plugins/canvas/server/templates/assets/d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa.jpg new file mode 100644 index 0000000000000..65467920e89b1 Binary files /dev/null and b/x-pack/plugins/canvas/server/templates/assets/d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa.jpg differ diff --git a/x-pack/plugins/canvas/server/templates/pitch_presentation.ts b/x-pack/plugins/canvas/server/templates/pitch_presentation.ts index 82ad535852c97..fa949f5dce5a9 100644 --- a/x-pack/plugins/canvas/server/templates/pitch_presentation.ts +++ b/x-pack/plugins/canvas/server/templates/pitch_presentation.ts @@ -5,8 +5,27 @@ * 2.0. */ +import Fs from 'fs'; +import Path from 'path'; + import { CanvasTemplate } from '../../types'; +const ext = (name: string) => Path.extname(name); +const base64 = (name: string) => Fs.readFileSync(Path.resolve(__dirname, 'assets', name), 'base64'); +const contentType = (name: string) => { + switch (ext(name)) { + case '.jpg': + return 'image/jpeg'; + case '.png': + return 'image/png'; + case '.svg': + return 'image/svg+xml'; + default: + throw new Error(`unknown content-type for extension [${ext(name)}]`); + } +}; +const embed = (name: string) => `data:${contentType(name)};base64,${base64(name)}`; + export const pitch: CanvasTemplate = { id: 'workpad-template-061d7868-2b4e-4dc8-8bf7-3772b52926e5', name: 'Pitch', @@ -1576,78 +1595,67 @@ export const pitch: CanvasTemplate = { id: 'asset-a30a06eb-2276-44b1-a62d-856e2116138c', '@created': '2019-03-29T14:02:51.349Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,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', + value: embed('a30a06eb-2276-44b1-a62d-856e2116138c.jpg'), }, 'asset-23edd689-2d34-4bb8-a3eb-05420dd87b85': { id: 'asset-23edd689-2d34-4bb8-a3eb-05420dd87b85', '@created': '2019-03-29T14:43:08.655Z', type: 'dataurl', - value: - 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NSIgaGVpZ2h0PSI1MiIgdmlld0JveD0iMCAwIDU1IDUyIj4KICA8cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTM0LjEwODc1OSwxMzYuMTg0NDQgQzEzNS42NDE4MiwxMzYuNzEyOTg4IDEzNy4yODczOTMsMTM3IDEzOSwxMzcgQzE0MS40ODY3NywxMzcgMTQzLjgzMjIwMiwxMzYuMzk0ODYgMTQ1Ljg5NzA3MiwxMzUuMzIzODA0IEMxNDMuMTQ5MDQsMTMyLjgyNjA5OSAxNDEuMTc2ODUyLDEyOS40ODk4NzMgMTQwLjM4NDcxMSwxMjUuNzE5MzMgQzEzNi45OTA2ODIsMTI4LjEwNDc0OSAxMzQuNjMwMzI1LDEzMS44NjE0OTIgMTM0LjEwODc1OSwxMzYuMTg0NDQgWiBNMTMxLjI3MzA1NSwxMzQuODU5MzEgQzEzMi4yMDk5NDksMTI5LjUzNDg2NCAxMzUuNDg3MDg5LDEyNS4wMTY5MjUgMTQwLjAwNDQ3NywxMjIuNDA1NDkgQzE0MC4wMDE0OTgsMTIyLjI3MDY4NyAxNDAsMTIyLjEzNTUxOCAxNDAsMTIyIEMxNDAsMTE2LjcxODg0MiAxNDIuMjc0MzcyLDExMS45Njg4OTMgMTQ1Ljg5NzA3MiwxMDguNjc2MTk2IEMxNDMuODMyMjAyLDEwNy42MDUxNCAxNDEuNDg2NzcsMTA3IDEzOSwxMDcgQzEzMC43MTU3MjksMTA3IDEyNCwxMTMuNzE1NzI5IDEyNCwxMjIgQzEyNCwxMjcuNDU3OTEzIDEyNi45MTQ5OTQsMTMyLjIzNDk5MiAxMzEuMjczMDU1LDEzNC44NTkzMSBaIE0xNTMuODkxMjQxLDEyMy44MTU1NiBDMTUyLjM1ODE4LDEyMy4yODcwMTIgMTUwLjcxMjYwNywxMjMgMTQ5LDEyMyBDMTQ2LjkyNzM5NywxMjMgMTQ0Ljk1Mjk3MywxMjMuNDIwMzU2IDE0My4xNTczMzIsMTI0LjE4MDQ2MyBDMTQzLjcwODYzMywxMjcuOTY2MTU0IDE0NS42NzM4OTgsMTMxLjI5MzI5OCAxNDguNSwxMzMuNjA4NzY2IEMxNTEuNDE2NTU5LDEzMS4yMTkxODUgMTUzLjQxNjI5MiwxMjcuNzUyMTMgMTUzLjg5MTI0MSwxMjMuODE1NTYgWiBNMTUzLjk0MzM1MiwxMjAuNjg3Mjg4IEMxNTMuNTg0MSwxMTYuNTQzNTk1IDE1MS41NDAxMzEsMTEyLjg4MjA1OSAxNDguNSwxMTAuMzkxMjM0IEMxNDUuMzgwNDU5LDExMi45NDcxMjIgMTQzLjMwOTgsMTE2LjczNTY3OSAxNDMuMDMxOTU2LDEyMS4wMTI5NzMgQzE0NC44OTk1OTIsMTIwLjM1Njg0MSAxNDYuOTA4MTI0LDEyMCAxNDksMTIwIEMxNTAuNzE0MzE3LDEyMCAxNTIuMzcyNjU5LDEyMC4yMzk2NTQgMTUzLjk0MzM1MiwxMjAuNjg3Mjg4IFogTTEzMS4wMDA0NTQsMTM4LjEyOTE4NiBDMTI1LjA3MzMzNCwxMzUuMTgzODY4IDEyMSwxMjkuMDY3NjIzIDEyMSwxMjIgQzEyMSwxMTIuMDU4ODc1IDEyOS4wNTg4NzUsMTA0IDEzOSwxMDQgQzE0Mi40ODcxMzQsMTA0IDE0NS43NDI2NjUsMTA0Ljk5MTYwOSAxNDguNSwxMDYuNzA4MjM0IEMxNTEuMjU3MzM1LDEwNC45OTE2MDkgMTU0LjUxMjg2NiwxMDQgMTU4LDEwNCBDMTY3Ljk0MTEyNSwxMDQgMTc2LDExMi4wNTg4NzUgMTc2LDEyMiBDMTc2LDEyOC42NjQzODkgMTcyLjM3ODIwNCwxMzQuNDgyODYzIDE2Ni45OTU1MjMsMTM3LjU5NDUxIEMxNjYuOTk4NTAyLDEzNy43MjkzMTMgMTY3LDEzNy44NjQ0ODIgMTY3LDEzOCBDMTY3LDE0Ny45NDExMjUgMTU4Ljk0MTEyNSwxNTYgMTQ5LDE1NiBDMTM5LjEwMTk3MiwxNTYgMTMxLjA2OTkxLDE0OC4wMTA4NDkgMTMxLjAwMDQ1NCwxMzguMTI5MTg2IFogTTEzNC4wNTY2NDgsMTM5LjMxMjcxMiBDMTM0LjcyMTU4NiwxNDYuOTgyMjQyIDE0MS4xNTgwMzIsMTUzIDE0OSwxNTMgQzE1Ni45NTI2MzksMTUzIDE2My40NTk4MDQsMTQ2LjgxMTE5MiAxNjMuOTY4MDQ0LDEzOC45ODcwMjcgQzE2Mi4xMDA0MDgsMTM5LjY0MzE1OSAxNjAuMDkxODc2LDE0MCAxNTgsMTQwIEMxNTQuNTEyODY2LDE0MCAxNTEuMjU3MzM1LDEzOS4wMDgzOTEgMTQ4LjUsMTM3LjI5MTc2NiBDMTQ1Ljc0MjY2NSwxMzkuMDA4MzkxIDE0Mi40ODcxMzQsMTQwIDEzOSwxNDAgQzEzNy4yODU2ODMsMTQwIDEzNS42MjczNDEsMTM5Ljc2MDM0NiAxMzQuMDU2NjQ4LDEzOS4zMTI3MTIgWiBNMTU2Ljk5OTU0NiwxMjEuODcwODE0IEMxNjEuODU3MzQsMTI0LjI4NDc2IDE2NS40Njk5MDEsMTI4LjgyODY5MyAxNjYuNjE1Mjg5LDEzNC4yODA2NyBDMTcwLjQ3NjU4NiwxMzEuNTY2ODQyIDE3MywxMjcuMDc4MTA5IDE3MywxMjIgQzE3MywxMTMuNzE1NzI5IDE2Ni4yODQyNzEsMTA3IDE1OCwxMDcgQzE1NS41MTMyMywxMDcgMTUzLjE2Nzc5OCwxMDcuNjA1MTQgMTUxLjEwMjkyOCwxMDguNjc2MTk2IEMxNTQuNjk2MDY0LDExMS45NDIwMjIgMTU2Ljk2Mjc5LDExNi42NDE0MTQgMTU2Ljk5OTU0NiwxMjEuODcwODE0IFogTTE1Ni43MjY5NDUsMTI1LjE0MDY5IEMxNTYuMDIxNzU3LDEyOS4xNDgzMzUgMTUzLjk5MDcyOCwxMzIuNjk5MDYzIDE1MS4xMDI5MjgsMTM1LjMyMzgwNCBDMTUzLjE2Nzc5OCwxMzYuMzk0ODYgMTU1LjUxMzIzLDEzNyAxNTgsMTM3IEMxNjAuMDcyNjAzLDEzNyAxNjIuMDQ3MDI3LDEzNi41Nzk2NDQgMTYzLjg0MjY2OCwxMzUuODE5NTM3IEMxNjMuMTgyMzYyLDEzMS4yODUzMjMgMTYwLjQ5MzY2MiwxMjcuNDA4OTE1IDE1Ni43MjY5NDUsMTI1LjE0MDY5IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjEgLTEwNCkiLz4KPC9zdmc+Cg==', + value: embed('23edd689-2d34-4bb8-a3eb-05420dd87b85.svg'), }, 'asset-048ed81e-84ae-4a48-9c30-641cf72b0376': { id: 'asset-048ed81e-84ae-4a48-9c30-641cf72b0376', '@created': '2019-03-29T14:51:06.870Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAWICFADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD41oIzRRQAm33o+7S0UAJu9qWigjNABQRmk2+9LQAm33paKKACiiigAooooAXJwQD1pKKKACiiigAooooAKKKKACiiigApNvvS0UAAGKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKU47DFJRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFKFJUsBwOtACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRS8bSCOexpKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBNtKBilDEKVycHqM9aSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiintG6xq5UhXztOODigBlFFFABRRRQAUUUUAFFOwnl53/N/dxTaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilJzSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUm33pQMUAFFFFABRRTt/7sptXk5zjmgBtFFFABRRSbvagBaKAc0UABOKTd7UtFABRRRQBYa4Q2X2ZIgMtuZz1PtVeiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgcEH0oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAcm0Nl13D0zim0UUAFFFFABRRRQAUvAGAKSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopQPlJ9KSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAkgk8qVZNivtOdrDIP1qOp7K2a6kdFdF2Rs5LNgYAJ/pUFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQADoDRRS0AJRT5HaR2dzlmOSaZQAUUUUAFSNNK0QiaRii9FJ4H0qOigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqW2WN5lSVwiE8t6UICKinyIUkZT2OM0ygAooooAKKKKACiiigAooooAKKKCM0AFFJt96UDFABS5OCATg9R60lFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUm33pQMUAFFFFABRRRQAUUUUAFFFFABRRT3jZVVipAYZU460AMooooAKKKKACiiigAooooAKKKKACiigcACgAoopVGe4H1oASiiigAooooAKKKKACiiigAooooAKKKKACiiigBzBc/KSR79abRRQAUUUUAFFFFABRRRQAUUUUABGaTb70tFABRRRQAUUUUAFFFFABRRRQAU95HdUVjkIMD6UyjsR60AFFL/Bt465zSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU6RCjbW60ANooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAVmLHLEknuTmkoooAKKKKACilBwpGAc+tJQAUUUUAFFFT3dtJbMiyFcsoYbTng0AQUUUUAFLg4zg4FJUiTSrEYhI4jJBKhiAcevrQBHRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAE4pN3tS0UAFFFFABRRRQAE4pN3tS0UAFFFFABRRR2J9KACiiigAooooAKKKKACiiigAopybM/OWA/2Rk02gAooooAKKKKACiiigBWUrjPcZpKKKACjuT60UUAFFFFABRRRQAUUUdifSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACip7QwAyfaFkK+W20oej/w59s1BQAUUUUAFFFFABRRRQAU9pHZVVmJC52jsM0yigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiilII6igBKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAfH5fzeYGPynbj1plFFACrt3Dfnb3xSUUUAH+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALU919m8uDyPM3eX++3/wB/J6e2MVXooAKKKKACiiigAopVG5gozknAwKVlKsVIIIPQjmgBtFFFABRRRQAUUUUAFFFFABRRRQAUUoGVJyBj1pKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClALMFUEk0lKrFTuUkH2oACCGKkYI60lFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRQOoHrRQAUUU+OR487WIyMHB7UAMooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAe6FNuSDkZ4NMoooAKKKOe5zQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFWLSzuLqK4lgiLrbx+ZLj+Fc4z+tV6ACiiigAooooAKKWkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClY5JOMUlFABRRRQAUEZo57jFFACbfeloooAKtf2fef2Z/aRtpfsfneR5235fM27tufXbz9Kq1ZN7dfYPsH2ib7J5vneSXOzfjbux0zjjPpQBWooooAKKKKACiiigAop8jKzZVdowOM0ygAopQcUlABRRRQApBBII6UlFFABRRRQAUqqWbaoyTSUUAFFFFABRRRQAUUUUAFFTwNALaZXVjMSvlsDwBk5z9eKhptWASiinRrudVyBkgZNIBtFWtVtY7PUri1iuY7qOKQosyfdcDuKq0AFFFFAE7SQmzjjWIiYOWaTPUcYGPbn86goopt3AKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVa1L7D9oH9n+d5Plpnzeu7aN34Zzj2oAq0UUUAFFFFABRRRQAUUUUAFL+I6UlFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRTkVnbaoJPoBk00m3ZANooopAFKGI5BIPrmkooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKdHs+bfu6cY9abRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0ldL4a1fw9p/h7WbTUdB+36neLGlldtLgWgBJdtvdjwAe3NXTipO0nZCbsc1Tgy7NpXJ7HPSkJzSVLVnYYUUUUgCiiigAooooAKKKKACilBI6GkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFQ7XVuuDmhjlifU5pKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFJzSUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAKMdxkUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFOVS2cAnAycCm0APSR0DBXZQwwQDgEehplFFABRRRQAUUUUAO3v5fl7jt9BTaKKACiiigAooqYW7/ZBc5XaZPLxnnOM0AQ0UUUAFFFFAARmk2+9LRQAAYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACnAjaRtGSRg+lNpQcKRgHNACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUrABiFOQD1pKACrFn9m2T/aPMz5Z8nZ/fyMZ9sZqvRTTswFpKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVpaJLpsX2z+0bWW4L2rpbFH2+XMcbXPqBzx71b1rwrq+keHtH169t/KsNZWV7F9wJlWNtrHHbk10LDuUOaLFfWxhUUUVzjCiiigAooooAKKKKACiiigAooooAKKKKAClAzScdhS0AJRXQ6l4P1rTvCOl+Kru28rStVllis5iwPmNH97jt1rnq1q0ZUrKQBRRRWQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEohY2zT5GxXCdeckE9PwqKiigAooooAK1PDOuX/h7VRqemNGlysckas8YcAOpUkA98E4PasuinFuLug0aswp8TtG+9Dg4IplFIAooooAKKKKACiiigAooooAKKWkoAKKKKACiiigAooooAKKKKACiiigAooooAUAbSScYpW8vjYzHjnPrTaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApckkkmkooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKVThs0lFACsSzFmJJPrSUU9vlDKrhlPcDGaAGUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJt96WiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoqQOBCU2Andnd3A9KjoAKKKKACiiigAooooAKTb70tFACbfeloooAKKKKACiiigBaSiigAqSERliJWYLjsO/ao6KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACij8R+NFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRTomCyKzLuAIJGeo9KvabJppmu31CGcqbeT7OsBAxL/AAbs/wAPXNNK4GfVrSraK71K3tZ7qO0jllVGnkHyxgnBY+wqrRRF2dwJLmNYriSJZFlCOVDr0YA9R9ajoopdQCiiigAooooAKKKKACiiigAooooAKKKKAFAypOQMUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVYub27uLeC3nuZZIbcFYI2clYwTkhQemTzVeijUAooooAKKKKACiiigAoopVOM8A5GOaAEooooAKKKKACiiigAooooAtXGo309jb2E15PJa227yIXkJSLccttHQZPJxVWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopyMVbIx0I5ptABRRRQAUUUUAFFFFABRRRQAUUUUATPcytbR2xYmJGLKvuepqGiigAooooAKKKKACiiigAooooAKKKOOxzQAUUUUAFFFFABRRTlR2UsFO1SAzY4GaAG0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFKpxn3GKSgAooooAKKCcUm72oAWigHNFACbvalBzRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAoGaSiigApNvvS0UAAGKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACpYoJZIJZkQmOLbvPpk4FRU4MQpUE4PUZ4NADaKKKACiinwuY5FcAEqwYAjgketADKKlupjcXMs7KiGRy5VFwoJOcAdhUVABRRRQAUUUUAFFFFABRRRQAUUUUAFFFBGaACik2+9LQAUUUUAFFFFABRRRQAUUUDkgetABR2I9aUghipGCKTnsM0AFFFFABRRRQAUUUUAFFLgBQR1PWkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKfGm/d8wGBnnvTKACiiigAooooAKKKKACiiigAooooAKKKKACiiigB6Rsys4U7VxuOOBmmVJHNKkUkSuRHJjevY46VHQAUUUUAFFFFABRRRQAUUUrDDEUAJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRUjwyrAs5jYRsSFYjgkdaAI6KKKACiinxxtJu24+UZOSBxQAyiiigAooooAKKKKACniWQQmIOdhO4r2zTKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAO5HpRRRQAUUVPbWsk8M8yFAsChm3MATk4AA70AQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUABGaTb70tFABRRRQAUUUUAFFFFABRTkbbn5VORjkZptABRRRQAUUUUAO2/uy+5euMZ5ptFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSbfeloIzQAAYopNvvSgYoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACigjNJt96AFooooAKKKKACiignFABRSbvaloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACijjsKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKVhtOMg/SkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKUY2kk89h60lFABRRRQAUUUUAFFFFABRg9hmilDEKVB4PWgCwbYCwF158eTJsEX8eMZ3fTtVaiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACipJQg27C2Cozn1xzUdABRRRQAUUUoJCkA9aAEooooAKKKKACiiigAopdp2hiOD0pKACiiigAooooAKKVcBssMj0pKACiiigAooooAKKKKACiiigApSMKDkHNJRQAUUUUAFFFFABRRRQAUUUUAFFFFABUkksjxpGzsY0zsUnhc9cVHRQAUUUUAFFSNHthR96ksSNoPK49ajoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClCkqWA4HWkooAKKKKACiiigAo7EetFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVLHIqwSxmMMXxhu64oAiooooAKOe4xRRz3OaACiiigAooooAUHClcDnv3FJRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS0AJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJu9qWk3e1ACg5opN3tS0AFFFFABRRRQAUUUUAFFFFABSbfelooAAMUUUUAFFFFABRRQTigApVO1geuDnHamE5pdvvQBLcSmad5WVVLnJCjAFR0UUAFFFFABRRT4U8yVU3Bdxxk9BQAyipruEQXMkSyLKqOVEi/dbB6ioaACgjNFFACbfeloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACnKpKb+MA4NNooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBTjsMUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEiCPyZCzEOMbAO/rUdFFABRRRQAUUUUAFFFFABRTnYu25sEnvjFNoAKKKKAHRo0jhEUszHAA6k0hBDFWGCKdDI8UiyRsVdTlWHUGkZizFmOSTk/WgBtFFFABUqyBcEINwBGTUVFABRRRQAUUUUAFFSQrGyyF2wQuUGPvH0qOgAooooAKKKKACiiigAooooAKKKKACiiigBQCTgCk7kelFFABRRRQAU9I3cMyqSEGWIHAHqaZUsM8kUU0SsQkwCuB3AOR+tAEVFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVLbwSTvsiUu+M7QOfeoqACiiigAooooAKKKKACiiigAooooAe8boqsykBxlTjgimVJJLJIqK7swQYUE8KPao6ACiiigAooooAKKKKACiiigAooooAKKKKACinBSVZh0Uc0iqWzjsM0AJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFKrFTlSQfUHmkooAKKKKACiiigAooooAKKKKACiiigBVUscAUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSsSzFmOSaSigAoooJxQAUUm72paACiiigAooooAKKKKACiiigAoo7k+tFABRRRQAUUUUAT+dB9g8oQ5lEu/zd3bGMY+vNQUUUAFFFBOKACk3e1G72paAAHNFFFABRRRQAUUUUAFFFFABRRRQAUUU5TtOcA/WgBtFFFABRRRQAUUUUAFFFFABRRRQA5QCGJOMD86bRRQAUUUvG0gjnsaAEooooAKKKKACiiigAooooAKKmS4kW2e3yDG7BiMc5Hv2qGm1YAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFBOKKKAE3e1LRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRQTik3e1AC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAU943TbvUruUMM9we9MpzO743uW2gKM9h6UACrnPIGBnnvTaKKACjuR6UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFKzFiSeSTk0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU+JN7Y3KvHVjgUAMooooAKKKKACiiigAooooAKKKKACiinsmI1fcDuzx3FADKKKKACiiigAooooAKKKKACiiigApzFDjYD0Gc+tNooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAXjBJNJRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJu9qUHNFFABRRQTigAopN3tRu9qAFooooAKKKKACk2+9LRQAAYooooAKKKKACiiigAooooAKKKKACiiigBNvvSgYoooAKKKKACiiigAooooAKKKKACiiigApdp2hiOD0pKKACiiigAooooAKKKKACiiigAooooAUnNJRRQAUUm72pQc0AHYj1ooooAKKKKACiiigAooooAKKKKACik3e1KDmgAooooAKKKKACignFJu9qADb70oGKKKACiiigAooooAKKKKACinEYUHI57Z5ptABRQOoHrRQAUUUUAFKBlScgY9aSigAooooAKKKKACiiigBas31tFbrbtHdxXHnQiRggOYmJIKNnuMfrVWigAooooAKKKKACiiigAooooAKVgvGGzxz7UlFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRUsELS7tuPlG45YDj8aioAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiirmpabfaa0SX1rPbPLGsqLLGULIwyrAHqCOQauNOUk5JaICnRRRUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLxtII57GkooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqSaMxMAe6hh9DUdKST1OaadlYBKKKKQBRRSbfegBaKAMUUAFFFFABRRRQAUUUm33oAWigDFFADk2Z+csB/sjJptFFABRRRQAUUUUAFFFFAE63BFo1v5aYLh92PmyBjGfSoKKKACiiigAooooAKKTb70oGKAClY5YmkooAKKKKACiiigAooooAKKKKACiiigAooooAKfFIY92FU7lx8wzj3plBOKACik3e1LQAUUUUAFFFFABRRRQAUUUE4oAKKTd7UoOaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKe7BlUBQCByfWmUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVJJJvVF2KuxcZA5PPU0AR0U4tlQMDjv3NNoAKKKKACiiigAooo7EetABRRRQAUUm72pQc0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFOjALruOBkZPoKWZY1mcQszRhiFJGCR60AMop8TKrEsm7g45xzTKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopeNoAHPc+tJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRUjtGYI1VSJATuJ7jtQBHRx2FFFABRRRQAUUUUAFFFTXcUcMgWOdZgVBLKMAEjkfhQA2CMzSrGpALHqelR0UUAFFFFABRRRQAUUUUAFFFFABRRRQAd61vEviHWPEl+l9rd9JeXEcEdujv/DHGu1FGOgAFZNFNSavYNOoUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAop7xuiqWVgGGVyMZFNYliSTQAlFFFABRRRQAUUUUAFHYn0oooAKKKKACiiigAqRZcQPFt+8wOajooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAHAZUnIGO2eabRRQAUUuTjBOcUlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACbvalBzTSMUlAD6Td7UtFAADmiiigAooooAKKKKACiijuR6UAFFFFABRRRQAoJ24JyB0pKCM0m33oAN3tRu9qUnFJu9qAFopN3tRu9qAFoJxSbvaloATd7UtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFBOKACik3e1KDmgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKfE+xt20NwRg9KZRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJu9qUHNFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFOVgI2UqCSRhu4oAbRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRT4nMbq64ypBGfagBlFPk++xJBJOSQaZQAUUUUAFFFFABRRTgxCkA9fagBtFFFABRRRQAUUUUASLEWjZwyfKQMFgCc+g71HRRQAUUUUAFFFFABRRRQAUUUUAKpAYFhkA9KTuT60UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRTwU2Yw271zx+VADKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACnKrNnarNgZOBnFNpaAEooooAKKKKACiiigAooooAKKKKACiiigBVO1s4B+tDHLE+tJRQAUUUUAOZnbG9i2BgZ7Cm0UUAFFFFABRRRQAUUUUAFFFFABRRTyhEavkYYkD14oAZRRRQAUUUUAFFFFABRRRQAUUUUAPdNqqdynPYHJFMoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBNvvR92looATd7UoOafCjSyrGoJZjhQB1NIylWKsMEEg/WjoA2iiigAoooJxQAUUm72paAAnFJu9qWigAooooAKKKKAClIIJBGCKbu9qUHNABRRRQAUUUUAFSRwySRu6IzKmNxA4GeBmo6kjlkjR0R2CyDDgHhh70AR0UUUAFSQSmLfhI33Lt+dA2Ppnofeo6KACiiigAooooAKKKKACiiigAopN3tSg5oAKKKXsRgc0AJRRRQAUUVLBC0xYLj5Rk5YDj8aAIqKKKACk2+9LRQAAYooooAKKKKACiiigAooooAKKKKACiiigAooooAKcrYUjapz3I5FNooAKKKKACinKuVJ3KMdicE02gAooooAKCcUUUAJu9qPvUtFACbfeloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAE2+9KBiiigAooooAKKKKAHIcNmun8cP4TfSvD/8AwjSXy3Y08DV/tJBU3O4/c/2duK5aitoV5Qg4LZia1uFFFFYjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACij5f4qKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKViWJJNACUUUUAFFFFABRRRQAUUUUAFFFFABRSsQcYGOMUlABRRRQAUUpBHUUlABRRRQAUUUUAFFFFABRRRQAUUUUAFKCR0NLGEL/Pnbg5xTaACiiigAooooAOxPpR3I9KKKACiiigAp8cbSNtQZNMooAKKKKACiiigAooooAKKKKACiiigBfl/h9KSiigAooooAKKKKACiilAzQAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSqcZ4ByMc0AJRRRQAUUUUAFFFFACbfeloooAKKKKAFpu33qeOZVhkjMKMXIw5zuXHpzUG33oANvvSgYopNvvQAtFAGKKAJIZXhkDoxVgcgjqKazFmLMSSTkk9SabRRd2sAUUUUABGaTb70tFACbfejb70tBGaACik2+9G33oAWiiigAooooAKKKKACgjNFFACbfelAxRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFKRigBKKKKACiiigAooooAKKKKACiiigAooooATb70oGKKKACiiigAooooAKcilmCqCSTgAdSabT4pHikWSM4ZWDA+45FACOrIxVgVYHBBGCKbUlxLJPPJPM5eSRizsepJ61HQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS4+UH1oASiiigAooooAKKKKACnxOYpVkUAlTnBHFMooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiinKQM5BPHHOOaAG0UUUAFFFFABRRRQAUUqYLAMdo9afOIhKwhLFM8FupoAjooooAKKt2djJc2V5drJGqWqqXDNgtuOAAO9VKACiiigAooooAKOxPpRRQAUUUUAFHPYZopRkHINACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAKylSVYEEetJRRQAUUUUAFFFFABRRRQAUUUpJJJJyTQAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUfiPwoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBNvvSgYopN3tQAtJt96UHNJt96ADb70tAGKKACiiigAooooAKKTb70bfegBaCcUUUAJu9qWiigAJxSbvapBG3l78cZweR/LrTKAAHNFFFABRRRQAUUUUAFFFFABRRRQAUUUEZoAKKTb70oGKACiiigAooooAKTd7UtFACbvaloooAKKCM0m33oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAH7m8soOhOTTKKKA1CiiigAooooAKKKKACinIpdgqjJJAA9TTp4pIJXhmUpIjFWU9QR1FAEdFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVo+IP7K/tJhozXTWQRNhuMb920b+nbdux7VnUU09LAFK2MnaCB6E5pKKQBRRRQAUUUUAFFKAT0FJQAUUUUAFFFFABRRRQAUdiPWiigAooooAKKKKACiiigAooooAKKKKACiiigC9p01lFBeLdWzTSyQhbdg2BG+4HcfXgEfjVKkopuTaSElYKKKKQwooooAKKKKACiiigByKXYKoySQAPU1JeW01pcyW9wmyWNirqeoIqIEqwZTginSO8js7szMxySTkk0aWAZRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR3J9aKACiiigAooooAKKKKACiiigA/EfjRRRQAUUU5wgc7N23tmgBtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAATik3e1LSbfegA3e1KDmk2+9LQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUvG0nPPYU3b70bfegBeO4zRRRQAUUUUAFFFFABRVzRoLWfUIo724+zW+fnl27to9cd6rSqqyMqtuUMQDjqM9adtLgMooopAFFFFABRRRQAUUUUAFFFFABRRRQAUm33paKAADFFFFABRRRQAUUUUAFFFFABRWsvh7U38Ly+JUhDabFdLavLuGRIylgMdeQDWTQAUUUUAFFFFABRSsMY9xmkoAKOR0JFFFABRRRQAUUUUAFFFA6getABRRRQAUUUUAFFFFAC0ruzuzuxZmOSSckmm0UAFFFFABRRRQAU5FLuqKMsxwBTaKAHMpVircEHFNoooAKKKKACiiigAooooAKKKKAJVELWjdfODDHPGOc1FRSgDaSTjFACUUUUAFFFFABRRRQAUUUUAFFFFABRTo1DNhm2jGc4ptABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFKgBPzEgewyaSigAooooAKKKKACnxRtI21ASfQUylVirBlJBB6jrQNWT1EooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFPVgI2UoCTjBPagBlFFFABRRRQAUUUUAFFFFABRRRQAUUUUASCPMRk8xBg42k/MfoKjoooAKKKKACiiigAooooAKKKKACiiigAop8jhlUCNE2jGVHJ+tMoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopVUs21QSfakoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo7k+tFFABRRRQAUUUUAFFFFABRQOABRQAUUUUAFKRjHIPHakpxKbQF3Z7k0ANooooAKKKKACiiigAop8jl9ucfKMDHpTKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACk2+9LQTigAAxRSbvalBzQAUUynJ3oAWk3e1OZicZPQYpu33oAUHNFJt96WgAooooAKKKKACiiigAooooAKKCcUm72oAWik3e1G72oAWigHNJu9qAFooBzQTigAopN3tS0AFFFFABRRRQAUUUUAFFFLtIUMRwelACUUUUAFFFFABRRRQAUUUUAJu9qUHNFBOKACik3e1LQBIJZBEYvMfyydxXccZ9cetR0oICbcc5yDSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUpGMcg8Z4oASiiigAopxbMaptHBJz3NNoAKKfEnmSBNwXPc9KZQAUUUrHcxOAM9h0oASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo57DNFS+T/on2jzE+/s2Z+bpnOPSgCKiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiigcEH0oAKKKKACilA+Un0pKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKUgdmz+FJQAUUUUAFFFFABUkMgj3ZhjkyMfODx9MGo6KACiiigB8MrxMWRiDjGR6HrTKKKACiiigAooooAKKKKACiiigAooooAKPwH4UUUAFFFFABRS8YJJpKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAp6iMxsWZg+RtAAx755plH8JPpQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSqpZgqjJNJRQA50ZDh1Kn3ptFFABRRRQAUUUUABOKTd7UbfeloATd7UbvalooAAc0E4oooATd7UbvaloIzQAUUm33pQMUAFFFFABRRRQAUUUUAFJu9qWigABzRRRQAEZpNvvS0UAFFFFABRRRQAUUUUAFFFFABRRRQAEZpNvvS0UAAGKXJxgkkDoKSigAooooAKKKKACiiigAooooAKKKKACiiigAop8IjLESMyjHBHrTKACiiigAo47CiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiinBv3ZXHfOc0ANooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopV29yfwFJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFOfYTlSefWm0AFFFHcj0oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopVOGzSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUoJCkA9aAEooooAKKXgDAFJQAUUUUAFFFFABRRRQAUUUUAFFFPEZMfmDG3OM5H8utADKKKKACiiigAooooAKKKKACiprSWGKQtNG0g2kKA2MNjg/h6VDQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUfiPxooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopNvvS0AFFFFABRRRQAUUUUABGaTb70tFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAm72pQc0UUAFFFFABRRRQAUUUUABGaTb70tFAABiiiigAooooAKKKKACiiigAooooAKKKKACp7G2N3dLAsscRYH5pGwowCeT+FQUUAFFFFABRRR2I9aACgjNFFACbfeloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKUqQoYggHpnvQAlFKuA2WGR6UlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUhMXkfx+Zu/So6ltkjklCyy+Und9ucfhQBFRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRUk8MkEhjlRkcdVYYI/Co6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKVhjHuM0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACbfelAxRRQAUUUUAFFFBGaACik2+9LQAUUUUAFFFFABRRRQAUUUUAFFFFABSbfelooAAMUE4oooATd7UtFFABRRRQAm72pQc0UUAFJt96WigBNvvS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUhikEIlKNsJ2hscZ9M1HUnnSm2FsZGMIbeEzxuxjP8qAI6KKKACiiigAooooAXjByTnsMUlFFABRRRQAUEZoqVTF9nYFG8zeCrA9ueKAIdvvS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABU97a3FlcvbXUJhmTG5CMEZGf61BUlxNLcSmWeR5JG6s5yT+NAEdFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU5DtYHAOCDg9DSMdzFsAZOcDpQAlFFFADnYHGFxxzz1NNoooAKKKKACiiigAooooAKKKKACl3EqFJ4HSkooAKKKKACiiigAooooAKKKKACiiigA57HFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU5GKMGU4IOQabRQBPfXdxe3cl1dStLPKdzu3UmoKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKVmJxk9BigBKKKKACiiigAooooAKKKKACiiigApSpH3lI9M8UlOd3fAZiQowoPYUANooooAKKKfEUG7fnpxg96AGUUUUAFFFFABRRSg4oASiiigAooooAKKKKAFZSuMjGRkUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSodrBvQ5oASipbmZ7id5pNu5zk7RgflUVABRRRQAUUUUAFFFFACbvajd7UtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFKCR0NJRQAUUUUAFFFFAEiCLyZC5bzBjYB096joooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoop3y+XkyZb+7igBtFFKDhSPWgBKKKKAHvFIiK7IQr52nscdcUypHmkeKOJnJSPOwdhnk1HQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUqjLAZA571LeQpBcyRJMsyq2A6jAYetAENFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACgDaSTzkAD1pKKKACiiigAooooAKKKKACiiigAopQcUlABRRRQAUUUUAFFFFABRSgZoIxQAlFFFABRRSgZUnPI6D1oASiiigAopaAM0AJRRRQAUUpOaSgAopaKAEopaKAEooooAKKKKACilpKACilpKACiilAzQAlLg+hpKesjqjIrsFb7ygnB+o70AMooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooACM0m33pe5HpRQAEZpNvvS0UAAGKKKKACiiigAooIzSbfegBaKKKACiiigAoopNvvQAtFAGKKAAnFJu9qWigAooooAKKKKACiiigAooIzSbfegBaKKKACiiigAooooAKKKKACinxGMbvMBPHGDjmmUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSkYoASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACnRo77tgztG4/Sm0UAFFFFABRRRQAUUUUAA4YH0pzsXdnOMk54FNooAKKKKACiiigAop/mfuRHtHBzuHWmUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFL2IwOaSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKd95ielADaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopQM0AJRTtvvRt96AG0U7b70bfegBtFPVM55pfK/wBr9KAI6KkELlQaVYHNAEVFWPIejyHoAr0VZFuecDFSCH5QEB4HOR3oApUVf+zEdM/jR9mf/IoAoUVoLaMenFL9jPbj8KBN2M6nbfer/wBi9qkWxx2/SgXMZm33o2kdeK1PsftWwbfQx4WSNLO6bW2uy7zmQeULfbgKF/vZ5J6UBzrqcnto21sfYvr+FKbHHagOYxtvvSrGzdK2BZIe/wClP+xr34/CjToHMY3le/6Unkv6VtfZE9f0pVtYx15oDmMXym7c0eU3bmtv7Mn+RS/Z09aBOdjD8pu/FPjiG1g6sT2I7Vs/Z09aVYEFVzAp3MPy39KPLf0rd8lPSjyUo5gc7GJ5D0eQ9bfkxjoMUeUlHML2hieS9HkvW2IIx0XFHkr6VPtPIPaGKtu5pPIetxYlH8I/AUGJT2o9p5B7QxFt3NO+zHs2fwrY8laUwIKPaB7Qxfsz+v6UfZn9a2mjQsTil2AdOKnmD2hjNbk9Bim/Zj35rb2A9eaAkffA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KKKRjigBaKKa/agB1Iwz3plFADtnvRs96bRQBHRSbfeloACcUm72paKACiiigAooooAKKKKACiiigAooooAKKKKAClwcZIIB6H1pKXcdoUngdKAEp29vLKZ4JyabRQAUUm33o2+9AGvo+vXWl6Xqdhbw27x6jCIZmljDFVBDZX+6cjrWTRRTbbVgCiiikAUUUUAFFFFABRSbfelAxQAUUox3OKSgAoopWxuJUYHpQAlFFFABRRRQAUUUE4oAKKTd7UtAB3J9aKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtjwboFx4n8SWehWlza21xdyeXHJcyeXEpwTlmPQcVj0cjocVUGk7tXAkuImhnkhcjdGxU4ORkHHB71HRRUgFFFFABRRRQAUoYhWUHhutJRQAUUUUAFFFFABT5IpIwhdCoddy57j1/SmU5mLY3ktgYGT0HpQA2iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAp8aqyuWcKVGVGPvH0plFABRRRQAUUoGacqZ70AMoqVYGNPEDlgPWgCCkq5HZyNnPy/hUsdh1/wAKNOpPMZ4GacsZbp2rTjsOv+FTLaoO/wClJyXQTnYx/Jf0qTyHraS1QtnPT2pwiQdqXML2hjraZ7VL9jPfn8K0wcUu4DrxRzE8zKQsMqD6+1SR2Y54qwz47UnmkdBipcm9xcsyNbVB3/SpVjVWziojO5pjy9Pl/WkUoNlny09KU+X2XNU/O/2f1phkx2/Wgfsy9vA68U3zf9n9apecT1B/GhmJ6mgapxRcMh7cUjzYx2qnRSsUopFrzf8AZ/WjzgegzVWiiwyy0me360xZM54/WoaQnFFgJVOc0McVFu9qN3tQlYCVjik3+1RE5pKYE2/2o3+1RA4pd3tQA5jmhjntTAcUE5oAUHNLTKKAHA5paZRQA+imUU0rgPoplFPlAdu9qN3tTaKfKA7d7UfeptFNKwD8EYyMZGaQnFNopgFFFFABRTtvvRt96CeYbRTtvvRt96aVw5htKDinUU+UOYQDFLRT/u++aORhzEZFLUjDPehRjNX7KRLdyOin7PelYZ70eykRzLqR0U/Z706q9gw54karnNDLipKKaw8nsT7WI3Z701RnPNTbPejyz25q/YSD2sSPZ70bPepPLb0pfLbt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', + value: embed('048ed81e-84ae-4a48-9c30-641cf72b0376.jpg'), }, 'asset-aa91a324-8012-477e-a7e4-7c3cd7a6332f': { id: 'asset-aa91a324-8012-477e-a7e4-7c3cd7a6332f', '@created': '2019-03-29T15:13:45.105Z', type: 'dataurl', - value: - 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NSIgaGVpZ2h0PSI1MiIgdmlld0JveD0iMCAwIDU1IDUyIj4KICA8cGF0aCBmaWxsPSIjNDVCREIwIiBkPSJNMTM0LjEwODc1OSwxOTYuMTg0NDQgQzEzNS42NDE4MiwxOTYuNzEyOTg4IDEzNy4yODczOTMsMTk3IDEzOSwxOTcgQzE0MS40ODY3NywxOTcgMTQzLjgzMjIwMiwxOTYuMzk0ODYgMTQ1Ljg5NzA3MiwxOTUuMzIzODA0IEMxNDMuMTQ5MDQsMTkyLjgyNjA5OSAxNDEuMTc2ODUyLDE4OS40ODk4NzMgMTQwLjM4NDcxMSwxODUuNzE5MzMgQzEzNi45OTA2ODIsMTg4LjEwNDc0OSAxMzQuNjMwMzI1LDE5MS44NjE0OTIgMTM0LjEwODc1OSwxOTYuMTg0NDQgWiBNMTMxLjI3MzA1NSwxOTQuODU5MzEgQzEzMi4yMDk5NDksMTg5LjUzNDg2NCAxMzUuNDg3MDg5LDE4NS4wMTY5MjUgMTQwLjAwNDQ3NywxODIuNDA1NDkgQzE0MC4wMDE0OTgsMTgyLjI3MDY4NyAxNDAsMTgyLjEzNTUxOCAxNDAsMTgyIEMxNDAsMTc2LjcxODg0MiAxNDIuMjc0MzcyLDE3MS45Njg4OTMgMTQ1Ljg5NzA3MiwxNjguNjc2MTk2IEMxNDMuODMyMjAyLDE2Ny42MDUxNCAxNDEuNDg2NzcsMTY3IDEzOSwxNjcgQzEzMC43MTU3MjksMTY3IDEyNCwxNzMuNzE1NzI5IDEyNCwxODIgQzEyNCwxODcuNDU3OTEzIDEyNi45MTQ5OTQsMTkyLjIzNDk5MiAxMzEuMjczMDU1LDE5NC44NTkzMSBaIE0xNTMuODkxMjQxLDE4My44MTU1NiBDMTUyLjM1ODE4LDE4My4yODcwMTIgMTUwLjcxMjYwNywxODMgMTQ5LDE4MyBDMTQ2LjkyNzM5NywxODMgMTQ0Ljk1Mjk3MywxODMuNDIwMzU2IDE0My4xNTczMzIsMTg0LjE4MDQ2MyBDMTQzLjcwODYzMywxODcuOTY2MTU0IDE0NS42NzM4OTgsMTkxLjI5MzI5OCAxNDguNSwxOTMuNjA4NzY2IEMxNTEuNDE2NTU5LDE5MS4yMTkxODUgMTUzLjQxNjI5MiwxODcuNzUyMTMgMTUzLjg5MTI0MSwxODMuODE1NTYgWiBNMTUzLjk0MzM1MiwxODAuNjg3Mjg4IEMxNTMuNTg0MSwxNzYuNTQzNTk1IDE1MS41NDAxMzEsMTcyLjg4MjA1OSAxNDguNSwxNzAuMzkxMjM0IEMxNDUuMzgwNDU5LDE3Mi45NDcxMjIgMTQzLjMwOTgsMTc2LjczNTY3OSAxNDMuMDMxOTU2LDE4MS4wMTI5NzMgQzE0NC44OTk1OTIsMTgwLjM1Njg0MSAxNDYuOTA4MTI0LDE4MCAxNDksMTgwIEMxNTAuNzE0MzE3LDE4MCAxNTIuMzcyNjU5LDE4MC4yMzk2NTQgMTUzLjk0MzM1MiwxODAuNjg3Mjg4IFogTTEzMS4wMDA0NTQsMTk4LjEyOTE4NiBDMTI1LjA3MzMzNCwxOTUuMTgzODY4IDEyMSwxODkuMDY3NjIzIDEyMSwxODIgQzEyMSwxNzIuMDU4ODc1IDEyOS4wNTg4NzUsMTY0IDEzOSwxNjQgQzE0Mi40ODcxMzQsMTY0IDE0NS43NDI2NjUsMTY0Ljk5MTYwOSAxNDguNSwxNjYuNzA4MjM0IEMxNTEuMjU3MzM1LDE2NC45OTE2MDkgMTU0LjUxMjg2NiwxNjQgMTU4LDE2NCBDMTY3Ljk0MTEyNSwxNjQgMTc2LDE3Mi4wNTg4NzUgMTc2LDE4MiBDMTc2LDE4OC42NjQzODkgMTcyLjM3ODIwNCwxOTQuNDgyODYzIDE2Ni45OTU1MjMsMTk3LjU5NDUxIEMxNjYuOTk4NTAyLDE5Ny43MjkzMTMgMTY3LDE5Ny44NjQ0ODIgMTY3LDE5OCBDMTY3LDIwNy45NDExMjUgMTU4Ljk0MTEyNSwyMTYgMTQ5LDIxNiBDMTM5LjEwMTk3MiwyMTYgMTMxLjA2OTkxLDIwOC4wMTA4NDkgMTMxLjAwMDQ1NCwxOTguMTI5MTg2IFogTTEzNC4wNTY2NDgsMTk5LjMxMjcxMiBDMTM0LjcyMTU4NiwyMDYuOTgyMjQyIDE0MS4xNTgwMzIsMjEzIDE0OSwyMTMgQzE1Ni45NTI2MzksMjEzIDE2My40NTk4MDQsMjA2LjgxMTE5MiAxNjMuOTY4MDQ0LDE5OC45ODcwMjcgQzE2Mi4xMDA0MDgsMTk5LjY0MzE1OSAxNjAuMDkxODc2LDIwMCAxNTgsMjAwIEMxNTQuNTEyODY2LDIwMCAxNTEuMjU3MzM1LDE5OS4wMDgzOTEgMTQ4LjUsMTk3LjI5MTc2NiBDMTQ1Ljc0MjY2NSwxOTkuMDA4MzkxIDE0Mi40ODcxMzQsMjAwIDEzOSwyMDAgQzEzNy4yODU2ODMsMjAwIDEzNS42MjczNDEsMTk5Ljc2MDM0NiAxMzQuMDU2NjQ4LDE5OS4zMTI3MTIgWiBNMTU2Ljk5OTU0NiwxODEuODcwODE0IEMxNjEuODU3MzQsMTg0LjI4NDc2IDE2NS40Njk5MDEsMTg4LjgyODY5MyAxNjYuNjE1Mjg5LDE5NC4yODA2NyBDMTcwLjQ3NjU4NiwxOTEuNTY2ODQyIDE3MywxODcuMDc4MTA5IDE3MywxODIgQzE3MywxNzMuNzE1NzI5IDE2Ni4yODQyNzEsMTY3IDE1OCwxNjcgQzE1NS41MTMyMywxNjcgMTUzLjE2Nzc5OCwxNjcuNjA1MTQgMTUxLjEwMjkyOCwxNjguNjc2MTk2IEMxNTQuNjk2MDY0LDE3MS45NDIwMjIgMTU2Ljk2Mjc5LDE3Ni42NDE0MTQgMTU2Ljk5OTU0NiwxODEuODcwODE0IFogTTE1Ni43MjY5NDUsMTg1LjE0MDY5IEMxNTYuMDIxNzU3LDE4OS4xNDgzMzUgMTUzLjk5MDcyOCwxOTIuNjk5MDYzIDE1MS4xMDI5MjgsMTk1LjMyMzgwNCBDMTUzLjE2Nzc5OCwxOTYuMzk0ODYgMTU1LjUxMzIzLDE5NyAxNTgsMTk3IEMxNjAuMDcyNjAzLDE5NyAxNjIuMDQ3MDI3LDE5Ni41Nzk2NDQgMTYzLjg0MjY2OCwxOTUuODE5NTM3IEMxNjMuMTgyMzYyLDE5MS4yODUzMjMgMTYwLjQ5MzY2MiwxODcuNDA4OTE1IDE1Ni43MjY5NDUsMTg1LjE0MDY5IFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjEgLTE2NCkiLz4KPC9zdmc+Cg==', + value: embed('aa91a324-8012-477e-a7e4-7c3cd7a6332f.svg'), }, 'asset-0c6f377f-771e-432e-8e2e-15c3e9142ad6': { id: 'asset-0c6f377f-771e-432e-8e2e-15c3e9142ad6', '@created': '2019-03-29T15:23:05.562Z', type: 'dataurl', - value: - 'data:image/png;base64,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', + value: embed('0c6f377f-771e-432e-8e2e-15c3e9142ad6.png'), }, 'asset-9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8': { id: 'asset-9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8', '@created': '2019-03-29T15:23:05.713Z', type: 'dataurl', - value: - 'data:image/png;base64,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', + value: embed('9c2e5ab5-2dbe-43a8-bc84-e67f191fbcd8.png'), }, 'asset-6fb8f925-0e1e-4108-8442-3dbf88d145e5': { id: 'asset-6fb8f925-0e1e-4108-8442-3dbf88d145e5', '@created': '2019-03-29T15:36:01.954Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,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', + value: embed('6fb8f925-0e1e-4108-8442-3dbf88d145e5.jpg'), }, 'asset-d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa': { id: 'asset-d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa', '@created': '2019-03-29T15:55:34.064Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,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', + value: embed('d38c5025-eafc-4a35-a5fd-fb7b5bdc9efa.jpg'), }, 'asset-b22b6fa7-618c-4a59-82a1-ca921454da48': { id: 'asset-b22b6fa7-618c-4a59-82a1-ca921454da48', '@created': '2019-03-29T16:12:07.459Z', type: 'dataurl', - value: - 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDIwIDI0Ij4KICA8cG9seWdvbiBmaWxsPSIjNDVCREIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iMjM3IDEyMCAyNDkgMTQwIDIyNSAxNDAiIHRyYW5zZm9ybT0icm90YXRlKDkwIDE4Mi41IC00Mi41KSIvPgo8L3N2Zz4K', + value: embed('b22b6fa7-618c-4a59-82a1-ca921454da48.svg'), }, 'asset-7f2d5d96-3c85-49a0-94f3-e9b05de23cb6': { id: 'asset-7f2d5d96-3c85-49a0-94f3-e9b05de23cb6', '@created': '2019-03-29T19:55:47.705Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,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', + value: embed('7f2d5d96-3c85-49a0-94f3-e9b05de23cb6.jpg'), }, 'asset-0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee': { id: 'asset-0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee', '@created': '2019-03-29T19:55:47.974Z', type: 'dataurl', - value: - 'data:image/jpeg;base64,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jcYNTKV1obwhaXvFgHzOPSnc8ZqEAhjt49am5bFS3Y2pxutdybcAdw4qQTZ4qEg4GO9QrjJNYXvud9+XRI1EYZwauow4x2rCVjnP44q6shZvas5o6aVbo0bUcuOKsCTawNZMblm5+tXAxHHWsG7M9SlO6NiNgfm61qwnHPr2rnY3ORWzAxJBJ965ah7+Clc6G3YZDAVtw9vb8PxrnIHUgetbUEu1K4KrPpMJLRJm/E4AweamBAway7eXkFen6VfLc4Tt/KvOqI+lwtbZl4ScZ7+1TIAcFs5rOWQcE9atowA5Ncsu561KaOitblVGO9dDYXgziuIR1C5P+RW5p82XCjg15mKpJps+ny/FyTSPTdNulbAzjnvXYWzMSHTkEdR615vZSqpAHWurguysQavk8dC+x+jZRirKzeh//9L4GsrtCodcgHnn/Guu068KvuQ5UcnJrytHVgO+PaunsLvYFJGPxr9QrU7pnyFCpDmUorsevW91DcwZXqpHGfWuqtZzsWI4B68f/Xryawu1Egdc+p9a7e1v8IARkHIH1rwsTRd7I+rwcoP3pnpWlXhXIlYehFdJb3Y2788evavO7Wdmt/MXkk/5xitiyumjYLnHfB55/lXhYnB812fVYTMFFxpHottd8hu/TFdVbag6jBx9OvavOba+iyvzew//AF1u292rMUB79K8DE4S/Q+owuL/vHocV0kg3xgZ4696ZI4x8/HH61x63bISwOCen/wBarq3sxUO3XGceorx3hbM+ihiVy+ZqXTmNecZxmuankYsf7x61sfaElByccdT/APrrInTedwOSfSuijFLRmM3rczZpFwZCO9c9eopQTKc44B/xrZuY2QZfnnOO9Y0qtInONo7GvTw76pnj4yCs00cTdSsjEN9e3NYckjTKegx69xXTanDG7h1wD1A+lc3dRpkqvU5ya+koTTjtqfGYmjJT916HNXjMVwuck9+mKwriV0k3SN06YP4V115D5aiZm6DgVymoQlwMDLde3b/PtXqYarr5Hi5hhrp9yzaXRCiQDp68V01nqDhFcnBPr6CuCiZlG1OK07eWTCnJ9Cf8mniKXNcnBVXSh5nq9nq6rgdD7etd7pl95kY755968PtmePaWPUc12+m37xxqM4HX3/nXzWYYRPY+9yjHv7R7HaXCgAEZGe45rQJ5DDOO30rg7DVSzAM3156e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', + value: embed('0791ed56-9a2e-4d0d-8d2d-a2f8c3c268ee.jpg'), }, }, css: ".canvasPage h1, .canvasPage h2, .canvasPage h3, .canvasPage h4, .canvasPage h5 {\nfont-family: 'Futura';\ncolor: #444444;\n}\n\n.canvasPage h1 {\nfont-size: 112px;\nfont-weight: bold;\ncolor: #FFFFFF;\n}\n\n.canvasPage h2 {\nfont-size: 48px;\nfont-weight: bold;\n}\n\n.canvasPage h3 {\nfont-size: 30px;\nfont-weight: 300;\ntext-transform: uppercase;\ncolor: #FFFFFF;\n}\n\n.canvasPage h5 {\nfont-size: 24px;\nfont-style: italic;\n}", diff --git a/x-pack/plugins/canvas/shareable_runtime/webpack.config.js b/x-pack/plugins/canvas/shareable_runtime/webpack.config.js index 2e69f52bdf651..abe7113c26d1c 100644 --- a/x-pack/plugins/canvas/shareable_runtime/webpack.config.js +++ b/x-pack/plugins/canvas/shareable_runtime/webpack.config.js @@ -112,7 +112,7 @@ module.exports = { loader: 'postcss-loader', options: { postcssOptions: { - config: require.resolve('@kbn/optimizer/postcss.config.js'), + config: require.resolve('@kbn/optimizer/postcss.config'), }, }, }, diff --git a/x-pack/plugins/canvas/tsconfig.json b/x-pack/plugins/canvas/tsconfig.json index 32e1e6e6d5842..c0967e56e3315 100644 --- a/x-pack/plugins/canvas/tsconfig.json +++ b/x-pack/plugins/canvas/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "./target/types", - "emitDeclarationOnly": true, - "declaration": true, + "outDir": "target/types", // the plugin contains some heavy json files "resolveJsonModule": false, @@ -28,33 +26,59 @@ ], "kbn_references": [ { "path": "../../../src/setup_node_env/tsconfig.json" }, - { "path": "../../../src/core/tsconfig.json" }, - { "path": "../../../src/plugins/bfetch/tsconfig.json" }, - { "path": "../../../src/plugins/charts/tsconfig.json" }, - { "path": "../../../src/plugins/data/tsconfig.json" }, - { "path": "../../../src/plugins/share/tsconfig.json" }, - { "path": "../../../src/plugins/discover/tsconfig.json" }, - { "path": "../../../src/plugins/embeddable/tsconfig.json" }, - { "path": "../../../src/plugins/expressions/tsconfig.json" }, - { "path": "../../../src/plugins/expression_error/tsconfig.json" }, - { "path": "../../../src/plugins/expression_image/tsconfig.json" }, - { "path": "../../../src/plugins/expression_metric/tsconfig.json" }, - { "path": "../../../src/plugins/expression_repeat_image/tsconfig.json" }, - { "path": "../../../src/plugins/expression_reveal_image/tsconfig.json" }, - { "path": "../../../src/plugins/expression_shape/tsconfig.json" }, - { "path": "../../../src/plugins/home/tsconfig.json" }, - { "path": "../../../src/plugins/inspector/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, - { "path": "../../../src/plugins/kibana_utils/tsconfig.json" }, - { "path": "../../../src/plugins/presentation_util/tsconfig.json" }, - { "path": "../../../src/plugins/saved_objects/tsconfig.json" }, - { "path": "../../../src/plugins/ui_actions/tsconfig.json" }, - { "path": "../../../src/plugins/usage_collection/tsconfig.json" }, - { "path": "../../../src/plugins/visualizations/tsconfig.json" }, - { "path": "../features/tsconfig.json" }, - { "path": "../lens/tsconfig.json" }, - { "path": "../maps/tsconfig.json" }, - { "path": "../reporting/tsconfig.json" }, - { "path": "../spaces/tsconfig.json" }, + "@kbn/core", + "@kbn/bfetch-plugin", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/share-plugin", + "@kbn/discover-plugin", + "@kbn/embeddable-plugin", + "@kbn/expressions-plugin", + "@kbn/expression-error-plugin", + "@kbn/expression-image-plugin", + "@kbn/expression-metric-plugin", + "@kbn/expression-repeat-image-plugin", + "@kbn/expression-reveal-image-plugin", + "@kbn/expression-shape-plugin", + "@kbn/home-plugin", + "@kbn/inspector-plugin", + "@kbn/kibana-react-plugin", + "@kbn/kibana-utils-plugin", + "@kbn/presentation-util-plugin", + "@kbn/saved-objects-plugin", + "@kbn/ui-actions-plugin", + "@kbn/usage-collection-plugin", + "@kbn/visualizations-plugin", + "@kbn/features-plugin", + "@kbn/lens-plugin", + "@kbn/maps-plugin", + "@kbn/reporting-plugin", + "@kbn/spaces-plugin", + "@kbn/handlebars", + "@kbn/interpreter", + "@kbn/tinymath", + "@kbn/coloring", + "@kbn/es-query", + "@kbn/utility-types", + "@kbn/datemath", + "@kbn/field-formats-plugin", + "@kbn/monaco", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/data-views-plugin", + "@kbn/expect", + "@kbn/analytics", + "@kbn/safer-lodash-set", + "@kbn/config-schema", + "@kbn/tooling-log", + "@kbn/ci-stats-reporter", + "@kbn/optimizer-webpack-helpers", + "@kbn/storybook", + "@kbn/core-apps-server-internal", + "@kbn/ui-framework", + "@kbn/flot-charts", + ], + "exclude": [ + "target/**/*", ] } diff --git a/x-pack/plugins/cases/common/ui/types.ts b/x-pack/plugins/cases/common/ui/types.ts index dc8ccf55c9f5d..bc385b68aeeaf 100644 --- a/x-pack/plugins/cases/common/ui/types.ts +++ b/x-pack/plugins/cases/common/ui/types.ts @@ -127,8 +127,11 @@ export type SingleCaseMetricsFeature = | 'lifespan'; export enum SortFieldCase { - createdAt = 'createdAt', closedAt = 'closedAt', + createdAt = 'createdAt', + severity = 'severity', + status = 'status', + title = 'title', } export type ElasticUser = SnakeToCamelCase; diff --git a/x-pack/plugins/cases/public/common/translations.ts b/x-pack/plugins/cases/public/common/translations.ts index ead5a92bd6c7c..b7ef1d80f3afa 100644 --- a/x-pack/plugins/cases/public/common/translations.ts +++ b/x-pack/plugins/cases/public/common/translations.ts @@ -314,7 +314,7 @@ export const ADD_TAG_CUSTOM_OPTION_LABEL = (searchValue: string) => export const VERSION_CONFLICT_WARNING = (markdownId: string) => i18n.translate('xpack.cases.configure.commentVersionConflictWarning', { defaultMessage: - 'This {markdownId} was updated. Saving your changes will overwrite the updated value.', + 'This {markdownId} has been updated by another user. Saving your {markdownId} will overwrite their update.', values: { markdownId }, }); diff --git a/x-pack/plugins/cases/public/common/use_is_user_typing.test.tsx b/x-pack/plugins/cases/public/common/use_is_user_typing.test.tsx new file mode 100644 index 0000000000000..229ecc13bba0d --- /dev/null +++ b/x-pack/plugins/cases/public/common/use_is_user_typing.test.tsx @@ -0,0 +1,81 @@ +/* + * 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. + */ + +import { act, renderHook } from '@testing-library/react-hooks'; +import type { AppMockRenderer } from './mock'; +import { createAppMockRenderer } from './mock'; +import { useIsUserTyping } from './use_is_user_typing'; + +describe('useIsUserTyping', () => { + let appMockRender: AppMockRenderer; + + beforeEach(() => { + appMockRender = createAppMockRenderer(); + }); + + it('set isUserTyping=false on init', () => { + const { result } = renderHook(() => useIsUserTyping(), { + wrapper: appMockRender.AppWrapper, + }); + + expect(result.current.isUserTyping).toBe(false); + }); + + it('set isUserTyping to true with setIsUserTyping', () => { + const { result } = renderHook(() => useIsUserTyping(), { + wrapper: appMockRender.AppWrapper, + }); + + act(() => { + result.current.setIsUserTyping(true); + }); + + expect(result.current.isUserTyping).toBe(true); + }); + + it('set isUserTyping to true onContentChange', () => { + const { result } = renderHook(() => useIsUserTyping(), { + wrapper: appMockRender.AppWrapper, + }); + + act(() => { + result.current.onContentChange('a value'); + }); + + expect(result.current.isUserTyping).toBe(true); + }); + + it('does not set isUserTyping to true onContentChange when the value is empty', () => { + const { result } = renderHook(() => useIsUserTyping(), { + wrapper: appMockRender.AppWrapper, + }); + + act(() => { + result.current.onContentChange(''); + }); + + expect(result.current.isUserTyping).toBe(false); + }); + + it('set isUserTyping to false onDebounce', () => { + const { result } = renderHook(() => useIsUserTyping(), { + wrapper: appMockRender.AppWrapper, + }); + + act(() => { + result.current.setIsUserTyping(true); + }); + + expect(result.current.isUserTyping).toBe(true); + + act(() => { + result.current.onDebounce(); + }); + + expect(result.current.isUserTyping).toBe(false); + }); +}); diff --git a/x-pack/plugins/cases/public/common/use_is_user_typing.tsx b/x-pack/plugins/cases/public/common/use_is_user_typing.tsx new file mode 100644 index 0000000000000..fb0ca4c75d661 --- /dev/null +++ b/x-pack/plugins/cases/public/common/use_is_user_typing.tsx @@ -0,0 +1,25 @@ +/* + * 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. + */ + +import { isEmpty } from 'lodash'; +import { useState, useCallback } from 'react'; + +export const useIsUserTyping = () => { + const [isUserTyping, setIsUserTyping] = useState(false); + + const onDebounce = useCallback(() => setIsUserTyping(false), []); + + const onContentChange = useCallback((value: string) => { + if (!isEmpty(value)) { + setIsUserTyping(true); + } + }, []); + + return { isUserTyping, setIsUserTyping, onDebounce, onContentChange }; +}; + +export type UseIsUserTyping = ReturnType; diff --git a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx new file mode 100644 index 0000000000000..d6f65ff09b694 --- /dev/null +++ b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx @@ -0,0 +1,93 @@ +/* + * 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. + */ + +import React from 'react'; +import userEvent from '@testing-library/user-event'; +import type { AppMockRenderer } from '../../../common/mock'; +import { createAppMockRenderer } from '../../../common/mock'; +import { basicCase } from '../../../containers/mock'; +import { waitForComponentToUpdate } from '../../../common/test_utils'; +import { EditAssigneesFlyout } from './edit_assignees_flyout'; +import { waitFor } from '@testing-library/react'; + +jest.mock('../../../containers/user_profiles/api'); + +describe('EditAssigneesFlyout', () => { + let appMock: AppMockRenderer; + + /** + * Case one has the following assignees: coke, pepsi, one + * Case two has the following assignees: one, three + * All available assignees are: one, two, three, coke, pepsi + */ + const props = { + selectedCases: [basicCase], + onClose: jest.fn(), + onSaveAssignees: jest.fn(), + }; + + beforeEach(() => { + appMock = createAppMockRenderer(); + jest.clearAllMocks(); + }); + + it('renders correctly', async () => { + const result = appMock.render(); + + expect(result.getByTestId('cases-edit-assignees-flyout')).toBeInTheDocument(); + expect(result.getByTestId('cases-edit-assignees-flyout-title')).toBeInTheDocument(); + expect(result.getByTestId('cases-edit-assignees-flyout-cancel')).toBeInTheDocument(); + expect(result.getByTestId('cases-edit-assignees-flyout-submit')).toBeInTheDocument(); + + await waitForComponentToUpdate(); + }); + + it('calls onClose when pressing the cancel button', async () => { + const result = appMock.render(); + + userEvent.click(result.getByTestId('cases-edit-assignees-flyout-cancel')); + expect(props.onClose).toHaveBeenCalled(); + + await waitForComponentToUpdate(); + }); + + it('calls onSaveAssignees when pressing the save selection button', async () => { + const result = appMock.render(); + + await waitForComponentToUpdate(); + + await waitFor(() => { + expect(result.getByText('Damaged Raccoon')).toBeInTheDocument(); + }); + + userEvent.click(result.getByText('Damaged Raccoon')); + userEvent.click(result.getByTestId('cases-edit-assignees-flyout-submit')); + + expect(props.onSaveAssignees).toHaveBeenCalledWith({ + selectedItems: [], + unSelectedItems: ['u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0'], + }); + }); + + it('shows the case title when selecting one case', async () => { + const result = appMock.render(); + + expect(result.getByText(basicCase.title)).toBeInTheDocument(); + + await waitForComponentToUpdate(); + }); + + it('shows the number of total selected cases in the title when selecting multiple cases', async () => { + const result = appMock.render( + + ); + + expect(result.getByText('Selected cases: 2')).toBeInTheDocument(); + + await waitForComponentToUpdate(); + }); +}); diff --git a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.tsx b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.tsx new file mode 100644 index 0000000000000..42f4ef30ec594 --- /dev/null +++ b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.tsx @@ -0,0 +1,108 @@ +/* + * 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. + */ + +import React, { useCallback, useState } from 'react'; +import styled from 'styled-components'; +import { + EuiButton, + EuiButtonEmpty, + EuiFlexGroup, + EuiFlexItem, + EuiFlyout, + EuiFlyoutBody, + EuiFlyoutFooter, + EuiFlyoutHeader, + euiFullHeight, + EuiText, + EuiTitle, +} from '@elastic/eui'; + +import type { Case } from '../../../../common'; +import { EditAssigneesSelectable } from './edit_assignees_selectable'; +import * as i18n from './translations'; +import type { ItemsSelectionState } from '../types'; + +interface Props { + selectedCases: Case[]; + onClose: () => void; + onSaveAssignees: (args: ItemsSelectionState) => void; +} + +const FlyoutBody = styled(EuiFlyoutBody)` + ${euiFullHeight()} + + .euiFlyoutBody__overflowContent { + ${euiFullHeight()} + } +`; + +const EditAssigneesFlyoutComponent: React.FC = ({ + selectedCases, + onClose, + onSaveAssignees, +}) => { + const [assigneesSelection, setAssigneesSelection] = useState({ + selectedItems: [], + unSelectedItems: [], + }); + + const onSave = useCallback( + () => onSaveAssignees(assigneesSelection), + [onSaveAssignees, assigneesSelection] + ); + + const headerSubtitle = + selectedCases.length > 1 ? i18n.SELECTED_CASES(selectedCases.length) : selectedCases[0].title; + + return ( + + + +

{i18n.EDIT_ASSIGNEES}

+
+ +

{headerSubtitle}

+
+
+ + + + + + + + {i18n.CANCEL} + + + + + {i18n.SAVE_SELECTION} + + + + +
+ ); +}; + +EditAssigneesFlyoutComponent.displayName = 'EditAssigneesFlyout'; + +export const EditAssigneesFlyout = React.memo(EditAssigneesFlyoutComponent); diff --git a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.test.tsx b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.test.tsx new file mode 100644 index 0000000000000..60a19df11b04a --- /dev/null +++ b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.test.tsx @@ -0,0 +1,463 @@ +/* + * 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. + */ + +import React from 'react'; +import { act, waitFor } from '@testing-library/react'; +import type { AppMockRenderer } from '../../../common/mock'; +import { createAppMockRenderer } from '../../../common/mock'; +import { EditAssigneesSelectable } from './edit_assignees_selectable'; +import { basicCase } from '../../../containers/mock'; +import userEvent from '@testing-library/user-event'; +import { userProfiles, userProfilesMap } from '../../../containers/user_profiles/api.mock'; +import * as api from '../../../containers/user_profiles/api'; + +jest.mock('../../../containers/user_profiles/api'); + +describe('EditAssigneesSelectable', () => { + let appMock: AppMockRenderer; + + /** + * Case has the following tags: Damaged Raccoon + * All available tags are: Damaged Raccoon, Physical Dinosaur, Wet Dingo + */ + const props = { + selectedCases: [basicCase], + isLoading: false, + onChangeAssignees: jest.fn(), + }; + + /** + * Case one has the following assignees: Damaged Raccoon + * Case two has the following assignees: Damaged Raccoon, Physical Dinosaur + * All available assignees are: Damaged Raccoon, Physical Dinosaur, Wet Dingo, Silly Hare, Convenient Orca + */ + const propsMultipleCases = { + selectedCases: [ + basicCase, + { ...basicCase, assignees: [...basicCase.assignees, { uid: userProfiles[1].uid }] }, + ], + isLoading: false, + onChangeAssignees: jest.fn(), + }; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.clearAllTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(() => { + appMock = createAppMockRenderer(); + jest.clearAllMocks(); + }); + + it('renders correctly', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + expect(result.getByPlaceholderText('Find a user')).toBeInTheDocument(); + expect(result.getByText('Selected: 1')).toBeInTheDocument(); + + for (const userProfile of userProfiles) { + // @ts-ignore: full name exists + expect(result.getByText(userProfile.user.full_name)).toBeInTheDocument(); + } + }); + + it('renders the selected assignees label correctly', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + expect(result.getByText('Selected: 2')).toBeInTheDocument(); + + for (const userProfile of userProfilesMap.values()) { + // @ts-ignore: full name exists + expect(result.getByText(userProfile.user.full_name)).toBeInTheDocument(); + } + }); + + it('renders the assignees icons correctly', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + for (const [uid, icon] of [ + [userProfiles[0].uid, 'check'], + [userProfiles[1].uid, 'asterisk'], + [userProfiles[2].uid, 'empty'], + ]) { + const iconDataTestSubj = `cases-actions-assignees-edit-selectable-assignee-${uid}-icon-${icon}`; + expect(result.getByTestId(iconDataTestSubj)).toBeInTheDocument(); + } + }); + + it('selects and unselects correctly assignees with one case', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + for (const userProfile of userProfiles) { + // @ts-ignore: full name exists + userEvent.click(result.getByText(userProfile.user.full_name)); + } + + expect(props.onChangeAssignees).toBeCalledTimes(3); + expect(props.onChangeAssignees).nthCalledWith(3, { + selectedItems: [ + 'u_A_tM4n0wPkdiQ9smmd8o0Hr_h61XQfu8aRPh9GMoRoc_0', + 'u_9xDEQqUqoYCnFnPPLq5mIRHKL8gBTo_NiKgOnd5gGk0_0', + ], + unSelectedItems: ['u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0'], + }); + }); + + it('selects and unselects correctly assignees with multiple cases', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + for (const userProfile of userProfiles) { + // @ts-ignore: full name exists + userEvent.click(result.getByText(userProfile.user.full_name)); + } + + expect(propsMultipleCases.onChangeAssignees).toBeCalledTimes(3); + expect(propsMultipleCases.onChangeAssignees).nthCalledWith(3, { + selectedItems: [ + 'u_A_tM4n0wPkdiQ9smmd8o0Hr_h61XQfu8aRPh9GMoRoc_0', + 'u_9xDEQqUqoYCnFnPPLq5mIRHKL8gBTo_NiKgOnd5gGk0_0', + ], + unSelectedItems: ['u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0'], + }); + }); + + it('renders the icons correctly after selecting and deselecting assignees', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + for (const userProfile of userProfiles) { + // @ts-ignore: full name exists + userEvent.click(result.getByText(userProfile.user.full_name)); + } + + for (const [uid, icon] of [ + [userProfiles[0].uid, 'empty'], + [userProfiles[1].uid, 'check'], + [userProfiles[2].uid, 'check'], + ]) { + const iconDataTestSubj = `cases-actions-assignees-edit-selectable-assignee-${uid}-icon-${icon}`; + expect(result.getByTestId(iconDataTestSubj)).toBeInTheDocument(); + } + + expect(propsMultipleCases.onChangeAssignees).toBeCalledTimes(3); + expect(propsMultipleCases.onChangeAssignees).nthCalledWith(3, { + selectedItems: [ + 'u_A_tM4n0wPkdiQ9smmd8o0Hr_h61XQfu8aRPh9GMoRoc_0', + 'u_9xDEQqUqoYCnFnPPLq5mIRHKL8gBTo_NiKgOnd5gGk0_0', + ], + unSelectedItems: ['u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0'], + }); + }); + + it('sort users alphabetically correctly', async () => { + const spyOnBulkGetUserProfiles = jest.spyOn(api, 'bulkGetUserProfiles'); + const reversedUserProfiles = [...userProfiles].reverse(); + spyOnBulkGetUserProfiles.mockResolvedValueOnce(reversedUserProfiles); + + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + const allUsersInView = result.getAllByRole('option'); + expect(allUsersInView.length).toBe(3); + + expect(allUsersInView[0].textContent?.includes('Damaged Raccoon')).toBe(true); + expect(allUsersInView[1].textContent?.includes('Physical Dinosaur')).toBe(true); + expect(allUsersInView[2].textContent?.includes('Wet Dingo')).toBe(true); + }); + + it('search and sorts alphabetically', async () => { + // Silly Hare + const searchedUserDataTestSubj = + 'cases-actions-assignees-edit-selectable-assignee-u_IbBVXpDtrjOByJ-syBdr425fLGqwpzY_xdQqCFAFXLI_0'; + + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + userEvent.type(result.getByPlaceholderText('Find a user'), 's'); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + await waitFor(() => { + expect(result.getByTestId(searchedUserDataTestSubj)); + }); + + const searchResults = result.getAllByRole('option'); + + expect(searchResults.length).toBe(2); + expect(searchResults[0].textContent?.includes('Physical Dinosaur')).toBe(true); + expect(searchResults[1].textContent?.includes('Silly Hare')).toBe(true); + }); + + it('selecting and deselecting a searched user does not show it after the user cleared the search', async () => { + // Silly Hare + const searchedUserDataTestSubj = + 'cases-actions-assignees-edit-selectable-assignee-u_IbBVXpDtrjOByJ-syBdr425fLGqwpzY_xdQqCFAFXLI_0'; + + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + userEvent.type(result.getByPlaceholderText('Find a user'), 's'); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + await waitFor(() => { + expect(result.getByTestId(searchedUserDataTestSubj)); + }); + + // selects + userEvent.click(result.getByTestId(searchedUserDataTestSubj)); + // deselect + userEvent.click(result.getByTestId(searchedUserDataTestSubj)); + // clear search results + userEvent.click(result.getByTestId('clearSearchButton')); + + await waitFor(() => { + expect(result.getByText('Damaged Raccoon')); + }); + + expect(result.queryByTestId(searchedUserDataTestSubj)).not.toBeInTheDocument(); + }); + + it('does not show the same user in search results if it is already in the initial user profile mapping', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + userEvent.type(result.getByPlaceholderText('Find a user'), 's'); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + const searchResults = result.getAllByTestId( + // Physical Dinosaur + 'cases-actions-assignees-edit-selectable-assignee-u_A_tM4n0wPkdiQ9smmd8o0Hr_h61XQfu8aRPh9GMoRoc_0-icon-empty' + ); + + expect(searchResults.length).toBe(1); + }); + + it('selects a searched user correctly', async () => { + // Silly Hare + const searchedUserDataTestSubj = + 'cases-actions-assignees-edit-selectable-assignee-u_IbBVXpDtrjOByJ-syBdr425fLGqwpzY_xdQqCFAFXLI_0'; + + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + userEvent.type(result.getByPlaceholderText('Find a user'), 's'); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + await waitFor(() => { + expect(result.getByTestId(searchedUserDataTestSubj)); + }); + + userEvent.click(result.getByTestId(searchedUserDataTestSubj)); + expect(props.onChangeAssignees).toBeCalledWith({ + selectedItems: [ + 'u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0', + 'u_IbBVXpDtrjOByJ-syBdr425fLGqwpzY_xdQqCFAFXLI_0', + ], + unSelectedItems: [], + }); + }); + + it('shows deselected users from the initial user profile mapping', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + // @ts-ignore: full name exists + userEvent.click(result.getByText(userProfiles[0].user.full_name)); + + // @ts-ignore: full name exists + expect(result.getByText(userProfiles[0].user.full_name)).toBeInTheDocument(); + // ensures that the icon is set to empty + expect( + result.getByTestId( + 'cases-actions-assignees-edit-selectable-assignee-u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0-icon-empty' + ) + ).toBeInTheDocument(); + + expect(props.onChangeAssignees).toBeCalledWith({ + selectedItems: [], + unSelectedItems: ['u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0'], + }); + }); + + it('does not shows initial empty search results on the list of users', async () => { + // Silly Hare + const searchedUserDataTestSubj = + 'cases-actions-assignees-edit-selectable-assignee-u_IbBVXpDtrjOByJ-syBdr425fLGqwpzY_xdQqCFAFXLI_0'; + + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + await waitFor(() => { + expect(result.getByText('Damaged Raccoon')); + }); + + expect(result.queryByTestId(searchedUserDataTestSubj)).not.toBeInTheDocument(); + }); + + it('shows the no matching component', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + userEvent.type(result.getByPlaceholderText('Find a user'), 'not-exists'); + + act(() => { + jest.advanceTimersByTime(1000); + }); + + await waitFor(() => { + expect( + result.getAllByTestId('case-user-profiles-assignees-popover-no-matches')[0] + ).toBeInTheDocument(); + }); + }); + + it('shows unknown users', async () => { + const selectedCases = [{ ...basicCase, assignees: [{ uid: '123' }, { uid: '456' }] }]; + const result = appMock.render( + + ); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + await waitFor(() => { + const unknownUsers = result.getAllByText('Unknown'); + expect(unknownUsers.length).toBe(2); + }); + }); + + it('selects unknown users', async () => { + const selectedCases = [{ ...basicCase, assignees: [{ uid: '123' }] }, basicCase]; + const result = appMock.render( + + ); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + await waitFor(() => { + expect(result.getByText('Unknown')).toBeInTheDocument(); + }); + + userEvent.click(result.getByText('Unknown')); + + expect(props.onChangeAssignees).toBeCalledWith({ + selectedItems: ['123'], + unSelectedItems: [], + }); + }); + + it('deselects unknown users', async () => { + const selectedCases = [{ ...basicCase, assignees: [{ uid: '123' }] }]; + const result = appMock.render( + + ); + + await waitFor(() => { + expect(result.getByText('Unknown')).toBeInTheDocument(); + }); + + userEvent.click(result.getByText('Unknown')); + + expect(props.onChangeAssignees).toBeCalledWith({ + selectedItems: [], + unSelectedItems: ['123'], + }); + }); + + it('remove all assignees', async () => { + const result = appMock.render(); + + await waitFor(() => { + expect(result.getByTestId('cases-actions-assignees-edit-selectable')).toBeInTheDocument(); + }); + + expect(result.getByRole('button', { name: 'Remove all assignees' })).toBeInTheDocument(); + userEvent.click(result.getByRole('button', { name: 'Remove all assignees' })); + + expect(propsMultipleCases.onChangeAssignees).toBeCalledTimes(1); + expect(propsMultipleCases.onChangeAssignees).toBeCalledWith({ + selectedItems: [], + unSelectedItems: [ + 'u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0', + 'u_A_tM4n0wPkdiQ9smmd8o0Hr_h61XQfu8aRPh9GMoRoc_0', + ], + }); + }); +}); diff --git a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.tsx b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.tsx new file mode 100644 index 0000000000000..afcbbd4e165f5 --- /dev/null +++ b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_selectable.tsx @@ -0,0 +1,352 @@ +/* + * 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. + */ + +import React, { useCallback, useMemo, useState, useRef } from 'react'; +import { isEmpty, sortBy } from 'lodash'; +import { + EuiSelectable, + EuiFlexGroup, + EuiFlexItem, + EuiHorizontalRule, + EuiTextColor, + EuiHighlight, + EuiIcon, + EuiSpacer, + EuiText, + useEuiTheme, + EuiButtonEmpty, + EuiLoadingSpinner, +} from '@elastic/eui'; + +import type { UserProfileWithAvatar } from '@kbn/user-profile-components'; +import { getUserDisplayName } from '@kbn/user-profile-components'; +import { useBulkGetUserProfiles } from '../../../containers/user_profiles/use_bulk_get_user_profiles'; +import { useIsUserTyping } from '../../../common/use_is_user_typing'; +import { useSuggestUserProfiles } from '../../../containers/user_profiles/use_suggest_user_profiles'; +import type { Case } from '../../../../common'; +import * as i18n from './translations'; +import { useItemsState } from '../use_items_state'; +import type { ItemSelectableOption, ItemsSelectionState } from '../types'; +import { useCasesContext } from '../../cases_context/use_cases_context'; +import { EmptyMessage } from '../../user_profiles/empty_message'; +import { NoMatches } from '../../user_profiles/no_matches'; +import { SmallUserAvatar } from '../../user_profiles/small_user_avatar'; +import { NoSelectedAssignees } from './no_selected_assignees'; + +interface Props { + selectedCases: Case[]; + onChangeAssignees: (args: ItemsSelectionState) => void; +} + +type AssigneeSelectableOption = ItemSelectableOption< + Partial & { unknownUser?: boolean } +>; + +const getUnknownUsers = ( + assignees: Set, + userProfiles?: Map +) => { + const unknownUsers: string[] = []; + + if (!userProfiles) { + return unknownUsers; + } + + for (const assignee of assignees) { + if (!userProfiles.has(assignee)) { + unknownUsers.push(assignee); + } + } + + return unknownUsers; +}; + +const EditAssigneesSelectableComponent: React.FC = ({ + selectedCases, + onChangeAssignees, +}) => { + const { owner: owners } = useCasesContext(); + const { euiTheme } = useEuiTheme(); + const { isUserTyping, onContentChange, onDebounce } = useIsUserTyping(); + const hasDataBeenSetToStateAfterFetched = useRef(false); + + const assignees = useMemo( + () => new Set(selectedCases.map((theCase) => theCase.assignees.map(({ uid }) => uid)).flat()), + [selectedCases] + ); + + const { data, isLoading: isLoadingUserProfiles } = useBulkGetUserProfiles({ + uids: Array.from(assignees.values()), + }); + + const userProfiles = useMemo(() => data ?? new Map(), [data]); + + const unknownUsers = getUnknownUsers(assignees, userProfiles); + + const userProfileIds = [...userProfiles.keys(), ...unknownUsers]; + + const [searchValue, setSearchValue] = useState(''); + const { data: searchResultUserProfiles, isLoading: isLoadingSuggest } = useSuggestUserProfiles({ + name: searchValue, + owners, + onDebounce, + }); + + const itemToSelectableOption = useCallback( + (item: { key: string; data: Record }): AssigneeSelectableOption => { + const userProfileFromData = item.data as unknown as Partial; + const userProfile = isEmpty(userProfileFromData) + ? userProfiles.get(item.key) + : userProfileFromData; + + if (isUserProfile(userProfile)) { + return toSelectableOption(userProfile); + } + + const profileInSuggestedUsers = searchResultUserProfiles?.find( + (profile) => profile.uid === item.data.uid + ); + + if (profileInSuggestedUsers) { + return toSelectableOption(profileInSuggestedUsers); + } + + return { + key: item.key, + label: i18n.UNKNOWN, + data: { unknownUser: true }, + 'data-test-subj': `cases-actions-assignees-edit-selectable-assignee-${item.key}`, + } as unknown as AssigneeSelectableOption; + }, + [searchResultUserProfiles, userProfiles] + ); + + const { options, totalSelectedItems, onChange, onSelectNone, resetItems } = useItemsState({ + items: userProfileIds, + selectedCases, + fieldSelector: (theCase) => theCase.assignees.map(({ uid }) => uid), + onChangeItems: onChangeAssignees, + itemToSelectableOption, + }); + + if (data && !hasDataBeenSetToStateAfterFetched.current) { + hasDataBeenSetToStateAfterFetched.current = true; + resetItems(userProfileIds); + } + + const finalOptions = getDisplayOptions({ + searchResultUserProfiles: searchResultUserProfiles ?? [], + options, + searchValue, + initialUserProfiles: userProfiles, + }); + + const isLoadingData = isLoadingUserProfiles || isLoadingSuggest || isUserTyping; + + const renderOption = useCallback( + (option: AssigneeSelectableOption, search: string) => { + const icon = option.itemIcon ?? 'empty'; + const dataTestSubj = `cases-actions-assignees-edit-selectable-assignee-${option.key}-icon-${icon}`; + const userInfo = option.user ? { user: option.user, data: option.data } : undefined; + + return ( + + + + + + + + + + + + + + {option.label} + + {option.user?.email && option.user?.email !== option.label ? ( + + + {searchValue ? ( + {option.user.email} + ) : ( + option.user.email + )} + + + ) : undefined} + + + ); + }, + [searchValue] + ); + + const onSearchChange = useCallback( + (value) => { + setSearchValue(value); + onContentChange(value); + }, + [onContentChange] + ); + + if (isLoadingUserProfiles) { + return ; + } + + return ( + : } + emptyMessage={} + data-test-subj="cases-actions-assignees-edit-selectable" + height="full" + > + {(list, search) => { + return ( + <> + {search} + + + + + {i18n.SELECTED_ASSIGNEES(totalSelectedItems)} + + + + + + + {i18n.REMOVE_ASSIGNEES} + + + + + + + {list} + + ); + }} + + ); +}; + +EditAssigneesSelectableComponent.displayName = 'EditAssigneesSelectable'; + +export const EditAssigneesSelectable = React.memo(EditAssigneesSelectableComponent); + +const getDisplayOptions = ({ + searchResultUserProfiles, + options, + searchValue, + initialUserProfiles, +}: { + searchResultUserProfiles: UserProfileWithAvatar[]; + options: AssigneeSelectableOption[]; + searchValue: string; + initialUserProfiles: Map; +}) => { + /** + * If the user does not perform any search we do not want to show + * the results of an empty search to the initial list of users. + * We also filter out users that appears both in the initial list + * and the search results + */ + const searchResultsOptions = isEmpty(searchValue) + ? [] + : searchResultUserProfiles + ?.filter((profile) => !options.find((option) => isMatchingOption(option, profile))) + ?.map((profile) => toSelectableOption(profile)) ?? []; + /** + * In the initial view, when the user does not perform any search, + * we want to filter out options that are not in the initial user profile + * mapping or profiles returned by the search result that are not selected. + * We want to keep unknown users as they can only be available from the + * selected cases and not from search results + */ + const filteredOptions = isEmpty(searchValue) + ? options.filter( + (option) => + initialUserProfiles.has(option?.data?.uid) || + option?.data?.itemIcon !== 'empty' || + option.data?.unknownUser + ) + : [...options]; + + const finalOptions = sortOptionsAlphabetically([...searchResultsOptions, ...filteredOptions]); + + return finalOptions; +}; + +const sortOptionsAlphabetically = (options: AssigneeSelectableOption[]) => + /** + * sortBy will not mutate the original array. + * It will return a new sorted array + * */ + sortBy(options, (option) => option.label); + +const toSelectableOption = (userProfile: UserProfileWithAvatar): AssigneeSelectableOption => { + return { + key: userProfile.uid, + label: getUserDisplayName(userProfile.user), + data: userProfile, + 'data-test-subj': `cases-actions-assignees-edit-selectable-assignee-${userProfile.uid}`, + } as unknown as AssigneeSelectableOption; +}; + +const isMatchingOption =